|
KiCad PCB EDA Suite
|
Classes | |
| struct | MATLIST |
| class | MODEL_IMPORT_LOCK |
| Scoped holder for the recursive model import lock. More... | |
| struct | MODEL_IMPORT_OPTIONS |
| class | MODEL_IMPORT_QUEUE |
| Single-slot import queue shared by every native preview front end. More... | |
| class | MODEL_IMPORT_RESULT |
Enumerations | |
| enum class | MODEL_IMPORT_FORMAT { AUTO , STEP , IGES , VRML , X3D } |
| enum class | MODEL_IMPORT_ERROR { NONE , UNSUPPORTED , UNREADABLE , INVALID , TOO_LARGE , CANCELED , IMPORT_FAILED , OUT_OF_MEMORY , INTERNAL } |
| enum | SGTYPES { SGTYPE_TRANSFORM = 0 , SGTYPE_APPEARANCE , SGTYPE_COLORS , SGTYPE_COLORINDEX , SGTYPE_FACESET , SGTYPE_COORDS , SGTYPE_COORDINDEX , SGTYPE_NORMALS , SGTYPE_SHAPE , SGTYPE_END } |
Functions | |
| bool | degenerate (glm::dvec3 *pts) noexcept |
| bool | CalcTriangleNormals (std::vector< SGPOINT > coords, std::vector< int > &index, std::vector< SGVECTOR > &norms) |
| void | FormatFloat (std::string &result, double value) |
| void | FormatOrientation (std::string &result, const SGVECTOR &axis, double rotation) |
| void | FormatPoint (std::string &result, const SGPOINT &point) |
| void | FormatVector (std::string &result, const SGVECTOR &aVector) |
| void | FormatColor (std::string &result, const SGCOLOR &aColor) |
| bool | WritePoint (std::ostream &aFile, const SGPOINT &aPoint) |
| bool | WriteVector (std::ostream &aFile, const SGVECTOR &aVector) |
| bool | WriteColor (std::ostream &aFile, const SGCOLOR &aColor) |
| S3D::SGTYPES | ReadTag (std::istream &aFile, std::string &aName) |
| Read the text tag of a binary cache file which is the NodeTag and unique ID number combined. | |
| bool | ReadPoint (std::istream &aFile, SGPOINT &aPoint) |
| bool | ReadVector (std::istream &aFile, SGVECTOR &aVector) |
| bool | ReadColor (std::istream &aFile, SGCOLOR &aColor) |
| char const * | GetNodeTypeName (S3D::SGTYPES aType) noexcept |
| Return the name of the given type of node. | |
| bool | GetMatIndex (MATLIST &aList, SGNODE *aNode, int &aIndex) |
| void | INIT_SMATERIAL (SMATERIAL &aMaterial) |
| void | INIT_SMESH (SMESH &aMesh) noexcept |
| void | INIT_S3DMODEL (S3DMODEL &aModel) noexcept |
| void | FREE_SMESH (SMESH &aMesh) noexcept |
| void | FREE_S3DMODEL (S3DMODEL &aModel) |
| SGLIB_API void | GetLibVersion (unsigned char *Major, unsigned char *Minor, unsigned char *Patch, unsigned char *Revision) noexcept |
| Retrieve version information of the kicad_3dsg library. | |
| SGLIB_API void | LockModelImport () noexcept |
| Serialize parser and scene-name operations. | |
| SGLIB_API void | UnlockModelImport () noexcept |
| SGLIB_API S3D::SGTYPES | GetSGNodeType (SGNODE *aNode) |
| SGLIB_API SGNODE * | GetSGNodeParent (SGNODE *aNode) |
| SGLIB_API bool | AddSGNodeRef (SGNODE *aParent, SGNODE *aChild) |
| SGLIB_API bool | AddSGNodeChild (SGNODE *aParent, SGNODE *aChild) |
| SGLIB_API void | AssociateSGNodeWrapper (SGNODE *aObject, SGNODE **aRefPtr) |
| SGLIB_API SGVECTOR | CalcTriNorm (const SGPOINT &p1, const SGPOINT &p2, const SGPOINT &p3) |
| Return the normal vector of a triangle described by vertices p1, p2, p3. | |
| SGLIB_API bool | WriteCache (const char *aFileName, bool overwrite, SGNODE *aNode, const char *aPluginInfo) |
| Write the SGNODE tree to a binary cache file. | |
| SGLIB_API SGNODE * | ReadCache (const char *aFileName, void *aPluginMgr, bool(*aTagCheck)(const char *, void *)) |
| Read a binary cache file and creates an SGNODE tree. | |
| SGLIB_API bool | WriteVRML (const char *filename, bool overwrite, SGNODE *aTopNode, bool reuse, bool renameNodes) |
| Write out the given node and its subnodes to a VRML2 file. | |
| SGLIB_API void | ResetNodeIndex (SGNODE *aNode) |
| Reset the global SG* class indices. | |
| SGLIB_API void | RenameNodes (SGNODE *aNode) |
| Rename a node and all children nodes based on the current values of the global SG* class indices. | |
| SGLIB_API void | DestroyNode (SGNODE *aNode) noexcept |
| Delete the given SG* class node. | |
| SGLIB_API S3DMODEL * | GetModel (SCENEGRAPH *aNode) |
| Create an S3DMODEL representation of aNode (raw data, no transforms). | |
| SGLIB_API void | Destroy3DModel (S3DMODEL **aModel) |
| Free memory used by an S3DMODEL structure and sets the pointer to the structure to NULL. | |
| SGLIB_API void | Free3DModel (S3DMODEL &aModel) |
| Free memory used internally by an S3DMODEL structure. | |
| SGLIB_API void | Free3DMesh (SMESH &aMesh) |
| Free memory used internally by an SMESH structure. | |
| SGLIB_API S3DMODEL * | New3DModel (void) |
| Create and initialize an S3DMODEL structure. | |
| SGLIB_API void | Init3DMaterial (SMATERIAL &aMat) |
| Initializes an SMATERIAL structure. | |
| SGLIB_API void | Init3DMesh (SMESH &aMesh) |
| Create and initialize an SMESH structure. | |
| MODEL_IMPORT_OPTIONS | PreviewImportOptions () noexcept |
| Options for previewing a file the user has not opened. | |
| KICAD_3D_IMPORT_API MODEL_IMPORT_RESULT | ImportModel (const std::string &aFileName, const MODEL_IMPORT_OPTIONS &aOptions={}) |
| Import and flatten one model without invoking GUI facilities. | |
|
strong |
| Enumerator | |
|---|---|
| NONE | |
| UNSUPPORTED | |
| UNREADABLE | |
| INVALID | |
| TOO_LARGE | |
| CANCELED | |
| IMPORT_FAILED | |
| OUT_OF_MEMORY | |
| INTERNAL | |
Definition at line 52 of file model_import.h.
|
strong |
| Enumerator | |
|---|---|
| AUTO | |
| STEP | |
| IGES | |
| VRML | |
| X3D | |
Definition at line 42 of file model_import.h.
| enum S3D::SGTYPES |
| Enumerator | |
|---|---|
| SGTYPE_TRANSFORM | |
| SGTYPE_APPEARANCE | |
| SGTYPE_COLORS | |
| SGTYPE_COLORINDEX | |
| SGTYPE_FACESET | |
| SGTYPE_COORDS | |
| SGTYPE_COORDINDEX | |
| SGTYPE_NORMALS | |
| SGTYPE_SHAPE | |
| SGTYPE_END | |
Definition at line 31 of file sg_types.h.
Definition at line 536 of file ifsg_api.cpp.
References SGNODE::AddChildNode().
Referenced by addItems(), processFace(), WRL2APPEARANCE::TranslateToSG(), WRL2BASE::TranslateToSG(), WRL2BOX::TranslateToSG(), WRL2FACESET::TranslateToSG(), WRL2INLINE::TranslateToSG(), WRL2MATERIAL::TranslateToSG(), WRL2SHAPE::TranslateToSG(), WRL2TRANSFORM::TranslateToSG(), X3DAPP::TranslateToSG(), X3DIFACESET::TranslateToSG(), X3DSHAPE::TranslateToSG(), and X3DTRANSFORM::TranslateToSG().
Definition at line 527 of file ifsg_api.cpp.
References SGNODE::AddRefNode().
Referenced by addItems(), processFace(), WRL2APPEARANCE::TranslateToSG(), WRL2BASE::TranslateToSG(), WRL2BOX::TranslateToSG(), WRL2FACESET::TranslateToSG(), WRL2INLINE::TranslateToSG(), WRL2MATERIAL::TranslateToSG(), WRL2SHAPE::TranslateToSG(), WRL2TRANSFORM::TranslateToSG(), X3DAPP::TranslateToSG(), X3DIFACESET::TranslateToSG(), X3DSHAPE::TranslateToSG(), and X3DTRANSFORM::TranslateToSG().
Definition at line 545 of file ifsg_api.cpp.
References SGNODE::AssociateWrapper().
| bool S3D::CalcTriangleNormals | ( | std::vector< SGPOINT > | coords, |
| std::vector< int > & | index, | ||
| std::vector< SGVECTOR > & | norms ) |
Definition at line 349 of file sg_helpers.cpp.
References calcTriad(), and index.
Referenced by SGCOORDS::CalcNormals().
Return the normal vector of a triangle described by vertices p1, p2, p3.
Definition at line 488 of file ifsg_api.cpp.
References degenerate(), SGPOINT::x, SGPOINT::y, and SGPOINT::z.
Referenced by EXPORTER_PCB_VRML::create_vrml_shell(), and vrmlToSG().
|
noexcept |
Definition at line 306 of file sg_helpers.cpp.
Referenced by calcTriad(), and CalcTriNorm().
| void S3D::Destroy3DModel | ( | S3DMODEL ** | aModel | ) |
Free memory used by an S3DMODEL structure and sets the pointer to the structure to NULL.
Definition at line 427 of file ifsg_api.cpp.
References FREE_S3DMODEL().
Referenced by ImportModel(), S3D_CACHE::load(), S3D::MODEL_IMPORT_RESULT::operator=(), S3D::MODEL_IMPORT_RESULT::~MODEL_IMPORT_RESULT(), and S3D_CACHE_ENTRY::~S3D_CACHE_ENTRY().
|
noexcept |
Delete the given SG* class node.
This function makes it possible to safely delete an SG* node without associating the node with its corresponding IFSG* wrapper.
Definition at line 169 of file ifsg_api.cpp.
Referenced by S3D_CACHE::load(), S3D_CACHE::loadCacheData(), LoadVRML(), LoadX3D(), WRL1MATERIAL::Reclaim(), DATA::~DATA(), EXPORTER_PCB_VRML::~EXPORTER_PCB_VRML(), WRL1MATERIAL::~WRL1MATERIAL(), and WRL2BASE::~WRL2BASE().
| void S3D::FormatColor | ( | std::string & | result, |
| const SGCOLOR & | aColor ) |
Definition at line 131 of file sg_helpers.cpp.
References FormatFloat(), G, SGCOLOR::GetColor(), and result.
Referenced by SGCOLORS::WriteVRML().
| void S3D::FormatFloat | ( | std::string & | result, |
| double | value ) |
Definition at line 33 of file sg_helpers.cpp.
References result.
Referenced by FormatColor(), FormatOrientation(), FormatPoint(), FormatVector(), and SGAPPEARANCE::WriteVRML().
| void S3D::FormatOrientation | ( | std::string & | result, |
| const SGVECTOR & | axis, | ||
| double | rotation ) |
Definition at line 78 of file sg_helpers.cpp.
References FormatFloat(), SGVECTOR::GetVector(), and result.
Referenced by SCENEGRAPH::WriteVRML().
| void S3D::FormatPoint | ( | std::string & | result, |
| const SGPOINT & | point ) |
Definition at line 99 of file sg_helpers.cpp.
References FormatFloat(), result, SGPOINT::x, SGPOINT::y, and SGPOINT::z.
Referenced by SCENEGRAPH::WriteVRML(), and SGCOORDS::WriteVRML().
| void S3D::FormatVector | ( | std::string & | result, |
| const SGVECTOR & | aVector ) |
Definition at line 114 of file sg_helpers.cpp.
References FormatFloat(), SGVECTOR::GetVector(), and result.
Referenced by SGNORMALS::WriteVRML().
| void S3D::Free3DMesh | ( | SMESH & | aMesh | ) |
Free memory used internally by an SMESH structure.
Definition at line 445 of file ifsg_api.cpp.
References FREE_SMESH().
Referenced by GetModel().
| void S3D::Free3DModel | ( | S3DMODEL & | aModel | ) |
Free memory used internally by an S3DMODEL structure.
Definition at line 439 of file ifsg_api.cpp.
References FREE_S3DMODEL().
| void S3D::FREE_S3DMODEL | ( | S3DMODEL & | aModel | ) |
Definition at line 322 of file sg_node.cpp.
References FREE_SMESH(), S3DMODEL::m_Materials, S3DMODEL::m_MaterialsSize, S3DMODEL::m_Meshes, and S3DMODEL::m_MeshesSize.
Referenced by Destroy3DModel(), and Free3DModel().
|
noexcept |
Definition at line 284 of file sg_node.cpp.
Referenced by Free3DMesh(), and FREE_S3DMODEL().
|
noexcept |
Retrieve version information of the kicad_3dsg library.
Definition at line 471 of file ifsg_api.cpp.
References KICADSG_VERSION_MAJOR, KICADSG_VERSION_MINOR, KICADSG_VERSION_PATCH, and KICADSG_VERSION_REVISION.
Definition at line 241 of file sg_node.cpp.
References SGNODE::GetNodeType(), S3D::MATLIST::matmap, S3D::MATLIST::matorder, and SGTYPE_APPEARANCE.
Referenced by SGSHAPE::Prepare().
| S3DMODEL * S3D::GetModel | ( | SCENEGRAPH * | aNode | ) |
Create an S3DMODEL representation of aNode (raw data, no transforms).
| aNode | is the node to be transcribed into an S3DMODEL representation |
Definition at line 362 of file ifsg_api.cpp.
References SGAPPEARANCE::ambient, SGAPPEARANCE::diffuse, formatMaterial(), Free3DMesh(), SGNODE::GetNodeType(), S3D::MATLIST::matmap, S3D::MATLIST::matorder, model, New3DModel(), SCENEGRAPH::Prepare(), SGTYPE_TRANSFORM, SGAPPEARANCE::shininess, SGAPPEARANCE::specular, and SGAPPEARANCE::transparency.
Referenced by ImportModel(), and S3D_CACHE::load().
|
noexcept |
Return the name of the given type of node.
Definition at line 50 of file sg_node.cpp.
References node_names.
Referenced by ReadTag().
Definition at line 518 of file ifsg_api.cpp.
References SGNODE::GetParent().
Referenced by addItems(), SHAPE::CalcShape(), EXPORTER_PCB_VRML::create_vrml_plane(), EXPORTER_PCB_VRML::create_vrml_shell(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), processFace(), WRL1MATERIAL::Reclaim(), WRL2APPEARANCE::TranslateToSG(), WRL2BASE::TranslateToSG(), WRL2BOX::TranslateToSG(), WRL2FACESET::TranslateToSG(), WRL2INLINE::TranslateToSG(), WRL2MATERIAL::TranslateToSG(), WRL2SHAPE::TranslateToSG(), WRL2TRANSFORM::TranslateToSG(), X3DAPP::TranslateToSG(), X3DIFACESET::TranslateToSG(), X3DSHAPE::TranslateToSG(), X3DTRANSFORM::TranslateToSG(), DATA::~DATA(), EXPORTER_PCB_VRML::~EXPORTER_PCB_VRML(), WRL1MATERIAL::~WRL1MATERIAL(), and WRL2BASE::~WRL2BASE().
| S3D::SGTYPES S3D::GetSGNodeType | ( | SGNODE * | aNode | ) |
Definition at line 509 of file ifsg_api.cpp.
References SGNODE::GetNodeType(), and SGTYPE_END.
Referenced by WRL1GROUP::TranslateToSG(), WRL1SEPARATOR::TranslateToSG(), WRL2APPEARANCE::TranslateToSG(), WRL2BOX::TranslateToSG(), WRL2FACESET::TranslateToSG(), WRL2INLINE::TranslateToSG(), WRL2MATERIAL::TranslateToSG(), WRL2SHAPE::TranslateToSG(), WRL2SWITCH::TranslateToSG(), WRL2TRANSFORM::TranslateToSG(), X3DAPP::TranslateToSG(), X3DIFACESET::TranslateToSG(), X3DSHAPE::TranslateToSG(), and X3DTRANSFORM::TranslateToSG().
|
noexcept |
Import and flatten one model without invoking GUI facilities.
Source and expanded temporary data are admitted against maxExpandedBytes, and the flattened arrays are admitted against maxMeshBytes using checked arithmetic. OCCT can allocate its document and tessellation before those flattened-array checks, so these limits are not a hard process-memory cap. Cancellation is checked before and after file readers and tessellation, and at parser, label, face, vertex and triangle loop boundaries. Individual OCCT read and BRepMesh_IncrementalMesh calls are noninterruptible.
Definition at line 342 of file model_import.cpp.
References AUTO, CANCELED, Destroy3DModel(), MODEL_IMPORT_STATUS::diagnostic, MODEL_IMPORT_STATUS::error, S3D::MODEL_IMPORT_OPTIONS::format, GetModel(), IGES, IMPORT_FAILED, INTERNAL, INVALID, S3D::MODEL_IMPORT_OPTIONS::IsCanceled(), LoadModel(), LoadVRMLModel(), S3D::MODEL_IMPORT_OPTIONS::maxExpandedBytes, NONE, OUT_OF_MEMORY, result, STEP, S3D::MODEL_IMPORT_OPTIONS::stepAngularDeflectionDegrees, S3D::MODEL_IMPORT_OPTIONS::stepLinearDeflection, TOO_LARGE, UNREADABLE, UNSUPPORTED, VRML, and X3D.
Referenced by S3D::MODEL_IMPORT_QUEUE::STATE::Process().
| void S3D::Init3DMaterial | ( | SMATERIAL & | aMat | ) |
Initializes an SMATERIAL structure.
Definition at line 459 of file ifsg_api.cpp.
References INIT_SMATERIAL().
| void S3D::Init3DMesh | ( | SMESH & | aMesh | ) |
Create and initialize an SMESH structure.
Definition at line 465 of file ifsg_api.cpp.
References INIT_SMESH().
|
noexcept |
Definition at line 278 of file sg_node.cpp.
Referenced by New3DModel().
| void S3D::INIT_SMATERIAL | ( | SMATERIAL & | aMaterial | ) |
Definition at line 266 of file sg_node.cpp.
Referenced by Init3DMaterial().
|
noexcept |
Definition at line 272 of file sg_node.cpp.
Referenced by Init3DMesh(), and SGSHAPE::Prepare().
|
noexcept |
Serialize parser and scene-name operations.
Ordinary callers use MODEL_IMPORT_LOCK rather than these raw entry points. A caller performing a ResetNodeIndex/RenameNodes/write sequence must hold this recursive lock across the entire sequence.
Definition at line 47 of file ifsg_api.cpp.
Referenced by S3D::MODEL_IMPORT_LOCK::MODEL_IMPORT_LOCK().
| S3DMODEL * S3D::New3DModel | ( | void | ) |
Create and initialize an S3DMODEL structure.
Definition at line 451 of file ifsg_api.cpp.
References INIT_S3DMODEL().
Referenced by GetModel().
|
inlinenoexcept |
Options for previewing a file the user has not opened.
Inline following is off because merely selecting or hovering a model does not grant access to its siblings, and the byte caps are tightened because a preview host has no way to report progress or to be interrupted by the user.
Definition at line 117 of file model_import.h.
References S3D::MODEL_IMPORT_OPTIONS::maxCompressedBytes, S3D::MODEL_IMPORT_OPTIONS::maxExpandedBytes, S3D::MODEL_IMPORT_OPTIONS::maxMeshBytes, PreviewImportOptions(), and S3D::MODEL_IMPORT_OPTIONS::vrmlEnableInline.
Referenced by MODEL_FILE_PREVIEW_REQUEST_SERVICE::MakeRequest(), and PreviewImportOptions().
| SGNODE * S3D::ReadCache | ( | const char * | aFileName, |
| void * | aPluginMgr, | ||
| bool(* | aTagCheck )(const char *, void *) ) |
Read a binary cache file and creates an SGNODE tree.
| aFileName | is the name of the binary cache file to be read. |
| aPluginMgr | is the plugin manager. |
| aTagCheck | is a callback function to check tags. |
Definition at line 243 of file ifsg_api.cpp.
References CLOSE_STREAM, name, OPEN_ISTREAM, and SG_VERSION_TAG.
Referenced by S3D_CACHE::loadCacheData().
| bool S3D::ReadColor | ( | std::istream & | aFile, |
| SGCOLOR & | aColor ) |
Definition at line 291 of file sg_helpers.cpp.
References SGCOLOR::SetColor().
Referenced by SGAPPEARANCE::ReadCache(), and SGCOLORS::ReadCache().
| bool S3D::ReadPoint | ( | std::istream & | aFile, |
| SGPOINT & | aPoint ) |
Definition at line 263 of file sg_helpers.cpp.
References SGPOINT::x, SGPOINT::y, and SGPOINT::z.
Referenced by SCENEGRAPH::ReadCache(), and SGCOORDS::ReadCache().
| S3D::SGTYPES S3D::ReadTag | ( | std::istream & | aFile, |
| std::string & | aName ) |
Read the text tag of a binary cache file which is the NodeTag and unique ID number combined.
| aFile | is a binary file open for reading. |
| aName | will hold the tag name on successful return. |
Definition at line 191 of file sg_helpers.cpp.
References GetNodeTypeName(), name, SGTYPE_APPEARANCE, SGTYPE_COLORINDEX, SGTYPE_COLORS, SGTYPE_COORDINDEX, SGTYPE_COORDS, SGTYPE_END, SGTYPE_FACESET, SGTYPE_NORMALS, SGTYPE_SHAPE, and SGTYPE_TRANSFORM.
Referenced by SCENEGRAPH::ReadCache(), SGFACESET::ReadCache(), and SGSHAPE::ReadCache().
| bool S3D::ReadVector | ( | std::istream & | aFile, |
| SGVECTOR & | aVector ) |
Definition at line 276 of file sg_helpers.cpp.
References SGVECTOR::SetVector().
Referenced by SCENEGRAPH::ReadCache(), and SGNORMALS::ReadCache().
| void S3D::RenameNodes | ( | SGNODE * | aNode | ) |
Rename a node and all children nodes based on the current values of the global SG* class indices.
| aNode | is a top level node |
Definition at line 159 of file ifsg_api.cpp.
References SGNODE::ReNameNodes().
| void S3D::ResetNodeIndex | ( | SGNODE * | aNode | ) |
Reset the global SG* class indices.
| aNode | may be any valid SGNODE |
Definition at line 149 of file ifsg_api.cpp.
References SGNODE::ResetNodeIndex().
|
noexcept |
Definition at line 53 of file ifsg_api.cpp.
Referenced by S3D::MODEL_IMPORT_LOCK::~MODEL_IMPORT_LOCK().
| bool S3D::WriteCache | ( | const char * | aFileName, |
| bool | overwrite, | ||
| SGNODE * | aNode, | ||
| const char * | aPluginInfo ) |
Write the SGNODE tree to a binary cache file.
| aFileName | is the name of the file to write |
| overwrite | must be set to true to overwrite an existing file |
| aNode | is any node within the node tree which is to be written |
| aPluginInfo | is the string that describes the plugin. |
Definition at line 177 of file ifsg_api.cpp.
References CLOSE_STREAM, OPEN_OSTREAM, SG_VERSION_TAG, and SGNODE::WriteCache().
Referenced by S3D_CACHE::saveCacheData().
| bool S3D::WriteColor | ( | std::ostream & | aFile, |
| const SGCOLOR & | aColor ) |
Definition at line 176 of file sg_helpers.cpp.
References SGCOLOR::GetColor().
Referenced by SGAPPEARANCE::WriteCache(), and SGCOLORS::WriteCache().
| bool S3D::WritePoint | ( | std::ostream & | aFile, |
| const SGPOINT & | aPoint ) |
Definition at line 148 of file sg_helpers.cpp.
References SGPOINT::x, SGPOINT::y, and SGPOINT::z.
Referenced by SCENEGRAPH::WriteCache(), and SGCOORDS::WriteCache().
| bool S3D::WriteVector | ( | std::ostream & | aFile, |
| const SGVECTOR & | aVector ) |
Definition at line 161 of file sg_helpers.cpp.
References SGVECTOR::GetVector().
Referenced by SCENEGRAPH::WriteCache(), and SGNORMALS::WriteCache().
| bool S3D::WriteVRML | ( | const char * | filename, |
| bool | overwrite, | ||
| SGNODE * | aTopNode, | ||
| bool | reuse, | ||
| bool | renameNodes ) |
Write out the given node and its subnodes to a VRML2 file.
| filename | is the name of the output file |
| overwrite | should be set to true to overwrite an existing VRML file |
| aTopNode | is a pointer to a SCENEGRAPH object representing the VRML scene |
| reuse | should be set to true to make use of VRML DEF/USE features |
| renameNodes | is the flag to allow or prevent node renaming. |
Definition at line 91 of file ifsg_api.cpp.
References CLOSE_STREAM, SGNODE::GetNodeType(), OPEN_OSTREAM, SGNODE::ReNameNodes(), SGNODE::ResetNodeIndex(), SGTYPE_TRANSFORM, and SGNODE::WriteVRML().
Referenced by EXPORTER_PCB_VRML::ExportVrmlFootprint(), Load(), LoadModel(), LoadVRML(), and EXPORTER_PCB_VRML::writeLayers().