 |
DATAKIT SDK
V2026.4
|
|
◆ UsdwInstances()
Sample 2: writes 10 re-instanced cubes into a USD file, demonstrating USD referencing.
The first OpenInstance() call with prototype ID 1 creates the real Xform+Mesh prim All subsequent calls with the same prototype ID emit a USD reference to that prim, each with its own transform, avoiding geometry duplication.
73 usdWriter.OpenInstance(
"RootNode", -1, unusedIsNew );
75 for(
int instanceIdx = 0; instanceIdx < 10; ++instanceIdx )
78 usdWriter.OpenInstance(
"Cube", 1, isNewNode, cubeTransfo );
81 usdWriter.WriteMesh( cubeMesh );
83 usdWriter.CloseLastInstance();
89 usdWriter.CloseLastInstance();
◆ UsdWriteSample()
97 std::cout << std::endl <<
"----------------------------------------------" << std::endl;
100 outputDirectory = inResultDirectory + L
"Usd/";
102 outputDirectory.
mkdir();
104 std::cout <<
"Usd Write start" << std::endl;
106 std::cout <<
"sample 1" << std::endl;
108 fileName = outputDirectory + L
"threemeshes.usd";
111 std::cout <<
"=> " << fileName.
c_str() << std::endl;
115 std::cout <<
"sample 2" << std::endl;
117 fileName = outputDirectory + L
"instances.usd";
120 std::cout <<
"=> " << fileName.
c_str() << std::endl;
124 std::cout <<
"Usd Write end" << std::endl;
◆ UsdwThreeMeshes()
Sample 1: writes a cube and a cylinder mesh in a two-node hierarchy into a USD file.
30 usdWriter.OpenInstance(
"RootNode", -1, unusedIsNew );
33 usdWriter.OpenInstance(
"Cube", -1, unusedIsNew );
34 usdWriter.WriteMesh( cubeMesh );
35 usdWriter.CloseLastInstance();
38 usdWriter.OpenInstance(
"Cylinder", -1, unusedIsNew );
39 usdWriter.WriteMesh( cylinderMesh );
40 usdWriter.CloseLastInstance();
43 usdWriter.OpenInstance(
"Wire", -1, unusedIsNew );
44 usdWriter.WriteMesh( wireMesh );
45 usdWriter.CloseLastInstance();
48 usdWriter.CloseLastInstance();
This is the Transformation dedicated class.
Definition: dtk_transfo.hpp:19
Dtk_MeshPtr CreateMeshCube()
Mesh Cube sample.
Definition: testcreatemesh.cpp:207
This is a high level string class.
Definition: dtk_string.hpp:53
char Dtk_bool
Definition: define.h:724
Dtk_ErrorStatus UsdwThreeMeshes(const Dtk_string &inOutputFileName)
Sample 1: writes a cube and a cylinder mesh in a two-node hierarchy into a USD file.
Definition: testlibusdwrite.cpp:12
Dtk_MeshPtr CreateMeshWire()
Wire mesh sample.
Definition: testcreatemesh.cpp:389
Dtk_ErrorStatus
Definition: error_dtk.hpp:6
Definition: util_ptr_dtk.hpp:37
Dtk_string dtkTypeError(Dtk_Int32 errNumero)
const char * c_str() const
Retrieve the ASCII conversion string.
Dtk_MeshPtr CreateMeshCylinder(int nbpoints)
Mesh Cylinder sample.
Definition: testcreatemesh.cpp:338
int mkdir() const
File Utility : Create a Directory.
void FixPathSeparator()
File Utility : Fixes path separator consistency. It lets you replace the '\' or '/' by the OS needed ...
Dtk_ErrorStatus UsdwInstances(const Dtk_string &inOutputFileName)
Sample 2: writes 10 re-instanced cubes into a USD file, demonstrating USD referencing.
Definition: testlibusdwrite.cpp:59
void addTranslate(const Dtk_dir &V)
Translate the Dtk_transfo.
@ dtkNoError
Definition: error_dtk.hpp:151
This is a mathematical direction class.
Definition: dtk_dir.hpp:14