DATAKIT SDK  V2026.1
cgrw.hpp
Go to the documentation of this file.
1 /**********************************************************
2 CGRW.HPP
3 ***********************************************************/
4 #ifndef _CGRW_HPP_
5 #define _CGRW_HPP_
6 #include "util/util_stl_dtk.hpp"
8 #include "util/util_ent_dtk.hpp"
9 #include "util/util_ptr_dtk.hpp"
10 #include "util/util_mesh_dtk.hpp"
11 
14 
15  class Dtk_mesh_instance;
16 
17 
21  {
22  protected:
23  int id;
29 
30  public:
31 
33  Dtk_bounding_box BB;
34 
39 
43  Dtk_mesh_instance* get_instance(int i);
47  int add_mesh(Dtk_MeshPtr mesh);
51  void set_id(int inId);
53  void set_material(Dtk_MaterialPtr inMaterial);
56 
58  int get_id();
63 
66 
68  void set_color(Dtk_RGB& inColor);
69 
72  };
73 
74 
82  {
83  protected:
85  public:
88 
91 
95  inline void SetFileRelease(const Dtk_UInt32 inRelease)
96  {
97  switch (inRelease)
98  {
99  case 19:
100  _FileRelease = (Dtk_UChar8)inRelease; return;
101  case 14:
102  default:
103  _FileRelease = 14; return;
104  }
105  }
107  inline Dtk_UInt32 GetFileRelease() const { return _FileRelease; }
108  };
109 
119  int cgrw_InitWrite(Dtk_string inFileWritten, Dtk_string inLogFile, Licence_dtk inLicFct, Dtk_string inLicenceFile, const WriteOptions & inOptions = WriteOptions());
120 
125 
137  void SetCfgCgrWriteMaterial(const Dtk_bool &inVal);
138 
139 #endif
140 
141 
WriteOptions::_FileRelease
Dtk_UChar8 _FileRelease
Definition: cgrw.hpp:84
Dtk_mesh_asm_node
This class gathers asm node related datas.
Definition: cgrw.hpp:21
Dtk_transfo
This is the Transformation dedicated class.
Definition: dtk_transfo.hpp:19
Dtk_mesh_asm_node::set_material
void set_material(Dtk_MaterialPtr inMaterial)
Set an material.
Dtk_mesh_asm_node::set_id
void set_id(int inId)
Set an Id.
WriteOptions::WriteOptions
WriteOptions()
Default constructor.
Definition: cgrw.hpp:87
Dtk_mesh_asm_node::Dtk_mesh_asm_node
Dtk_mesh_asm_node()
Default constructor.
catiav5w::inTransfo
const Dtk_string const Dtk_transfo & inTransfo
Definition: catiav5w.hpp:622
Dtk_mesh_asm_node::add_axis_system
int add_axis_system(Dtk_AxisSystemPtr inAxisSystem)
Add an Dtk_AxisSystemPtr in Dtk_mesh_asm_node in the current asm node.
Dtk_UInt32
uint32_t Dtk_UInt32
Definition: define.h:691
Dtk_string
This is a high level string class.
Definition: dtk_string.hpp:53
Dtk_Size_t
size_t Dtk_Size_t
Definition: define.h:715
Dtk_mesh_asm_node::render
Dtk_RenderInfosPtr render
Definition: cgrw.hpp:27
Dtk_mesh_asm_node::node_color
Dtk_RGB node_color
Definition: cgrw.hpp:25
Dtk_status
Definition: dtk_status.hpp:16
Dtk_bool
char Dtk_bool
Definition: define.h:728
Dtk_mesh_asm_node::get_id
int get_id()
Get an Id.
Dtk_mesh_asm_node::set_color
void set_color(Dtk_RGB &inColor)
set color on Dtk_mesh_asm_node
cgrw_EndWrite
int cgrw_EndWrite()
Free the Cgr Writer
Dtk_mesh_asm_node::get_instance
Dtk_mesh_instance * get_instance(int i)
Return the i-th instance.
WriteOptions::~WriteOptions
~WriteOptions()
Destructor.
Definition: cgrw.hpp:90
util_mesh_dtk.hpp
Dtk_mesh_asm_node::id
int id
Definition: cgrw.hpp:23
SetCfgCgrWriteMaterial
void SetCfgCgrWriteMaterial(const Dtk_bool &inVal)
write material
Dtk_mesh_asm_node::phys_mat
Dtk_PhysicalMaterialInfosPtr phys_mat
Definition: cgrw.hpp:28
util_ent_dtk.hpp
cgrw_WriteMeshAsm
Dtk_status cgrw_WriteMeshAsm(Dtk_mesh_asm_node *inRoot)
Write a mesh assembly.
cgrw_InitWrite
int cgrw_InitWrite(Dtk_string inFileWritten, Dtk_string inLogFile, Licence_dtk inLicFct, Dtk_string inLicenceFile, const WriteOptions &inOptions=WriteOptions())
Initialize the Cgr Writer
Dtk_mesh_asm_node::get_color
Dtk_RGB get_color()
get color on Dtk_mesh_asm_node
Dtk_SmartPtr< Dtk_material >
WriteOptions::GetFileRelease
Dtk_UInt32 GetFileRelease() const
Retrieve the Written file release.
Definition: cgrw.hpp:107
Dtk_mesh_asm_node::get_nb_instances
Dtk_Size_t get_nb_instances()
Return the nb of instances in the current node.
Dtk_UChar8
unsigned char Dtk_UChar8
Definition: define.h:701
Dtk_mesh_asm_node::cgrw_ComputeBBs
Dtk_status cgrw_ComputeBBs()
Compute Bounding Boxes.
Dtk_mesh_asm_node::add_mesh
int add_mesh(Dtk_MeshPtr mesh)
Add an Dtk_mesh in Dtk_mesh_asm_node in the current asm node.
Dtk_mesh_asm_node::get_render_infos
Dtk_RenderInfosPtr get_render_infos()
Get an material.
util_stl_dtk.hpp
util_ptr_dtk.hpp
Dtk_tab< Dtk_mesh_instance * >
WriteOptions
This class provides several options to tunes cgr Writter. It must be provided to cgr::cgrw_InitWrite ...
Definition: cgrw.hpp:82
Dtk_mesh_asm_node::get_material
Dtk_MaterialPtr get_material()
Get an material.
Dtk_mesh_asm_node::inst
Dtk_tab< Dtk_mesh_instance * > inst
Definition: cgrw.hpp:24
Dtk_mesh_asm_node::~Dtk_mesh_asm_node
~Dtk_mesh_asm_node()
Default destructor.
Dtk_mesh_asm_node::material
Dtk_MaterialPtr material
Definition: cgrw.hpp:26
Dtk_mesh_asm_node::set_render_infos
void set_render_infos(Dtk_RenderInfosPtr inRender)
Set an render.
dtk_rgb.hpp
Dtk_RGB
Definition: dtk_rgb.hpp:7
Dtk_mesh_asm_node::BB
Dtk_bounding_box BB
Used to store global computed bounding box.
Definition: cgrw.hpp:33
WriteOptions::SetFileRelease
void SetFileRelease(const Dtk_UInt32 inRelease)
Sets the release for the written files.
Definition: cgrw.hpp:95
Licence_dtk
char *(* Licence_dtk)(char *)
Definition: str_def.h:71
Dtk_mesh_asm_node::add_asm_instance
int add_asm_instance(Dtk_mesh_asm_node *inMeshAsm, Dtk_transfo *inTransfo)
Add an asm instance to the current asm node.