|
Open PaperOpt
|
00001 // SurfaceTNInk.h: interface for the SurfaceTNInk class. 00002 // 00004 00005 #if !defined(AFX_SurfaceTNInk_H__7C7A0B54_6FBD_4B55_A8F1_E8DAB00D1886__INCLUDED_) 00006 #define AFX_SurfaceTNInk_H__7C7A0B54_6FBD_4B55_A8F1_E8DAB00D1886__INCLUDED_ 00007 #if _MSC_VER > 1000 00008 #pragma once 00009 #endif // _MSC_VER > 1000 00010 00011 #include "SurfaceTN.h" 00012 #include "Halftone.h" 00013 00014 class SurfaceTNInk : public Surface { 00015 00016 public: 00017 00018 /******************************************************************************* 00019 * CONSTRUCTOR 00020 * 00021 * A simple constructor where no normal mapping is used, i.e. like a Surface 00022 * (not SurfaceTN) with halftone screens on top of it. 00023 *@param _zoffset Indicates actualy where is surface actualy exists 00024 *@param _xmax Size of normal 00025 *@param _ymax Size of normal 00026 *@param _rmsmin Replacement of normals file 00027 *@param _rmsmax Represents how many normals can be calculated 00028 *@param _interpolate Resolution of generated surface normal map. 00029 *@param half Ink Halftone screen 00030 *@param nrHalfTones Number of half tones 00031 *@param lambdasim Wavelength of simulation 00032 *@param _el Instance of StructureObject class is used to appraoch next surface layer untill 00033 last one 00034 *******************************************************************************/ 00035 SurfaceTNInk(float _zoffset, float _xmax, float _ymax, 00036 float _rmsmin, float _rmsmax, 00037 Halftone *half,int nrHalfTones, StructureObject* _el, std::vector<float> lambdasim); 00038 00039 virtual ~SurfaceTNInk(); 00040 00041 /*Calculate surface interaction and check halftone layers 00042 /* 00043 *@param wp Wave Packet's object to calculate ditance of interception and call many fuctions of wave packet. 00044 *@param up_down Checks if wave packet is travelling in upward. 00045 00046 00047 */ 00048 int Process(WavePacket& wp, int updown, int internal) const; 00049 00050 00051 private: 00052 00053 int halftone_nbr; // the number of halftones in that file 00054 Halftone* halftones; // The array of Halftone-objects 00055 }; 00056 00057 #endif // !defined(AFX_SurfaceTNInk_H__7C7A0B54_6FBD_4B55_A8F1_E8DAB00D1886__INCLUDED_)