DATAKIT API  V2025.1
Through Data

Dtk_Node represents the construction tree and can be connected
Sample to write a Dtk_Node
Sample to write a Dtk_NodeConnector

Node has several type :
Sample to write a Dtk_AxisSystem
Sample to write a Dtk_Body
Sample to write a Dtk_Camera
Sample to write a Dtk_ColorInfosSet
Sample to write a Dtk_ConstraintPtr
Sample to write a Dtk_Drawing
Sample to write a Dtk_Fdt
Sample to write a Dtk_Feature
Sample to write a Dtk_LayerInfosSet
Sample to write a Dtk_mesh
Sample to write a Dtk_MetaData
Sample to write a Dtk_ModelDisplay
Attributes sample

Sample to write a Dtk_Node

#include "datakit.h"
#include "../../WritingSample/PdfWrite/PdfWrite.hpp"
#include "WriteNode.hpp"
//This function is a sample on how to write node
//Dtk_node can be an Body, Mesh , Drawing, Fdt, AxisPlacement and/or have children (recursive function)
//It represent construction tree for Model
{
//GetName
Dtk_string NodeName = inNode->Name();
// You can Get Preview if you want to handle it
Dtk_PreviewPtr TmpPreview = inNode->GetPreview();
if( TmpPreview.IsNotNULL() )
{
Dtk_Int32 size = TmpPreview->GetStreamSize();
char *jpgimage = TmpPreview->GetStream();
Dtk_string Preview_name = "NodePreview.jpg";
FILE *jpg = Preview_name.OpenFile( "wb" );
if( jpg )
{
fwrite( jpgimage, sizeof( char ), size, jpg );
fclose( jpg );
}
}
//See Dtk_InfoPtr methods for others attributes in infos (color, layer...)
if( xmlDumpFile )
{
}
{
Dtk_ID pdfID;
pdfID = PdfInitNode(inNode);
}
//Get The node Blanked Status
// -1 = undefined, 0 = Visible, 1=Invisible, 2=Construction Geometry
int NodeBlankedStatus = inNode->GetInfos()->GetBlankedStatus();
//In this sample we read and treat only visible node - change this test if you want to read invisible and/or construction node
if( NodeBlankedStatus == 0 )
{
//You have many types for Node Data :
// BodyType for 3D geometry (solid and wireframe)
// MeshType for 3D tessellated geometry
// FdtType for FDT
// DrawingType for 2D
// KinematicsType for Kinematics
// AxisSystemType for AxisPlacement
// LayerInfosSetType for LayerInfos
// MetaDataType for Additional informations
// CameraType for Camera
// ModelDisplayType for ModelDisplay
// VirtualType just for containing children
switch( NodeType )
{
{
WriteBody( inNode );
break;
}
{
WriteFdt( inNode );
break;
}
{
WriteDrawing( inNode );
break;
}
{
WriteMesh( inNode );
break;
}
{
WriteAxisSystem( inNode );
break;
}
{
WriteKinematics( inNode );
break;
}
{
WriteLayerFilter( inNode );
break;
}
{
break;
}
{
WriteMetaData( inNode );
break;
}
{
WriteCamera( inNode );
break;
}
{
WriteModelDisplay( inNode );
break;
}
{
WriteConstraints( inNode );
break;
}
default:
{
break;
}
}
}
//Treat recursive TreeNode for Visible and Construction node
// NodeBlankedStatus : -1 = undefined, 0 = Visible, 1=Invisible, 2=Construction Geometry
//remove this test if you want to treat invisible entities
if( NodeBlankedStatus != 1 || NodeType == Dtk_Node::BodyType )
//invisible body can have visible children
{
Dtk_Size_t i, NumChildren;
NumChildren = inNode->GetNumChildren();
for( i = 0; i < NumChildren; i++ )
{
WriteNode( inNode->GetChild( i ) );
}
}
// Write Feature associated if you want to handle it
WriteFeature( inNode );
//Write NodeConnector if you want to handle it
WriteNodeConnector( inNode );
if( xmlDumpFile )
{
}
{
}
return dtkNoError;
}

