DATAKIT SDK  V2026.2
dtk_render.hpp
Go to the documentation of this file.
1 #ifndef __UTIL_DTK_RENDER_HPP__
2 #define __UTIL_DTK_RENDER_HPP__
3 #include "def/define.h"
8 #include "util/dtk_picture.hpp"
9 #include "util/error_dtk.hpp"
10 #include "util/util_ptr_dtk.hpp"
11 #include "util/util_stl_dtk.hpp"
12 
13 class Dtk_TextureInfos ;
14 class Dtk_LightMap ;
15 class Dtk_RenderInfos ;
16 
20 
21 
22 /////////////////////////////////////////////////////////////////////////////
23 //! \ingroup DtkAPIGroup
24 //! \class Dtk_RenderInfos
25 //! \brief This is the Dtk_RenderInfos Class.\n
26 //! The Dtk_RenderInfosPtr object is used to store any informations about rendering
27 //! It contains lighting information and texture information.\n
28 //! \SmartPtr{Dtk_RenderInfosPtr}
29 
30 
31 
32 
34 {
35 public:
37  {
48  BuildingMapping = 10
49  };
50 
51 protected:
53  struct Dtk_Handle;
54  Dtk_Handle *_Private;
55 
56  //! \CopyConstructor{inToBeCopied}
57  Dtk_TextureInfos(const Dtk_TextureInfos& inToBeCopied);
58 
59  //! \sa CreateMetaData
60  //! \sa CreateParameterMetaData
62 
63  //! \BaseDestructor
64  virtual ~Dtk_TextureInfos();
65  friend class Dtk_SmartPtr<Dtk_TextureInfos>;
66 
67  void _Init();
68  void _Copy(const Dtk_TextureInfos& inToBeCopied);
69  void _Reset();
70  inline virtual Dtk_Object* Clone() { return new Dtk_TextureInfos(*this); }
71 
72 
73 
74 
75 public:
76  //! \brief Create a Dtk_TextureInfosPtr.
77  //! \param inType : Mapping type:
78  //! Mapping type can be :
79  //! - StoredUVMapping : Using Dtk_Mesh UV texture coordinates,
80  //! - PlanarMapping / CylinderMapping / SphericalMapping / CubicalMapping : Applying standard mapping
81  //! Coordinate (0, 0) represents top left corner of image.
82  //! \return the constructed Dtk_TextureInfosPtr.
84 
85  //! \DtkDynamicType
86  inline Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
87  {
88  if (inId == _typeID) return 1;
89  return Dtk_Object::DtkDynamicType(inId);
90  }
91 
92  //! \DtkDynamicCast
94  {
95  if (s->DtkDynamicType(_typeID)) return static_cast<Dtk_TextureInfos*>(s);
96  return NULL;
97  }
98 
99  //! \brief Returns U scale factor
101 
102  //! \brief Returns V scale factor
104 
105  //! \brief Returns U offset
107 
108  //! \brief Returns V offset
110 
111  //! \brief Returns image size
113 
114  //! \brief Returns rotate angle
116 
117  //! \brief Returns if U flipped
119 
120  //! \brief Returns if V flipped
122 
123  //! \brief Returns if texture is U repeat
125 
126  //! \brief Returns if texture is V repeat
128 
129  //! \brief Return image path
131 
132  //! \brief Returns Dtk_picture
134 
135  //! \brief Returns mapping type
137 
138  //! \brief Returns texture transfo
140 
141  //! \brief Sets image U and V scale
142  void SetScale(Dtk_Double64 inUScale,Dtk_Double64 inVScale);
143 
144  //! \brief Sets image U and V offset
145  void SetOffset(Dtk_Double64 inUOffset,Dtk_Double64 inVOffset);
146 
147  //! \brief Sets image U and V flip
148  void SetFlipFlag(Dtk_bool inUFlip,Dtk_bool inVFlip);
149 
150  //! \brief Sets image U and V flip
151  void SetRepeat(Dtk_bool inURepeat, Dtk_bool inVRepeat);
152 
153  //! \brief Sets image size
155 
156  //! \brief Sets image rotate angle
158 
159  //! \brief Sets image file path
160  void SetImagePath(Dtk_string inImagePath);
161 
162  //! \brief Sets Dtk_picture
163  void SetTextureImage(Dtk_picture *inImage);
164 
165  //! \brief Sets image transfo
167 };
168 /////////////////////////////////////////////////////////////////////////////
169 
170 
171 class Dtk_LightMap : public Dtk_Object
172 {
173 protected:
174  enum { _typeID = DTK_TYPE_LIGHT };
175  struct Dtk_Handle;
176  Dtk_Handle *_Private;
177 
178  //! \CopyConstructor{inToBeCopied}
179  Dtk_LightMap(const Dtk_LightMap& inToBeCopied);
180 
181  //! \sa Create Dtk_LightMap
183 
184  Dtk_LightMap(Dtk_RGB inAmbient,Dtk_RGB inDiffuse, Dtk_RGB inSpecular);
185 
186  //! \BaseDestructor
187  virtual ~Dtk_LightMap();
188  friend class Dtk_SmartPtr<Dtk_LightMap>;
189 
190  void _Init();
191  void _Copy(const Dtk_LightMap& inToBeCopied);
192  void _Reset();
193  inline virtual Dtk_Object* Clone() { return new Dtk_LightMap(*this); }
194 
195 
196 public:
197  //! \brief Create a Dtk_LightMapPtr.
198  //! \param Ambient RGB color
199  //! \param Diffuse RGB color
200  //! \param Specular RGB color
201  //! \return the constructed Dtk_LightMapPtr.
202  static Dtk_LightMapPtr Create(Dtk_RGB inAmbiant,Dtk_RGB inDiffuse, Dtk_RGB inSpecular);
203 
204 
205  //! \DtkDynamicType
206  inline Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
207  {
208  if (inId == _typeID) return 1;
209  return Dtk_Object::DtkDynamicType(inId);
210  }
211 
212  //! \DtkDynamicCast
214  {
215  if (s->DtkDynamicType(_typeID)) return static_cast<Dtk_LightMap*>(s);
216  return NULL;
217  }
218 
219  //! \brief Returns the ambient light emitted from the surface
221 
222  //! \brief Returns the ambient ratio
223  //! \remark : Default ratio is 1.0
225 
226  //! \brief Returns the ambient light diffusely reflected from the surface of this object
228 
229  //! \brief Returns the diffuse ratio
230  //! \remark : Default ratio is 1.0
232 
233  //! \brief Returns the ambient light specularly reflected from the surface of this object
235 
236  //! \brief Returns the specular ratio
237  //! \remark : Default ratio is 1.0
239 
240 
241  //! \brief Returns the color and amount of a perfect mirror reflection
243 
244  //! \brief Returns the reflective ratio
245  //! \remark : Default ratio is 1.0
247 
248  //! \brief Returns the color and amount of perfectly refracted light
250 
251  //! \brief Returns the transparent ratio
252  //! \remark : Default ratio is 0.0
254 
255  //! \brief Returns the color and amount of light emitted from the surface of this object
257 
258  //! \brief Returns the emissive ratio
259  //! \remark : Default ratio is 1.0
261 
262  //! \brief Returns the Shininess ratio
264 
265  //! \brief Set the Shininess ratio (0.0 - 1.0)
266  void SetShininessRatio(Dtk_Double64 inShininess);
267 
268  //! \brief Adds the color and amount of a perfect mirror reflection
269  void AddReflectiveColor(const Dtk_RGB &inColor);
270 
271  //! \brief Adds the color and amount of perfectly refracted light
272  void AddTransparentColor(const Dtk_RGB &inColor);
273 
274  //! \brief Sets the ratio of transparency (0.0 : opaque, 1.0 : transparent)
276 
277  //! \brief Adds the light emitted from the surface of this object
278  void AddEmissiveColor(const Dtk_RGB &inColor);
279 
280 };
281 /////////////////////////////////////////////////////////////////////////////
282 
283 
284 
286 {
287 public:
289  {
290  Unknown = 0,
291  Default = 1,
303  CarPaint = 13,
305  Diffuse = 15
306  };
307 protected:
309  struct Dtk_Handle;
310  Dtk_Handle *_Private;
311 
312  //! \CopyConstructor{inToBeCopied}
313  Dtk_RenderInfos(const Dtk_RenderInfos& inToBeCopied);
314 
315  //! \sa CreateDtk_LightMap
316  Dtk_RenderInfos(const Dtk_string &inName,const Dtk_LightMapPtr &inLigths,const Dtk_TextureInfosPtr &inTexture);
317 
318  //! \BaseDestructor
319  virtual ~Dtk_RenderInfos();
320  friend class Dtk_SmartPtr<Dtk_RenderInfos>;
321 
322  void _Init();
323  void _Copy(const Dtk_RenderInfos& inToBeCopied);
324  void _Reset();
325  inline virtual Dtk_Object* Clone() { return new Dtk_RenderInfos(*this); }
326 
327 
328 public:
329  //! \brief Creates a Dtk_RenderInfosPtr.
330  //! \param[in] inName name.
331  //! \return the constructed Dtk_RenderInfosPtr.
332  static Dtk_RenderInfosPtr Create(const Dtk_string &inName);
333 
334  //! \brief Creates a Dtk_RenderInfosPtr.
335  //! \param[in] inName name.
336  //! \param[in] inLights light map.
337  //! \param[in] inTexture texture.
338  //! \return the constructed Dtk_RenderInfosPtr.
339  static Dtk_RenderInfosPtr Create(const Dtk_string &inName,const Dtk_LightMapPtr &inLights,const Dtk_TextureInfosPtr &inTexture);
340 
341 
342  //! \DtkDynamicType
343  inline Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
344  {
345  if (inId == _typeID) return 1;
346  return Dtk_Object::DtkDynamicType(inId);
347  }
348 
349  //! \DtkDynamicCast
351  {
352  if (s->DtkDynamicType(_typeID)) return static_cast<Dtk_RenderInfos*>(s);
353  return NULL;
354  }
355 
356  //! \brief Returns the texture name.
357  Dtk_string GetName() const;
358 
359  //! \brief Returns shader type.
361 
362  //! \brief Sets the render name.
363  void SetName(const Dtk_string& inName);
364 
365  //! \brief Sets the render light map.
366  void SetLightMap(const Dtk_LightMapPtr &inLights);
367 
368  //! \brief Sets the render texture information.
369  void SetTexture(const Dtk_TextureInfosPtr &inTexture);
370 
371  //! \brief Returns the render light map.
373 
374  //! \brief Returns the render texture.
376 
377  //! \brief Sets the render file path.
378  void SetRenderFilePath(const Dtk_string& inFilePath);
379 
380  //! \brief Returns the render file path.
382 
383  //! \brief Adds the shader type.
384  void AddShaderType( const RenderMappingShaderTypeEnum & inShaderType );
385 
386 };
387 
388 
390 {
391 public:
392 
394  {
398  Orthotrope = 3
399  };
400 
401 protected:
403  struct Dtk_Handle;
404  Dtk_Handle *_Private;
405 
406  //! \Copy Constructor{inToBeCopied}
408 
409  //! \sa Create Dtk_PhysicalMaterialInfos
411 
412  //! \BaseDestructor
415 
416  inline virtual Dtk_Object* Clone() { return new Dtk_PhysicalMaterialInfos(*this); }
417 
418 public:
419 
420  //! \brief Creates a Dtk_MaterialInfosPtr.
421  //! \param[in] inName the desired name for the material.
422  //! \param[in] inType the desired type for the material.
423  //! \return the constructed Dtk_MaterialInfosPtr.
425 
426  //! \CreateCopy{in}
428 
429 
430  //! \DtkDynamicType
431  inline Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
432  {
433  if (inId == _typeID) return 1;
434  return Dtk_Object::DtkDynamicType(inId);
435  }
436 
437  //! \DtkDynamicCast
439  {
440  if (s->DtkDynamicType(_typeID)) return static_cast<Dtk_PhysicalMaterialInfos*>(s);
441  return NULL;
442  }
443 
444  //! \brief Returns the material name.
445  //! \return the material name as a Dtk_string.
447 
448  //! \brief Sets the material name.
449  //! \param[in] inName : the desired name.
450  //! \return dtkNoError.
452 
453  //! \brief Returns the material type as a Dtk_string.
454  //! \return the material type as a Dtk_string.
456 
457  //! \brief Returns the material type.
458  //! \return the material type.
460 
461  //! \brief Sets the material type
462  //! \param[in] inType : the desired type.
463  //! \return dtkNoError.
465 
466  //! \brief Returns the material density
467  //! \param[out] outValue : the density value.
468  //! \param[out] outUnits : the density unit as a Dtk_string.
469  //! \return dtkErrorNotProcessed if not applicable, dtkNoError if value is correctly returned.
470  Dtk_ErrorStatus GetDensity(Dtk_Double64 &outValue, Dtk_string &outUnits) const;
471 
472  //! \brief Sets the material density.
473  //! \param[in] inValue : the desired density value.
474  //! \param[in] inUnits : the desired density unit as a Dtk_string.
475  //! \return dtkNoError.
477 
478  //! \brief Returns the material thermal expansion.
479  //! \param[out] outValue : the thermal expansion value.
480  //! \param[out] outUnits : the thermal expansion unit as a Dtk_string.
481  //! \return dtkErrorNotProcessed if not applicable, dtkNoError if value is correctly returned.
483 
484  //! \brief Sets the material thermal expansion.
485  //! \param[in] inValue : the desired thermal expansion value.
486  //! \param[in] inUnits : the desired thermal expansion unit as a Dtk_string.
487  //! \return dtkNoError.
489 
490  //! \brief Returns the material thermal conductivity.
491  //! \param[out] outValue : the thermal conductivity value.
492  //! \param[out] outUnits : the thermal conductivity unit as a Dtk_string.
493  //! \return dtkErrorNotProcessed if not applicable, dtkNoError if value is correctly returned.
495 
496  //! \brief Sets the material thermal conductivity.
497  //! \param[in] inValue : the desired thermal conductivity value.
498  //! \param[in] inUnits : the desired thermal conductivity unit as a Dtk_string.
499  //! \return dtkNoError.
501 
502 
503  //! \brief Returns the material yield strength.
504  //! \param[out] outValue : the yield strength value.
505  //! \param[out] outUnits : the yield strength unit as a Dtk_string.
506  //! \return dtkErrorNotProcessed if not applicable, dtkNoError if value is correctly returned.
508 
509  //! \brief Sets the material yield strength.
510  //! \param[in] inValue : the desired yield strength value.
511  //! \param[in] inUnits : the desired yield strength unit as a Dtk_string.
512  //! \return dtkNoError.
514 
515  //! \brief Returns the material specific heat.
516  //! \param[out] outValue : the specific heat value.
517  //! \param[out] outUnits : the specific heat unit as a Dtk_string.
518  //! \return dtkErrorNotProcessed if not applicable, dtkNoError if value is correctly returned.
520 
521  //! \brief Sets the material specific heat.
522  //! \param[in] inValue : the desired specific heat value.
523  //! \param[in] inUnits : the desired specific heat unit as a Dtk_string.
524  //! \return dtkNoError.
526 
527  //! \brief Returns the material tensile strength.
528  //! \param[out] outValue : the tensile strength value.
529  //! \param[out] outUnits : the tensile strength unit as a Dtk_string.
530  //! \return dtkErrorNotProcessed if not applicable, dtkNoError if value is correctly returned.
532 
533  //! \brief Sets the material tensile strength.
534  //! \param[in] inValue : the desired specific heat value.
535  //! \param[in] inUnits : the desired specific heat unit as a Dtk_string.
536  //! \return dtkNoError.
538 
539 
540  //! \brief Returns the material young modulus.
541  //! \param[out] outYoungModulus : the young modulus values.
542  //! \param[out] outUnits : the tensile strength unit as a Dtk_string.
543  //! \return dtkErrorNotProcessed if not applicable, dtkNoError if value is correctly returned.
544  Dtk_ErrorStatus GetYoungModulus(Dtk_Double64 outYoungModulus[3], Dtk_string &outUnits ) const;
545 
546  //! \brief Sets the material young modulus.
547  //! \param[in] inYoungModulus : the desired young modulus values.
548  //! \param[in] inUnits : the desired young modulus unit as a Dtk_string.
549  //! \return dtkNoError.
551 
552  //! \brief Returns the material shear modulus
553  //! \param[out] outShearModulus : the shear modulus values.
554  //! \param[out] outUnits : the shear modulus unit as a Dtk_string.
555  //! \return dtkErrorNotProcessed if not applicable, dtkNoError if value is correctly returned.
556  Dtk_ErrorStatus GetShearModulus(Dtk_Double64 outShearModulus[3], Dtk_string &outUnits) const;
557 
558  //! \brief Sets the material shear modulus.
559  //! \param[in] inShearModulus : the desired shear modulus values.
560  //! \param[in] inUnits : the desired shear modulus unit as a Dtk_string.
561  //! \return dtkNoError.
563 
564  //! \brief Returns the material poisson ratio.
565  //! \param[out] outShearModulus : the poisson ratio values.
566  //! \return dtkErrorNotProcessed if not applicable, dtkNoError if value is correctly returned.
567  Dtk_ErrorStatus GetPoissonRatio(Dtk_Double64 outPoissonRatio[3]) const;
568 
569  //! \brief Sets the material poisson ratio.
570  //! \param[in] inPoissonRatio : the desired poisson ratio values.
571  //! \return dtkNoError.
573 
574  //! \brief Returns the material hardening ratio.
575  //! \param[out] ouHardeningRatio : the hardening ratio values.
576  //! \return dtkErrorNotProcessed if not applicable, dtkNoError if value is correctly returned.
577  Dtk_ErrorStatus GetHardeningRatio(Dtk_Double64 ouHardeningRatio[3]) const;
578 
579  //! \brief Sets the material hardening ratio.
580  //! \param[in] inHardeningRatio : the desired hardening ratio values.
581  //! \return dtkNoError.
583 
584  //! \brief Sets the material custom data.
585  //! \param[in] inCustomData : the custom data as Dtk_tab<Dtk_MetaDataPtr>.
586  //! \return dtkNoError.
588 
589  //! \brief Returns the material custom data.
590  //! \return the custom data as Dtk_tab<Dtk_MetaDataPtr>.
592 
593 };
594 
595 
596 #endif
Dtk_RenderInfos::SetLightMap
void SetLightMap(const Dtk_LightMapPtr &inLights)
Sets the render light map.
Dtk_RenderInfos::CarPaint
@ CarPaint
Definition: dtk_render.hpp:303
Dtk_PhysicalMaterialInfos::GetDensity
Dtk_ErrorStatus GetDensity(Dtk_Double64 &outValue, Dtk_string &outUnits) const
Returns the material density.
Dtk_PhysicalMaterialInfos::SetCustomData
Dtk_ErrorStatus SetCustomData(Dtk_tab< Dtk_MetaDataPtr > inCustomData)
Sets the material custom data.
Dtk_PhysicalMaterialInfos::DtkDynamicCast
static Dtk_PhysicalMaterialInfos * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Definition: dtk_render.hpp:438
Dtk_TextureInfos::TextureMappingTypeEnum
TextureMappingTypeEnum
Definition: dtk_render.hpp:37
Dtk_RenderInfos::Diffuse
@ Diffuse
Definition: dtk_render.hpp:305
Dtk_LightMap::Dtk_LightMap
Dtk_LightMap()
Dtk_RenderInfos::GetLightMap
Dtk_LightMapPtr GetLightMap() const
Returns the render light map.
Dtk_RenderInfos::Translucent
@ Translucent
Definition: dtk_render.hpp:301
Dtk_TextureInfos::SkyCylinderMapping
@ SkyCylinderMapping
Definition: dtk_render.hpp:44
Dtk_TextureInfos::GetMappingType
TextureMappingTypeEnum GetMappingType()
Returns mapping type.
Dtk_RenderInfos::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Definition: dtk_render.hpp:343
DTK_TYPE_MATERIAL_INFOS
@ DTK_TYPE_MATERIAL_INFOS
Definition: define.h:516
Dtk_PhysicalMaterialInfos::SetHardeningRatio
Dtk_ErrorStatus SetHardeningRatio(Dtk_Double64 inHardeningRatio[3])
Sets the material hardening ratio.
Dtk_TextureInfos::Create
static Dtk_TextureInfosPtr Create(const TextureMappingTypeEnum &inType)
Create a Dtk_TextureInfosPtr.
Dtk_PhysicalMaterialInfos::GetCustomData
Dtk_tab< Dtk_MetaDataPtr > const & GetCustomData()
Returns the material custom data.
Dtk_LightMap::GetShininessRatio
Dtk_Double64 GetShininessRatio() const
Returns the Shininess ratio.
Dtk_RenderInfos::_Copy
void _Copy(const Dtk_RenderInfos &inToBeCopied)
Dtk_RenderInfos::SubsurfaceScattering
@ SubsurfaceScattering
Definition: dtk_render.hpp:304
Dtk_TextureInfos::~Dtk_TextureInfos
virtual ~Dtk_TextureInfos()
Destructor.
Dtk_TextureInfos::CylinderMapping
@ CylinderMapping
Definition: dtk_render.hpp:40
Dtk_TextureInfos::DtkDynamicCast
static Dtk_TextureInfos * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Definition: dtk_render.hpp:93
Dtk_RenderInfos::ArchitecturalAndDesign
@ ArchitecturalAndDesign
Definition: dtk_render.hpp:292
Dtk_RenderInfos::ClearGlass
@ ClearGlass
Definition: dtk_render.hpp:296
Dtk_RenderInfos::GetShaderType
RenderMappingShaderTypeEnum GetShaderType() const
Returns shader type.
Dtk_TextureInfos::UVBRepMapping
@ UVBRepMapping
Definition: dtk_render.hpp:47
Dtk_RenderInfos::BrushedMetal
@ BrushedMetal
Definition: dtk_render.hpp:295
Dtk_LightMap::GetAmbientColor
Dtk_RGB GetAmbientColor() const
Returns the ambient light emitted from the surface.
Dtk_LightMap::SetTransparentRatio
void SetTransparentRatio(Dtk_Double64 inRatio)
Sets the ratio of transparency (0.0 : opaque, 1.0 : transparent)
Dtk_PhysicalMaterialInfos::SetDensity
Dtk_ErrorStatus SetDensity(Dtk_Double64 inValue, Dtk_string inUnits)
Sets the material density.
Dtk_PhysicalMaterialInfos::GetShearModulus
Dtk_ErrorStatus GetShearModulus(Dtk_Double64 outShearModulus[3], Dtk_string &outUnits) const
Returns the material shear modulus.
Dtk_TextureInfos::_Reset
void _Reset()
catiav5w::inTransfo
const Dtk_string const Dtk_transfo & inTransfo
Definition: catiav5w.hpp:622
Dtk_PhysicalMaterialInfos::Create
static Dtk_PhysicalMaterialInfosPtr Create(const Dtk_PhysicalMaterialInfos &in)
Calls copy constructor to allocate a new object.
Dtk_RenderInfos::SetName
void SetName(const Dtk_string &inName)
Sets the render name.
DTK_TYPE_LIGHT
@ DTK_TYPE_LIGHT
Definition: define.h:560
Dtk_TextureInfos::Dtk_TextureInfos
Dtk_TextureInfos(const Dtk_TextureInfos &inToBeCopied)
Copy constructor.
Dtk_RenderInfos::SoftPlastic
@ SoftPlastic
Definition: dtk_render.hpp:300
Dtk_PhysicalMaterialInfos::Create
static Dtk_PhysicalMaterialInfosPtr Create(Dtk_string inName, MaterialSymetryType inType)
Creates a Dtk_MaterialInfosPtr.
Dtk_LightMap::GetTransparentRatio
Dtk_Double64 GetTransparentRatio() const
Returns the transparent ratio
Dtk_TextureInfos::GetUOffset
Dtk_Double64 GetUOffset()
Returns U offset.
Dtk_TextureInfos
Definition: dtk_render.hpp:34
Dtk_TextureInfos::SkyPlanarMapping
@ SkyPlanarMapping
Definition: dtk_render.hpp:43
Dtk_PhysicalMaterialInfos::SetName
Dtk_ErrorStatus SetName(Dtk_string inName)
Sets the material name.
Dtk_PhysicalMaterialInfos::GetSpecificHeat
Dtk_ErrorStatus GetSpecificHeat(Dtk_Double64 &outValue, Dtk_string &outUnits) const
Returns the material specific heat.
Dtk_LightMap::AddReflectiveColor
void AddReflectiveColor(const Dtk_RGB &inColor)
Adds the color and amount of a perfect mirror reflection.
Dtk_RenderInfos::Create
static Dtk_RenderInfosPtr Create(const Dtk_string &inName, const Dtk_LightMapPtr &inLights, const Dtk_TextureInfosPtr &inTexture)
Creates a Dtk_RenderInfosPtr.
Dtk_LightMap::_Copy
void _Copy(const Dtk_LightMap &inToBeCopied)
Dtk_RenderInfos::GetTexture
Dtk_TextureInfosPtr GetTexture() const
Returns the render texture.
Dtk_string
This is a high level string class.
Definition: dtk_string.hpp:53
DTK_TYPE_TEXTURE
@ DTK_TYPE_TEXTURE
Definition: define.h:559
Dtk_PhysicalMaterialInfos::~Dtk_PhysicalMaterialInfos
virtual ~Dtk_PhysicalMaterialInfos()
Destructor.
Dtk_TextureInfos::SetTransfo
void SetTransfo(Dtk_transfoPtr inTransfo)
Sets image transfo.
Dtk_TextureInfos::_typeID
@ _typeID
Definition: dtk_render.hpp:52
dtk_metadata.hpp
Dtk_RenderInfos::Clone
virtual Dtk_Object * Clone()
Definition: dtk_render.hpp:325
Dtk_RenderInfos::Create
static Dtk_RenderInfosPtr Create(const Dtk_string &inName)
Creates a Dtk_RenderInfosPtr.
Dtk_RenderInfos::Dtk_RenderInfos
Dtk_RenderInfos(const Dtk_string &inName, const Dtk_LightMapPtr &inLigths, const Dtk_TextureInfosPtr &inTexture)
Dtk_PhysicalMaterialInfos::SetThermalConductivity
Dtk_ErrorStatus SetThermalConductivity(Dtk_Double64 inValue, Dtk_string inUnits)
Sets the material thermal conductivity.
Dtk_TextureInfos::_Init
void _Init()
Dtk_RenderInfos::_Init
void _Init()
Dtk_LightMap::Create
static Dtk_LightMapPtr Create(Dtk_RGB inAmbiant, Dtk_RGB inDiffuse, Dtk_RGB inSpecular)
Create a Dtk_LightMapPtr.
Dtk_PhysicalMaterialInfos::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Definition: dtk_render.hpp:431
Dtk_PhysicalMaterialInfos::SetSpecificHeat
Dtk_ErrorStatus SetSpecificHeat(Dtk_Double64 inValue, Dtk_string inUnits)
Sets the material specific heat.
Dtk_bool
char Dtk_bool
Definition: define.h:717
Dtk_RenderInfos::SetTexture
void SetTexture(const Dtk_TextureInfosPtr &inTexture)
Sets the render texture information.
Dtk_TextureInfos::GetVOffset
Dtk_Double64 GetVOffset()
Returns V offset.
Dtk_RenderInfos::RenderMappingShaderTypeEnum
RenderMappingShaderTypeEnum
Definition: dtk_render.hpp:289
Dtk_PhysicalMaterialInfos::GetTensileStrength
Dtk_ErrorStatus GetTensileStrength(Dtk_Double64 &outValue, Dtk_string &outUnits) const
Returns the material tensile strength.
Dtk_RenderInfos::Unknown
@ Unknown
Definition: dtk_render.hpp:290
Dtk_PhysicalMaterialInfos::SetThermalExpansion
Dtk_ErrorStatus SetThermalExpansion(Dtk_Double64 inValue, Dtk_string inUnits)
Sets the material thermal expansion.
Dtk_Double64
double Dtk_Double64
Definition: define.h:691
Dtk_TextureInfos::SetOffset
void SetOffset(Dtk_Double64 inUOffset, Dtk_Double64 inVOffset)
Sets image U and V offset.
Dtk_TextureInfos::IsVRepeat
Dtk_bool IsVRepeat()
Returns if texture is V repeat.
Dtk_RenderInfos
This is the Dtk_RenderInfos Class. The Dtk_RenderInfosPtr object is used to store any informations ab...
Definition: dtk_render.hpp:286
Dtk_LightMap::_Private
Dtk_Handle * _Private
Definition: dtk_render.hpp:175
Dtk_PhysicalMaterialInfos::GetHardeningRatio
Dtk_ErrorStatus GetHardeningRatio(Dtk_Double64 ouHardeningRatio[3]) const
Returns the material hardening ratio.
Dtk_TextureInfos::SphericalMapping
@ SphericalMapping
Definition: dtk_render.hpp:41
Dtk_TextureInfos::SetFlipFlag
void SetFlipFlag(Dtk_bool inUFlip, Dtk_bool inVFlip)
Sets image U and V flip.
Dtk_TextureInfos::PlanarMapping
@ PlanarMapping
Definition: dtk_render.hpp:39
Dtk_LightMap::_typeID
@ _typeID
Definition: dtk_render.hpp:174
Dtk_PhysicalMaterialInfos::Clone
virtual Dtk_Object * Clone()
Definition: dtk_render.hpp:416
Dtk_TextureInfos::GetVScale
Dtk_Double64 GetVScale()
Returns V scale factor.
Dtk_RenderInfos::FrostedGlass
@ FrostedGlass
Definition: dtk_render.hpp:298
Dtk_TextureInfos::IsVFlipped
Dtk_bool IsVFlipped()
Returns if V flipped.
Dtk_LightMap::GetDiffuseColor
Dtk_RGB GetDiffuseColor() const
Returns the ambient light diffusely reflected from the surface of this object.
Dtk_PhysicalMaterialInfos::GetType
MaterialSymetryType GetType() const
Returns the material type.
dtk_picture.hpp
Dtk_PhysicalMaterialInfos::GetThermalConductivity
Dtk_ErrorStatus GetThermalConductivity(Dtk_Double64 &outValue, Dtk_string &outUnits) const
Returns the material thermal conductivity.
Dtk_TextureInfos::IsUFlipped
Dtk_bool IsUFlipped()
Returns if U flipped.
Dtk_TextureInfos::GetRotateAngle
Dtk_Double64 GetRotateAngle()
Returns rotate angle.
Dtk_RenderInfos::Dtk_RenderInfos
Dtk_RenderInfos(const Dtk_RenderInfos &inToBeCopied)
Copy constructor.
Dtk_LightMap::GetSpecularRatio
Dtk_Double64 GetSpecularRatio() const
Returns the specular ratio
Dtk_TextureInfos::SetRotateAngle
void SetRotateAngle(Dtk_Double64 inAlpha)
Sets image rotate angle.
Dtk_PhysicalMaterialInfos::SetType
Dtk_ErrorStatus SetType(MaterialSymetryType inType)
Sets the material type.
Dtk_picture
This class defines a picture.
Definition: dtk_picture.hpp:45
Dtk_LightMap::SetShininessRatio
void SetShininessRatio(Dtk_Double64 inShininess)
Set the Shininess ratio (0.0 - 1.0)
Dtk_TextureInfos::_Copy
void _Copy(const Dtk_TextureInfos &inToBeCopied)
Dtk_TextureInfos::GetTransfo
Dtk_transfoPtr GetTransfo()
Returns texture transfo.
Dtk_TextureInfos::StoredUVMapping
@ StoredUVMapping
Definition: dtk_render.hpp:38
Dtk_TextureInfos::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Definition: dtk_render.hpp:86
Dtk_Int32
int32_t Dtk_Int32
Definition: define.h:679
Dtk_TextureInfos::SetImageSize
void SetImageSize(Dtk_Double64 inSize)
Sets image size.
Dtk_TextureInfos::SetScale
void SetScale(Dtk_Double64 inUScale, Dtk_Double64 inVScale)
Sets image U and V scale.
Dtk_RenderInfos::PolishedPlastic
@ PolishedPlastic
Definition: dtk_render.hpp:299
Dtk_PhysicalMaterialInfos::MaterialSymetryType
MaterialSymetryType
Definition: dtk_render.hpp:394
Dtk_RenderInfosPtr
Dtk_SmartPtr< Dtk_RenderInfos > Dtk_RenderInfosPtr
Handles a Dtk_RenderInfos object.
Definition: dtk_render.hpp:19
Dtk_LightMap::Dtk_LightMap
Dtk_LightMap(Dtk_RGB inAmbient, Dtk_RGB inDiffuse, Dtk_RGB inSpecular)
Dtk_LightMap::Clone
virtual Dtk_Object * Clone()
Definition: dtk_render.hpp:193
Dtk_RenderInfos::Default
@ Default
Definition: dtk_render.hpp:291
Dtk_PhysicalMaterialInfos::Orthotrope
@ Orthotrope
Definition: dtk_render.hpp:398
Dtk_TextureInfos::Dtk_TextureInfos
Dtk_TextureInfos(const TextureMappingTypeEnum &inType)
error_dtk.hpp
Dtk_ErrorStatus
Dtk_ErrorStatus
Definition: error_dtk.hpp:6
Dtk_LightMap::GetEmissiveRatio
Dtk_Double64 GetEmissiveRatio() const
Returns the emissive ratio.
Dtk_RenderInfos::_Private
Dtk_Handle * _Private
Definition: dtk_render.hpp:309
Dtk_TextureInfos::IsURepeat
Dtk_bool IsURepeat()
Returns if texture is U repeat.
Dtk_TextureInfosPtr
Dtk_SmartPtr< Dtk_TextureInfos > Dtk_TextureInfosPtr
Definition: dtk_render.hpp:15
Dtk_TextureInfos::SkyCubicalMapping
@ SkyCubicalMapping
Definition: dtk_render.hpp:46
Dtk_SmartPtr
Definition: util_ptr_dtk.hpp:37
Dtk_PhysicalMaterialInfos::UnknownType
@ UnknownType
Definition: dtk_render.hpp:395
Dtk_PhysicalMaterialInfos::SetPoissonRatio
Dtk_ErrorStatus SetPoissonRatio(Dtk_Double64 inPoissonRatio[3])
Sets the material poisson ratio.
Dtk_TextureInfos::BuildingMapping
@ BuildingMapping
Definition: dtk_render.hpp:48
Dtk_PhysicalMaterialInfos::IsotropeTrans
@ IsotropeTrans
Definition: dtk_render.hpp:397
Dtk_RenderInfos::ColoredGlass
@ ColoredGlass
Definition: dtk_render.hpp:297
Dtk_RenderInfos::SatinatedMetal
@ SatinatedMetal
Definition: dtk_render.hpp:294
Dtk_PhysicalMaterialInfos::_Private
Dtk_Handle * _Private
Definition: dtk_render.hpp:403
Dtk_LightMap::GetDiffuseRatio
Dtk_Double64 GetDiffuseRatio() const
Returns the diffuse ratio.
Dtk_PhysicalMaterialInfos::GetTypeAsString
Dtk_string GetTypeAsString() const
Returns the material type as a Dtk_string.
Dtk_LightMap::Dtk_LightMap
Dtk_LightMap(const Dtk_LightMap &inToBeCopied)
Copy constructor.
Dtk_TextureInfos::GetImageSize
Dtk_Double64 GetImageSize()
Returns image size.
Dtk_PhysicalMaterialInfos
Definition: dtk_render.hpp:390
util_stl_dtk.hpp
Dtk_LightMap::DtkDynamicType
Dtk_Int32 DtkDynamicType(const Dtk_Int32 &inId)
Retrieves the dynamic entity type.
Definition: dtk_render.hpp:206
Dtk_LightMap::~Dtk_LightMap
virtual ~Dtk_LightMap()
Destructor.
Dtk_RenderInfos::SetRenderFilePath
void SetRenderFilePath(const Dtk_string &inFilePath)
Sets the render file path.
Dtk_LightMap::GetEmissiveColor
Dtk_RGB GetEmissiveColor() const
Returns the color and amount of light emitted from the surface of this object.
Dtk_PhysicalMaterialInfos::GetPoissonRatio
Dtk_ErrorStatus GetPoissonRatio(Dtk_Double64 outPoissonRatio[3]) const
Returns the material poisson ratio.
Dtk_PhysicalMaterialInfos::SetShearModulus
Dtk_ErrorStatus SetShearModulus(Dtk_Double64 inShearModulus[3], Dtk_string inUnits)
Sets the material shear modulus.
Dtk_RenderInfos::_typeID
@ _typeID
Definition: dtk_render.hpp:308
Dtk_RenderInfos::_Reset
void _Reset()
util_ptr_dtk.hpp
Dtk_PhysicalMaterialInfos::GetYoungModulus
Dtk_ErrorStatus GetYoungModulus(Dtk_Double64 outYoungModulus[3], Dtk_string &outUnits) const
Returns the material young modulus.
Dtk_RenderInfos::MetallicPaint
@ MetallicPaint
Definition: dtk_render.hpp:302
define.h
Dtk_LightMapPtr
Dtk_SmartPtr< Dtk_LightMap > Dtk_LightMapPtr
Definition: dtk_render.hpp:18
Dtk_LightMap::_Init
void _Init()
Dtk_PhysicalMaterialInfos::SetYoungModulus
Dtk_ErrorStatus SetYoungModulus(Dtk_Double64 inYoungModulus[3], Dtk_string inUnits)
Sets the material young modulus.
Dtk_tab
This is a high level array class.
Definition: util_stl_dtk.hpp:84
Dtk_LightMap::GetSpecularColor
Dtk_RGB GetSpecularColor() const
Returns the ambient light specularly reflected from the surface of this object.
Dtk_LightMap::GetAmbientRatio
Dtk_Double64 GetAmbientRatio() const
Returns the ambient ratio.
Dtk_LightMap::_Reset
void _Reset()
Dtk_TextureInfos::_Private
Dtk_Handle * _Private
Definition: dtk_render.hpp:53
Dtk_TextureInfos::SkySphericalMapping
@ SkySphericalMapping
Definition: dtk_render.hpp:45
Dtk_RenderInfos::DtkDynamicCast
static Dtk_RenderInfos * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Definition: dtk_render.hpp:350
Dtk_LightMap
Definition: dtk_render.hpp:172
Dtk_PhysicalMaterialInfos::SetYieldStrength
Dtk_ErrorStatus SetYieldStrength(Dtk_Double64 inValue, Dtk_string inUnits)
Sets the material yield strength.
Dtk_RenderInfos::~Dtk_RenderInfos
virtual ~Dtk_RenderInfos()
Destructor.
Dtk_TextureInfos::GetUScale
Dtk_Double64 GetUScale()
Returns U scale factor.
Dtk_PhysicalMaterialInfos::GetName
Dtk_string GetName() const
Returns the material name.
Dtk_Object::DtkDynamicType
virtual int DtkDynamicType(const int &inId)=0
Dtk_RenderInfos::GetName
Dtk_string GetName() const
Returns the texture name.
Dtk_Object
Definition: dtk_object.hpp:8
Dtk_PhysicalMaterialInfos::_typeID
@ _typeID
Definition: dtk_render.hpp:402
Dtk_TextureInfos::GetTextureImage
Dtk_picture * GetTextureImage()
Returns Dtk_picture.
dtk_string.hpp
Dtk_LightMap::AddTransparentColor
void AddTransparentColor(const Dtk_RGB &inColor)
Adds the color and amount of perfectly refracted light.
Dtk_PhysicalMaterialInfos::GetThermalExpansion
Dtk_ErrorStatus GetThermalExpansion(Dtk_Double64 &outValue, Dtk_string &outUnits) const
Returns the material thermal expansion.
Dtk_PhysicalMaterialInfos::Dtk_PhysicalMaterialInfos
Dtk_PhysicalMaterialInfos(Dtk_string inName, MaterialSymetryType inType)
Dtk_RenderInfos::GetRenderFilePath
Dtk_string GetRenderFilePath() const
Returns the render file path.
Dtk_TextureInfos::SetImagePath
void SetImagePath(Dtk_string inImagePath)
Sets image file path.
Dtk_RenderInfos::AddShaderType
void AddShaderType(const RenderMappingShaderTypeEnum &inShaderType)
Adds the shader type.
Dtk_LightMap::GetTransparentColor
Dtk_RGB GetTransparentColor() const
Returns the color and amount of perfectly refracted light.
dtk_rgb.hpp
Dtk_TextureInfos::CubicalMapping
@ CubicalMapping
Definition: dtk_render.hpp:42
Dtk_RGB
Definition: dtk_rgb.hpp:7
Dtk_TextureInfos::GetImagePath
Dtk_string GetImagePath()
Return image path.
Dtk_PhysicalMaterialInfos::GetYieldStrength
Dtk_ErrorStatus GetYieldStrength(Dtk_Double64 &outValue, Dtk_string &outUnits) const
Returns the material yield strength.
Dtk_PhysicalMaterialInfos::SetTensileStrength
Dtk_ErrorStatus SetTensileStrength(Dtk_Double64 inValue, Dtk_string inUnits)
Sets the material tensile strength.
Dtk_LightMap::DtkDynamicCast
static Dtk_LightMap * DtkDynamicCast(Dtk_Object *s)
Performs a dynamic cast - doesn't need RTTI -.
Definition: dtk_render.hpp:213
Dtk_PhysicalMaterialInfos::Isotropic
@ Isotropic
Definition: dtk_render.hpp:396
Dtk_PhysicalMaterialInfos::Dtk_PhysicalMaterialInfos
Dtk_PhysicalMaterialInfos(const Dtk_PhysicalMaterialInfos &inToBeCopied)
\Copy Constructor{inToBeCopied}
DTK_TYPE_RENDER
@ DTK_TYPE_RENDER
Definition: define.h:561
Dtk_LightMap::GetReflectiveColor
Dtk_RGB GetReflectiveColor() const
Returns the color and amount of a perfect mirror reflection.
dtk_object.hpp
Dtk_LightMap::AddEmissiveColor
void AddEmissiveColor(const Dtk_RGB &inColor)
Adds the light emitted from the surface of this object.
Dtk_TextureInfos::SetRepeat
void SetRepeat(Dtk_bool inURepeat, Dtk_bool inVRepeat)
Sets image U and V flip.
Dtk_TextureInfos::Clone
virtual Dtk_Object * Clone()
Definition: dtk_render.hpp:70
Dtk_RenderInfos::PolishedMetal
@ PolishedMetal
Definition: dtk_render.hpp:293
Dtk_LightMap::GetReflectiveRatio
Dtk_Double64 GetReflectiveRatio() const
Returns the reflective ratio
Dtk_TextureInfos::SetTextureImage
void SetTextureImage(Dtk_picture *inImage)
Sets Dtk_picture.