  | 
  
    DATAKIT API
    V2025.4
    
   
   | 
           
 | 
 
 
 
 
◆ CatiaV5WriteSample()
      
        
          | int CatiaV5WriteSample  | 
          ( | 
          const Dtk_string &  | 
          inResultDirectory | ) | 
           | 
        
      
 
  489      cout << endl << 
"----------------------------------------------" << endl;
 
  490      cout << 
"CatiaV5 Write start" << endl;
 
  493      outputDirectory = inResultDirectory + L
"CatiaV5/";
 
  495      outputDirectory.
mkdir();
 
 
 
 
◆ ProcessAsm()
  353      outputDirectory = inResultDirectory + 
"CatiaV5/";
 
  356      Dtk_string CATPartFileName = outputDirectory + L
"V5_sample.CATPart";
 
  357      Dtk_string V5FileName = inResultDirectory + L
"CatiaV5/9.CATPart";
 
  358      Dtk_string CGRFileName = inResultDirectory + L
"CGR/Engine.cgr";
 
  359      Dtk_string V4ModelFileName = inResultDirectory + L
"CatiaV4/EngineComponent.model";
 
  360      Dtk_string SubProductFileName = outputDirectory + L
"SubProduct.CATProduct";
 
  361      Dtk_string RootProductFileName = outputDirectory + L
"RootProduct.CATProduct";
 
  377      Dtk_ID PartID, V5ID, V4ID, CgrID;
 
  393      Dtk_ID SubProductID, VirtualSubComponent1ID, VirtualSubComponent2ID, PartInstanceID, VirtualSubComponent1_Instance1ID;
 
  394      Dtk_ID PartInstanceID2, CGRInstanceID, V4InstanceID, V5InstanceID, VirtualComponent1_Instance1ID;
 
  401           TransformationMatrix.
setOrigin( 0, 0, 150 );
 
  409           TransformationMatrix.
setOrigin( 0.0, 0.0, 0.0 );
 
  415           TransformationMatrix.
setOrigin( 0.0, 0.0, 0.0 );
 
  418           TransformationMatrix.
setOrigin( 0.0, 500.0, 0.0 );
 
  421           TransformationMatrix.
setOrigin( 0.0, -500.0, 0.0 );
 
  424           TransformationMatrix.
setOrigin( 0.0, -1000.0, 0.0 );
 
  427           TransformationMatrix.
setOrigin( 0.0, 1000.0, 0.0 );
 
  435      Dtk_ID RootProductID, PartInstance2ID, SubProductInstance1ID, SubProductInstance2ID;
 
  440           TransformationMatrix.
setOrigin( 0.0, 0.0, 50.0 );
 
  444           TransformationMatrix.
setOrigin( 1000.0, 0.0, 0.0 );
 
  445           err = 
catiav5w::AddInstance( SubProductID, L
"SubProductInstance1", TransformationMatrix, SubProductInstance1ID );
 
  446           TransformationMatrix.
setOrigin( -1000.0, 0.0, 0.0 );
 
  448           err = 
catiav5w::AddInstance( SubProductID, L
"SubProductInstance2", TransformationMatrix, SubProductInstance2ID );
 
  454                Path1.
push_back( SubProductInstance2ID );
 
  455                Path1.
push_back( VirtualComponent1_Instance1ID );
 
  456                Path1.
push_back( VirtualSubComponent1_Instance1ID );
 
  467                Path2.
push_back( SubProductInstance1ID );
 
  478      cout << 
"=> " << RootProductFileName.
c_str() << endl << 
"CatiaV5 Write end" << endl;
 
 
 
 
◆ ProcessPart()
   99           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  107      MyCurveSetInfo->
SetName( L
"MyCurveSet" );
 
  111           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  119           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  126           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  134           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  140      MyOpenShellInfo->