Sample to write a Dtk_NodeConnector

#include "datakit.h"
{
Dtk_tab< Dtk_NodeConnectorPtr > AssociatedEntities;
inNode->GetAssociatedEntities(AssociatedEntities);
Dtk_Size_t i, NumAssoc = AssociatedEntities.size();
for (i = 0; i < NumAssoc; i++)
{
if (xmlDumpFile)
{
Dtk_DumpXMLNamespace::Dtk_DumpXml_Dtk_NodeConnector(xmlDumpFile, AssociatedEntities[i]);
}
}
}

Sample to write a Dtk_AxisSystem

#include "datakit.h"
#include "../../WritingSample/PdfWrite/PdfWrite.hpp"
#include "../../WritingSample/XmlWrite/XmlWrite.hpp"
{
enum type_detk subtype = inNode->GetNodeSubType();
// subtype can be DTK_TYPE_VIEW or DTK_TYPE_AXIS_SYSTEM
if (TmpAxis.IsNotNULL() )
{
Dtk_string SystemName = TmpAxis->get_info()->GetName();
// Used to write an XML File
{
}
// Used to write a Pdf File
{
}
}
}

Sample to write a Dtk_Body

#include "datakit.h"
#include "tess/tess.h"
#include "../../WritingSample/PdfWrite/PdfWrite.hpp"
#include "../../WritingSample/XmlWrite/XmlWrite.hpp"
using namespace std;
void WriteDtk_Mesh(const Dtk_MeshPtr& inMeshToWrite);
void WriteBody(Dtk_NodePtr inNode)
{
// Get if the node represent infinite geometry
// 1 = Infinite, 0 = Finite
int NodeInfiniteGeometry = inNode->GetInfos()->GetInfiniteGeometryFlag();
if (NodeInfiniteGeometry == 0)
{
//Calling both methods GetDtk_MeshPtr() and GetDtk_BodyPtr() on BodyNode will give you the same result
//Choose the one you need in order to avoid duplicated data
const Dtk_BodyPtr TmpBody = inNode->GetDtk_BodyPtr();
if (TmpBody.IsNotNULL())
{
// Used to write an XML File
{
XmlWriteBody(TmpBody);
}
}
// Some CAD formats store also faceted data besides B-Rep.
// So you can get faceted data corresponding to the body using the following method
const Dtk_MeshPtr TmpFacetedBody = inNode->GetDtk_MeshPtr();
if (TmpFacetedBody.IsNotNULL())
{
TmpFacetedBody->Transform(CurrentMatrix);
WriteDtk_Mesh(TmpFacetedBody);
}
// If there is no mesh data associated to the current body, you can tessellate (and if init of tessellation engine is successful)
if (TmpFacetedBody.IsNULL() && TmpBody.IsNotNULL() && GetTesselationStatus() == dtkNoError)
{
int err_tess = tess_BodyToMeshes(TmpBody, meshes, isclosed);
if( inNode->Name().len() > 0 )
cout << "NodeName = " << inNode->Name().c_str() << ";";
cout << "err_tess = " << dtkTypeError( err_tess ).c_str() << endl ;
if (err_tess == 0)
{
Dtk_Size_t i, nbmeshes = meshes.size();
for (i = 0; i < nbmeshes; i++)
{
meshes[i]->Transform(CurrentMatrix);
WriteDtk_Mesh(meshes[i]);
}
}
if (IsPdfDumpActivated() && TmpBody->HasWire())
{// handling wire / points
}
}
}
}

Sample to write a Dtk_Camera

#include "datakit.h"
#include "../../WritingSample/XmlWrite/XmlWrite.hpp"
{
Dtk_CameraPtr TmpCamera = inNode->GetDtk_CameraPtr();
if (TmpCamera.IsNotNULL())
{
// Used to write an XML File
{
XmlWriteCamera(TmpCamera);
}
}
}

Sample to write a Dtk_ColorInfosSet