SetName( L
"MyOpenShell" );
 
  147           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  152      Dtk_InfoPtr& body_openshellInfo = body_openshell->info();
 
  153      if( body_openshellInfo.
IsNULL() )
 
  161           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  169           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  176      MySolidInfo->
SetName( L
"My Solid" );
 
  182           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  188      if( body_solidInfo.
IsNULL() )
 
  196           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  204           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  209      MyOpenShellForMeshInfo->
SetName( L
"MyOpenShellForMesh" );
 
  213           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  221           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  229           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  234      MyOpenShellForPlaneInfo->
SetName( L
"MyOpenShellForPlane" );
 
  238           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  246           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  254           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  259      MyOpenShellForInifiniteLineInfo->
SetName( L
"MyOpenShellForInifiniteLine" );
 
  263           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  271           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  279           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  287           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  295           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  316           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  322      Cam = 
Dtk_Camera::Create( 
Dtk_pnt( 100, 100, 100 ), 
Dtk_pnt( 0, 0, 0 ), 100., 100., 
Dtk_dir( 0, 1, 0 ) );
 
  327      NamedView->info()->SetName( L
"MyNamedView" );
 
  332           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
  340           std::cout << 
"error : " << 
dtkTypeError( err ) << std::endl;
 
 
 
 
◆ WriteLayerData()
   26      Dtk_Size_t Layer888Idx = LayerIdx++; layerInfoSet->SetLayerID( Layer888Idx, 888 ); layerInfoSet->SetLayerName( Layer888Idx, L
"My First Layer" );
 
   29      Dtk_Size_t Layer111Idx = LayerIdx++; layerInfoSet->SetLayerID( Layer111Idx, 111 ); layerInfoSet->SetLayerName( Layer111Idx, L
"My Second Layer" );
 
   32      Dtk_Size_t Layer987Idx = LayerIdx++; layerInfoSet->SetLayerID( Layer987Idx, 987 ); layerInfoSet->SetLayerName( Layer987Idx, L
"My Third Layer" );
 
   35      Dtk_Size_t Layer4Idx = LayerIdx++;      layerInfoSet->SetLayerID( Layer4Idx, 4 );
 
   38      Dtk_Size_t Layer5Idx = LayerIdx++;      layerInfoSet->SetLayerID( Layer5Idx, 5 );
 
   41      Dtk_Size_t Layer6Idx = LayerIdx++;      layerInfoSet->SetLayerID( Layer6Idx, 6 );
 
   44      Dtk_Size_t Layer10Idx = LayerIdx++; layerInfoSet->SetLayerID( Layer10Idx, 10 );
 
   47      Dtk_Size_t Layer11Idx = LayerIdx++; layerInfoSet->SetLayerID( Layer11Idx, 11 );
 
   50      Dtk_Size_t Layer12Idx = LayerIdx++; layerInfoSet->SetLayerID( Layer12Idx, 12 );
 
   58      filter4_5_6->SelectLayers( layers4_5_6 );
 
   64      filter10_11_12->SelectLayers( layers10_11_12 );
 
 
 
 
 
 
Dtk_BodyPtr CreateAxis()
Definition: testcreatecube.cpp:1555
 
static Dtk_ModelDisplayPtr Create(const Dtk_CameraPtr &inCamera, const Dtk_EntityPtr &inClippingEntity, const Dtk_bool inIsActivated)
Calls full featured constructor to allocate a new object.
 
Dtk_ErrorStatus ProcessAsm(const Dtk_string &inResultDirectory)
Definition: testlibcatiav5write.cpp:350
 
uint32_t Dtk_ID
Definition: define.h:691
 
This is the Transformation dedicated class.
Definition: dtk_transfo.hpp:19
 
Dtk_ErrorStatus InitVirtualComponent(const Dtk_string &inReferenceName, const catiav5w::FileDescription &inFileDescription=catiav5w::FileDescription())
Initialize a virtual component during CATProduct process.
 
Dtk_ErrorStatus OverrideInstanceAlphaWithPathID(const PathID &inInstancePathId, const Dtk_UChar8 inInstanceAlpha)
Override the Alpha of an instance in a Sub Product.
 
Dtk_ErrorStatus AddVirtualComponentInstance(const Dtk_ID &inDocId, const Dtk_string &inInstanceName, const Dtk_transfo &inTransfo, Dtk_ID &outInstanceId)
Add an instance to a DocID into the Current (Sub/Root) CATProduct.
 
Dtk_ErrorStatus SetName(Dtk_string inName)
 
This class provides several options to tunes CatiaV5 Writter. It must be provided to catiav5w::InitWr...
Definition: catiav5w.hpp:41
 
void setOrigin(const Dtk_pnt &O)
Set a new O center point.
 
@ NodeTypeGeometricSet
Definition: catiav5w.hpp:430
 
#define DTK_TRUE
Definition: define.h:729
 
Dtk_ErrorStatus ProcessPart(const Dtk_string &inOutputFile, const Dtk_string &inReferenceName)
Definition: testlibcatiav5write.cpp:70
 
Dtk_BodyPtr CreateInfinitePlane()
Definition: testcreatecube.cpp:1500
 
This is a high level string class.
Definition: dtk_string.hpp:58
 
size_t Dtk_Size_t
Definition: define.h:714
 
Dtk_ErrorStatus WriteEntity(const Dtk_EntityPtr &inEntity)
Write the entity provided in parameter.
 
Definition: dtk_uuid.hpp:8
 
Dtk_AxisSystemPtr CreateAxisSystem()
Definition: testcreatecube.cpp:1529
 
#define DTK_FALSE
Definition: define.h:730
 
Dtk_ErrorStatus OverrideInstanceColorWithPathID(const PathID &inInstancePathId, const Dtk_RGB &inInstanceColor)
Override the Color of an instance in a Sub Product.
 
Dtk_ErrorStatus CreateNode(const NodeType &inNodeType, const Dtk_string &inNodeName=Dtk_string())
Create a node in the Specification Tree.
 
Dtk_ErrorStatus InitProduct(const Dtk_string &inFileName, const Dtk_string &inReferenceName, const catiav5w::FileDescription &inFileDescription=catiav5w::FileDescription())
Initialize a sub Product during CATProduct process.
 
Dtk_ErrorStatus SetBlankedStatus(const Dtk_Int32 &inBlankedStatus)
 
Dtk_ErrorStatus CreateCGRDocId(const Dtk_string &inCGRFileName, const Dtk_string &inCGRName, Dtk_ID &outDocId)
Create a CGR Reference and DocID related to a given CGR File.
 
const Dtk_string & inReferenceName
Definition: catiav5w.hpp:459
 
Dtk_ErrorStatus InitPart(const Dtk_string &inOutputFile, const Dtk_string &inReferenceName, Dtk_UUID &outPartUUID, const catiav5w::FileDescription &inFileDescription=catiav5w::FileDescription())
Initialize the part
 
Dtk_BodyPtr CreatePoint()
Definition: testcreatecube.cpp:1473
 
@ NodeTypePartBody
Definition: catiav5w.hpp:431
 
Dtk_ErrorStatus EndVirtualComponent(Dtk_ID &outDocId)
End - and write - the virtual component initialized by catiav5w::InitVirtualComponent.
 
static Dtk_SmartPtr< Dtk_Entity > DtkDynamicCast(const Dtk_SmartPtr< T2 > &p)
Definition: util_ptr_dtk.hpp:101
 
Dtk_ErrorStatus AddInstance(const Dtk_ID &inDocId, const Dtk_string &inInstanceName, const Dtk_transfo &inTransfo, Dtk_ID &outInstanceId)
Add an instance to a DocID into the Current (Sub/Root) CATProduct.
 
Dtk_ErrorStatus
Definition: error_dtk.hpp:6
 