#include "datakit.h"
#include "../../WritingSample/XmlWrite/XmlWrite.hpp"
{
Dtk_ColorInfosSetPtr TmpColorInfos = inNode->GetDtk_ColorInfosSetPtr();
if (TmpColorInfos.IsNotNULL())
{
// Used to write an XML File
{
XmlWriteColorPalette(TmpColorInfos);
}
}
}

Sample to write a Dtk_ConstraintPtr

#include "datakit.h"
#include "../../WritingSample/XmlWrite/XmlWrite.hpp"
{
Dtk_ConstraintPtr TmpConstraint = inNode->GetDtk_ConstraintPtr();
if( TmpConstraint.IsNotNULL() )
{
// Used to write an XML File
{
XmlWriteConstraint(TmpConstraint);
}
}
}

Sample to write a Dtk_Drawing

#include "datakit.h"
#include "../../WritingSample/XmlWrite/XmlWrite.hpp"
{
Dtk_DrawingPtr TmpDrawing = inNode->GetDtk_DrawingPtr();
if (TmpDrawing.IsNotNULL())
{
// Used to write an XML File
{
XmlWriteDrawing(TmpDrawing);
}
}
}

Sample to write a Dtk_Fdt

#include "datakit.h"
#include "../../WritingSample/PdfWrite/PdfWrite.hpp"
#include "../../WritingSample/XmlWrite/XmlWrite.hpp"
void WriteFdt(Dtk_NodePtr inNode)
{
enum type_detk subtype = inNode->GetNodeSubType();
// subtype can be DTK_TYPE_MEASURE or DTK_TYPE_FDT
Dtk_FdtPtr TmpFdt = inNode->GetDtk_FdtPtr();
if (TmpFdt.IsNotNULL())
{
// Used to write an XML File
{
XmlWriteFdt(TmpFdt);
}
// Used to write an PDF File
{
}
}
}

Sample to write a Dtk_Feature

#include "datakit.h"
#include "../../WritingSample/XmlWrite/XmlWrite.hpp"
void ActivateFeatureDump(Dtk_bool inDumpFeature)
{
toDumpFeatures = inDumpFeature;
}
{
return;
// Get the Feature associated to the current node, if exists,
// otherwise a NULL pointer is returned
Dtk_FeaturePtr TmpFeature = inNode->GetDtk_FeaturePtr();
if (TmpFeature.IsNotNULL())
{
// Used to write an XML File
{
XmlWriteFeature(TmpFeature);
}
}
}

Sample to write a Dtk_LayerInfosSet

#include "datakit.h"
#include "../../WritingSample/XmlWrite/XmlWrite.hpp"
{
Dtk_LayerInfosSetPtr TmpLayerInfosSet = inNode->GetDtk_LayerInfosSetPtr();
if (TmpLayerInfosSet.IsNotNULL())
{
Dtk_Size_t NumLayers = TmpLayerInfosSet->GetNumLayers();
Dtk_Size_t NumLayerFilters = TmpLayerInfosSet->GetNumLayerFilters();
Dtk_Size_t DefaultLayer, DefaultLayerFilter;
TmpLayerInfosSet->GetDefaultLayer(DefaultLayer);
TmpLayerInfosSet->GetDefaultLayerFilter(DefaultLayerFilter);
for (i = 0; i < NumLayers; i++)
{
Dtk_string LayerName;
TmpLayerInfosSet->GetLayerName(i, LayerName);
}
for (i = 0; i < NumLayerFilters; i++)
{
Dtk_LayerFilterInfosPtr TmpLayerFilter = TmpLayerInfosSet->GetLayerFilterByPos(i);
Dtk_tab< Dtk_Size_t > SelectedLayers;
TmpLayerFilter->GetSelectedLayers(SelectedLayers);
Dtk_string LayerFilterName;
TmpLayerFilter->GetName(LayerFilterName);
}
{
XmlWriteLayerFilter(TmpLayerInfosSet);
}
}
}

Sample to write a Dtk_mesh

#include "datakit.h"
#include "../../WritingSample/PdfWrite/PdfWrite.hpp"
#include "../../WritingSample/XmlWrite/XmlWrite.hpp"
void WriteDtk_Mesh(const Dtk_MeshPtr& inMeshToWrite)
{
// convert triangles-strip, fans, polygons into simple triangles
inMeshToWrite->explode();
// Used to write a PDF File
{
}
// Used to write an XML File
{
XmlWriteMesh(inMeshToWrite);
}
Dtk_RGB rgb = inMeshToWrite->get_mesh_color(); // mesh global color.
// vertices :
Dtk_Size_t nbvertices = inMeshToWrite->get_nb_vertices();
Dtk_Size_t i, j;
for (i = 0; i < nbvertices; i++)
{
Dtk_pnt pnt;
Dtk_dir dir;
Dtk_RGB color;
float u, v;
u = v = 0.0;
inMeshToWrite->get_vertex(i, &pnt); // coordinates of the vertices
if (inMeshToWrite->has_normals())
inMeshToWrite->get_normal(i, &dir); // vertex normal (if enabled)
if (inMeshToWrite->has_colors())
inMeshToWrite->get_color(i, &color); // vertex color (if enabled)
if (inMeshToWrite->has_texcoords())
{
u = inMeshToWrite->GetUTexture(i); // vertex u,v texture coordinate (if enabled)
v = inMeshToWrite->GetVTexture(i);
}
}
// mesh_faces
Dtk_Size_t k, m, nbmeshfaces = inMeshToWrite->get_nb_mesh_face();
for (i = 0; i < nbmeshfaces; i++)
{
Dtk_mesh_face* mf = inMeshToWrite->get_mesh_face(i);
Dtk_Size_t nbtriangles = mf->get_nbtriangles();
Dtk_Int32 trianglesindices[3];
for (j = 0; j < nbtriangles; j++)
{
const Dtk_UInt32* tri = mf->get_triangle_indices(j);
trianglesindices[0] = tri[0];
trianglesindices[1] = tri[1];
trianglesindices[2] = tri[2];
// id of vertex in vertices table you read in the first step of this function
}
//face boundaries
Dtk_Size_t nbpolyline = mf->get_nbpolylines();
for (j = 0; j < nbpolyline; j++)
{
const Dtk_tab<Dtk_UInt32> *pnt;
pnt = mf->get_polyline_indices(j);
Dtk_Size_t nbvertex = pnt->size();
for (k = 0; k < nbvertex; k++)
{
m = (*pnt)[k]; // id of vertex in vertices table
Dtk_pnt pt = inMeshToWrite->get_vertex(m);
}
}
}
}
void WriteMesh(Dtk_NodePtr inNode)
{
Dtk_MeshPtr TmpMesh = inNode->GetDtk_MeshPtr();
if (TmpMesh.IsNotNULL())
{
TmpMesh->Transform(CurrentMatrix);
WriteDtk_Mesh(TmpMesh);
}
}

Sample to write a Dtk_MetaData

#include "datakit.h"
#include "../../WritingSample/PdfWrite/PdfWrite.hpp"
{
enum type_detk subtype = inNode->GetNodeSubType();
// subtype can be DTK_TYPE_PUBLICATION, DTK_TYPE_MEASURE or DTK_TYPE_METADATA
Dtk_MetaDataPtr TmpMetaData = inNode->GetDtk_MetaDataPtr();
if (TmpMetaData.IsNotNULL())
{
if (xmlDumpFile)
{
}
{
tabMetadata.push_back(TmpMetaData);
PdfWriteMetaData(tabMetadata);
}
}
}

Sample to write a Dtk_ModelDisplay