Dtk_bool IsNULL() const
Definition: util_ptr_dtk.hpp:118
 
Dtk_ErrorStatus CreateV4ModelDocId(const Dtk_string &inV4ModelFileName, const Dtk_string &inV4ModelName, Dtk_ID &outDocId)
Create a V4 Model Reference and DocID related to a given V4 Model File.
 
Definition: util_ptr_dtk.hpp:37
 
Dtk_string dtkTypeError(Dtk_Int32 errNumero)
 
Dtk_ErrorStatus EndWrite()
Free the Catia V5 Writer
 
Dtk_ErrorStatus SetFileRelease(const Dtk_UInt32 inRelease)
Sets the release for the written files.
 
const char * c_str() const
Retrieve the ASCII conversion string.
 
Dtk_ErrorStatus CreatePartDocId(const Dtk_string &inPartFileName, const Dtk_string &inPartName, Dtk_ID &outDocId)
Create a Part Reference and DocID related to a given CATPart.
 
Dtk_MeshPtr CreateMeshCylinder(int nbpoints)
Mesh Cylinder sample.
Definition: testcreatemesh.cpp:339
 
int mkdir() const
File Utility : Create a Directory.
 
Dtk_ErrorStatus SetLayer(const Dtk_Int32 &inLayer)
 
This is a mathematical point class.
Definition: dtk_pnt.hpp:22
 
void FixPathSeparator()
File Utility : Fixes path separator consistency. It lets you replace the '\' or '/' by the OS needed ...
 
static Dtk_CameraPtr Create()
Calls default constructor to allocate a new object.
 
This is a high level array class.
Definition: util_stl_dtk.hpp:85
 
Dtk_BodyPtr CreateCube()
Definition: testcreatecube.cpp:1320
 
Dtk_ErrorStatus EndProduct(Dtk_ID &outDocId)
Write effectively the Sub Product initialized by catiav5w::InitProduct.
 
Dtk_ErrorStatus CloseCurrentNode()
close the current node previously created by catiav5w::CreateNode.
 
Dtk_ErrorStatus SetLayerData(const Dtk_LayerInfosSetPtr &inLayerDataSet)
Set Layer and LayerFilter Data in a CATPart context.
 
Dtk_BodyPtr CreateCurves()
Definition: testcreatecube.cpp:1361
 
Dtk_ErrorStatus WriteNamedView(const Dtk_ModelDisplayPtr &inNamedView)
Write the given ModelDisplay as NamedView - V5 camera -.
 
Dtk_ErrorStatus EndPart()
Free data allocated by catiav5w::InitPart
 
static Dtk_LayerInfosSetPtr Create(const Dtk_Size_t inNumLayers)
Calls a constructor to allocate a new object.
 
@ dtkNoError
Definition: error_dtk.hpp:144
 
void push_back(const T &x)
Inserts an element at the end of the array.
Definition: util_stl_dtk.hpp:417
 
Dtk_ErrorStatus InitWrite(const Dtk_string &inLogFile, Licence_dtk inLicFct, const WriteOptions &inOptions=WriteOptions())
Initialize the Catia V5 Writer
 
Definition: dtk_rgb.hpp:7
 
Dtk_ErrorStatus SetColor(const int &R, const int &G, const int &B)
 
static Dtk_SmartPtr< Dtk_Info > create()
Calls default constructor to allocate a new object.
 
Dtk_ErrorStatus WriteLayerData()
Definition: testlibcatiav5write.cpp:17
 
This is a mathematical direction class.
Definition: dtk_dir.hpp:15
 
Dtk_ErrorStatus OverrideBlankedStatusWithPathID(const PathID &inInstancePathId, const Dtk_bool inBlankedStatus)
Override the Blanked Status of an instance in a Sub Product.
 
Dtk_BodyPtr CreateOpenShell()
Definition: testcreatecube.cpp:1347