#include "datakit.h"
{
Dtk_ModelDisplayPtr TmpModelDisplay = inNode->GetDtk_ModelDisplayPtr();
if (TmpModelDisplay.IsNotNULL())
{
if (xmlDumpFile)
{
}
}
//To get the entities attached to this model display use the connector
Dtk_tab< Dtk_NodeConnectorPtr > AssociatedEntities;
inNode->GetAssociatedEntities(AssociatedEntities);
// Already done in WriteNode
// Dtk_Size_t i, NumAssoc = AssociatedEntities.size();
// for ( i = 0; i < NumAssoc; i++ )
// {
// if (xmlDumpFile)
// {
// Dtk_DumpXMLNamespace::Dtk_DumpXml_Dtk_NodeConnector(xmlDumpFile,AssociatedEntities[i]);
// }
// }
}
WriteColorPalette
void WriteColorPalette(Dtk_NodePtr inNode)
Definition: WriteColorPalette.cpp:5
WriteModelDisplay
void WriteModelDisplay(Dtk_NodePtr inNode)
Definition: WriteModelDisplay.cpp:5
Dtk_ID
uint32_t Dtk_ID
Definition: define.h:689
Dtk_transfo
This is the Transformation dedicated class.
Definition: dtk_transfo.hpp:19
PdfWriteEntity
void PdfWriteEntity(Dtk_EntityPtr inEntity)
Definition: PdfWrite.cpp:173
Dtk_mesh_face
This is a high level face class.
Definition: util_mesh_dtk.hpp:870
Dtk_DumpXml_Dtk_MetadataPtr
Dtk_ErrorStatus Dtk_DumpXml_Dtk_MetadataPtr(FILE *F, const Dtk_MetaDataPtr &inObject)
Definition: util_xml_dtk.cpp:4744
Dtk_Node::GetDtk_ModelDisplayPtr
Dtk_ModelDisplayPtr GetDtk_ModelDisplayPtr()
Retrieves the Dtk_Node as a Dtk_ModelDisplayPtr - if exists -.
Dtk_Info::GetBlankedStatus
int GetBlankedStatus() const
Retrieves the entity Blanked Status.
Dtk_Node::FdtType
@ FdtType
Definition: dtk_maindoc.hpp:251
Dtk_Info::GetInfiniteGeometryFlag
int GetInfiniteGeometryFlag() const
XmlWriteMesh
void XmlWriteMesh(const Dtk_MeshPtr &inMeshToWrite)
Definition: XmlWrite.cpp:63
Dtk_SmartPtr::IsNotNULL
Dtk_bool IsNotNULL() const
Definition: util_ptr_dtk.hpp:119
util_xml_dtk.hpp
XmlWriteDrawing
void XmlWriteDrawing(const Dtk_DrawingPtr &inDrawing)
Definition: XmlWrite.cpp:94
toDumpFeatures
Dtk_bool toDumpFeatures
Definition: WriteFeature.cpp:5
WriteDtk_Mesh
void WriteDtk_Mesh(const Dtk_MeshPtr &inMeshToWrite)
Definition: WriteMesh.cpp:8
XmlWriteFeature
void XmlWriteFeature(const Dtk_FeaturePtr &inFeature)
Definition: XmlWrite.cpp:112
PdfWriteMetaData
void PdfWriteMetaData(Dtk_ComponentPtr inComponent)
Definition: PdfWrite.cpp:117
Dtk_Node::NodeDataTypeEnum
NodeDataTypeEnum
Definition: dtk_maindoc.hpp:246
Dtk_Node::ModelDisplayType
@ ModelDisplayType
Definition: dtk_maindoc.hpp:258
WriteDrawing
void WriteDrawing(Dtk_NodePtr inNode)
Definition: WriteDrawing.cpp:4
Dtk_UInt32
uint32_t Dtk_UInt32
Definition: define.h:688
Dtk_string
This is a high level string class.
Definition: dtk_string.hpp:58
Dtk_Size_t
size_t Dtk_Size_t
Definition: define.h:712
Dtk_Node::KinematicsType
@ KinematicsType
Definition: dtk_maindoc.hpp:253
Dtk_mesh_face::get_polyline_indices
const Dtk_tab< Dtk_UInt32 > * get_polyline_indices(Dtk_Size_t inI) const
Get inI-th polygon.
XmlWriteConstraint
void XmlWriteConstraint(const Dtk_ConstraintPtr &inConstraint)
Definition: XmlWrite.cpp:74
Dtk_DumpXml_Dtk_NodePtr_End
Dtk_ErrorStatus Dtk_DumpXml_Dtk_NodePtr_End(FILE *F)
Definition: util_xml_dtk.cpp:4554
toDumpPDF
Dtk_bool toDumpPDF
Definition: PdfWrite.cpp:14
ActivateFeatureDump
void ActivateFeatureDump(Dtk_bool inDumpFeature)
Definition: WriteFeature.cpp:7
Dtk_Node::BodyType
@ BodyType
Definition: dtk_maindoc.hpp:248
Dtk_Node::CameraType
@ CameraType
Definition: dtk_maindoc.hpp:259
DTK_FALSE
#define DTK_FALSE
Definition: define.h:728
Dtk_Node::GetDtk_CameraPtr
Dtk_CameraPtr GetDtk_CameraPtr()
Retrieves the Dtk_Node as a Dtk_CameraPtr - if exists -.
Dtk_bool
char Dtk_bool
Definition: define.h:725
Dtk_string::OpenFile
FILE * OpenFile(const Dtk_string &inRights) const
File Utility : Open a file with the given rights.
PdfEndNode
void PdfEndNode()
Definition: PdfWrite.cpp:168
Dtk_DumpXml_Dtk_NodePtr_Init
Dtk_ErrorStatus Dtk_DumpXml_Dtk_NodePtr_Init(FILE *F, const Dtk_NodePtr &inObject)
Definition: util_xml_dtk.cpp:4457
WriteFeature
void WriteFeature(Dtk_NodePtr inNode)
Definition: WriteFeature.cpp:13
Dtk_Node::GetDtk_AxisSystemPtr
Dtk_AxisSystemPtr GetDtk_AxisSystemPtr()
Retrieves the Dtk_Node as a Dtk_AxisSystemPtr - if exists -.
WriteMesh
void WriteMesh(Dtk_NodePtr inNode)
Definition: WriteMesh.cpp:80
Dtk_Node::GetChild
const Dtk_NodePtr GetChild(const Dtk_Size_t &inPos) const
Retrieves the ith Dtk_Node - read only -.
Definition: dtk_maindoc.hpp:385
Dtk_DumpXml_Dtk_NodeConnector
Dtk_ErrorStatus Dtk_DumpXml_Dtk_NodeConnector(FILE *inFile, const Dtk_NodeConnectorPtr &inNodeConnector)
Definition: util_xml_dtk.cpp:6646
Dtk_mesh_face::get_nbpolylines
Dtk_Size_t get_nbpolylines() const
Get the number of polylines kept in the class instance.
Dtk_Node::GetDtk_LayerInfosSetPtr
Dtk_LayerInfosSetPtr GetDtk_LayerInfosSetPtr()
Retrieves the Dtk_Node as a Dtk_LayerInfosSetPtr - if exists -.
WriteConstraints
void WriteConstraints(Dtk_NodePtr inNode)
Definition: WriteConstraints.cpp:5
XmlWriteFdt
void XmlWriteFdt(const Dtk_FdtPtr &inFdt)
Definition: XmlWrite.cpp:106
WriteMetaData
void WriteMetaData(Dtk_NodePtr inNode)
Definition: WriteMetaData.cpp:8
Dtk_Node::GetAssociatedEntities
Dtk_ErrorStatus GetAssociatedEntities(Dtk_tab< Dtk_NodeConnectorPtr > &outAssociatedEntities)
Retrieves the entities associated to the Dtk_Node. They are retrieved via Dtk_NodeConnectorPtr.
Dtk_Node::GetNodeType
NodeDataTypeEnum GetNodeType() const
Retrieves the Dtk_Node Node Type - read only -.
Dtk_Node::GetDtk_DrawingPtr
Dtk_DrawingPtr GetDtk_DrawingPtr()
Retrieves the Dtk_Node as a Dtk_DrawingPtr - if exists -.
WriteFdt
void WriteFdt(Dtk_NodePtr inNode)
Definition: WriteFdt.cpp:7
WriteCamera
void WriteCamera(Dtk_NodePtr inNode)
Definition: WriteCamera.cpp:5
Dtk_DocElement::Name
const Dtk_string & Name() const
Retrieves the Dtk_DocElement Name - read only -.
WriteKinematics
void WriteKinematics(Dtk_NodePtr inNode)
Definition: WriteKinematics.cpp:5
PdfInitNode
Dtk_ID PdfInitNode(Dtk_NodePtr inNode)
Definition: PdfWrite.cpp:156
Dtk_Int32
int32_t Dtk_Int32
Definition: define.h:687
XmlWriteAxisSystem
void XmlWriteAxisSystem(const Dtk_AxisSystemPtr &inAxis)
Definition: XmlWrite.cpp:88
Dtk_Node::MetaDataType
@ MetaDataType
Definition: dtk_maindoc.hpp:257
Dtk_Node::GetDtk_ConstraintPtr
Dtk_ConstraintPtr GetDtk_ConstraintPtr()
Retrieves the Dtk_Node as a Dtk_ConstraintPtr - if exists -.
Dtk_mesh_face::get_triangle_indices
const Dtk_UInt32 * get_triangle_indices(Dtk_Size_t inI) const
Get pointer of triangle indices of i-th triangle.
Dtk_DumpXml_GetFile
FILE * Dtk_DumpXml_GetFile()
Definition: util_xml_dtk.cpp:4865
Dtk_Node::ConstraintType
@ ConstraintType
Definition: dtk_maindoc.hpp:261
Dtk_DocElement::GetInfos
Dtk_InfoPtr GetInfos() const
Retrieves the Dtk_DocElement Dtk_InfoPtr - read only -.
Dtk_SmartPtr< Dtk_Entity >::DtkDynamicCast
static Dtk_SmartPtr< Dtk_Entity > DtkDynamicCast(const Dtk_SmartPtr< T2 > &p)
Definition: util_ptr_dtk.hpp:101
Dtk_ErrorStatus
Dtk_ErrorStatus
Definition: error_dtk.hpp:6
Dtk_SmartPtr::IsNULL
Dtk_bool IsNULL() const
Definition: util_ptr_dtk.hpp:118
Dtk_DocElement::GetNumChildren
Dtk_Size_t GetNumChildren() const
Retrieves the number of the Dtk_DocElement children - read only -.
CurrentMatrix
Dtk_transfo CurrentMatrix
Definition: WritePrototype.cpp:11
Dtk_Node::LayerInfosSetType
@ LayerInfosSetType
Definition: dtk_maindoc.hpp:255
Dtk_SmartPtr< Dtk_Node >
dtkTypeError
Dtk_string dtkTypeError(Dtk_Int32 errNumero)
catiav5w::NodeType
NodeType
Type of Specification Tree Node used into a CATPart file.
Definition: catiav5w.hpp:426
Dtk_string::c_str
const char * c_str() const
Retrieve the ASCII conversion string.
Dtk_Node::GetDtk_MetaDataPtr
Dtk_MetaDataPtr GetDtk_MetaDataPtr()
Retrieves the Dtk_Node as a Dtk_FdtAnnotationSetPtr - if exists -.
XmlWriteBody
void XmlWriteBody(const Dtk_BodyPtr &inBody)
Definition: XmlWrite.cpp:118
tess.h
Dtk_pnt
This is a mathematical point class.
Definition: dtk_pnt.hpp:22
type_detk
type_detk
Definition: define.h:32
datakit.h
GetTesselationStatus
int GetTesselationStatus()
Definition: TesselationEngine.cpp:8
Dtk_mesh_face::get_nbtriangles
Dtk_Size_t get_nbtriangles() const
Get the number of simple triangles kept in the class instance.
Dtk_Node::GetDtk_MeshPtr
Dtk_MeshPtr GetDtk_MeshPtr()
Retrieves the Dtk_Node as a Dtk_meshPtr - if exists -.
tess_BodyToMeshes
Dtk_ErrorStatus tess_BodyToMeshes(const Dtk_BodyPtr &inBodyToWrite, Dtk_tab< Dtk_MeshPtr > &outMeshes, Dtk_tab< Dtk_Int32 > &outIsSolid, Dtk_bool inTessWireframe=DTK_FALSE, Dtk_bool inApplyRenderInfos=DTK_FALSE)
: Make Tesselation from a Dtk_body and create a Set of Dtk_mesh if available
WriteNodeConnector
void WriteNodeConnector(Dtk_NodePtr inNode)
Definition: WriteNodeConnector.cpp:5
Dtk_tab< Dtk_NodeConnectorPtr >
WriteLayerFilter
void WriteLayerFilter(Dtk_NodePtr inNode)
Definition: WriteLayerFilter.cpp:5
Dtk_tab::size
Dtk_Size_t size() const
Returns the size of the array.
Definition: util_stl_dtk.hpp:502
Dtk_Node::GetDtk_FdtPtr
Dtk_FdtPtr GetDtk_FdtPtr()
Retrieves the Dtk_Node as a Dtk_FdtPtr - if exists -.
Dtk_Node::GetDtk_ColorInfosSetPtr
Dtk_ColorInfosSetPtr GetDtk_ColorInfosSetPtr()
Retrieves the Dtk_Node as a Dtk_ColorInfosSetPtr - if exists -.
Dtk_Node::GetDtk_FeaturePtr
Dtk_FeaturePtr GetDtk_FeaturePtr()
Retrieves the Dtk_Node as a Dtk_FeaturePtr - if exists -.
Dtk_Node::ColorInfosSetType
@ ColorInfosSetType
Definition: dtk_maindoc.hpp:256
IsXmlDumpActivated
Dtk_bool IsXmlDumpActivated()
Definition: XmlWrite.cpp:17
Dtk_string::len
int len() const
Retrieve the length of the Dtk_string.
WriteAxisSystem
void WriteAxisSystem(Dtk_NodePtr inNode)
Definition: WriteAxisSystem.cpp:8
XmlWriteColorPalette
void XmlWriteColorPalette(const Dtk_ColorInfosSetPtr &inColorInfos)
Definition: XmlWrite.cpp:81
dtkNoError
@ dtkNoError
Definition: error_dtk.hpp:140
Dtk_tab::push_back
void push_back(const T &x)
Inserts an element at the end of the array.
Definition: util_stl_dtk.hpp:415
WriteNode
Dtk_ErrorStatus WriteNode(Dtk_NodePtr inNode)
Definition: WriteNode.cpp:16
Dtk_RGB
Definition: dtk_rgb.hpp:7
Dtk_Node::DrawingType
@ DrawingType
Definition: dtk_maindoc.hpp:252
WriteBody
void WriteBody(Dtk_NodePtr inNode)
Definition: WriteBody.cpp:13
Dtk_Node::AxisSystemType
@ AxisSystemType
Definition: dtk_maindoc.hpp:254
XmlWriteCamera
void XmlWriteCamera(const Dtk_CameraPtr &inCamera)
Definition: XmlWrite.cpp:100
WriteNode.hpp
Dtk_dir
This is a mathematical direction class.
Definition: dtk_dir.hpp:15
IsPdfDumpActivated
Dtk_bool IsPdfDumpActivated()
Definition: PdfWrite.cpp:26
Dtk_Node::GetNodeSubType
type_detk GetNodeSubType() const
Retrieves the Node SubType - if relevant - - read only -.
Dtk_DocElement::GetPreview
Dtk_PreviewPtr GetPreview() const
Retrieves the Dtk_DocElement Dtk_PreviewPtr - read only -.
Dtk_Node::MeshType
@ MeshType
Definition: dtk_maindoc.hpp:249
Dtk_Node::GetDtk_BodyPtr
Dtk_BodyPtr GetDtk_BodyPtr()
Retrieves the Dtk_Node as a Dtk_BodyPtr - if exists -.
XmlWriteLayerFilter
void XmlWriteLayerFilter(const Dtk_LayerInfosSetPtr &inLayerInfos)
Definition: XmlWrite.cpp:136
Dtk_DumpXml_Dtk_ModelDisplayPtr
Dtk_ErrorStatus Dtk_DumpXml_Dtk_ModelDisplayPtr(FILE *F, const Dtk_ModelDisplayPtr &inVal)
Definition: util_xml_dtk.cpp:3112