42 m_Type = WRL1NODES::WRL1_GROUP;
49 m_Type = WRL1NODES::WRL1_GROUP;
60 wxT(
" * [INFO] Destroying Group with %zu children, %zu references, and %zu "
68 if(
nullptr == aTopNode )
71 " * [BUG] aTopNode is NULL" ),
72 __FILE__, __FUNCTION__, __LINE__ );
77 char tok = proc.
Peek();
83 " * [INFO] bad file format; unexpected eof %s." ),
93 " * [INFO] bad file format; expecting '{' but got '%s' %s." ),
103 if( proc.
Peek() ==
'}' )
109 if( !aTopNode->
ReadNode( proc,
this,
nullptr ) )
113 " * [INFO] bad file format; unexpected eof %s." ),
119 if( proc.
Peek() ==
',' )
130 wxCHECK_MSG(
m_Parent,
nullptr, wxT(
"Group has no parent." ) );
133 wxT(
" * [INFO] Translating Group with %zu children, %zu references, %zu back "
134 "pointers, and %zu items." ),
143 wxLogTrace(
traceVrmlPlugin, wxT(
" * [INFO] bad model: no base data given." ) );
148 else if(
nullptr == sp )
158 wxT(
" * [BUG] Group does not have a Transform parent (parent ID: %d" ),
162 bool hasContent =
false;
164 std::list< WRL1NODE* >::iterator sI =
m_Items.begin();
165 std::list< WRL1NODE* >::iterator eI =
m_Items.end();
171 if(
nullptr != (*sI)->TranslateToSG( node, sp ) )
SGNODE * GetRawPtr(void) noexcept
Function GetRawPtr() returns the raw internal SGNODE pointer.
void Destroy(void)
Function Destroy deletes the object held by this wrapper.
The base class of all Scene Graph nodes.
Represent the top node of a VRML1 model.
bool ReadNode(WRLPROC &proc, WRL1NODE *aParent, WRL1NODE **aNode)
SGNODE * TranslateToSG(SGNODE *aParent, WRL1STATUS *sp) override
Produce a representation of the data using the intermediate scenegraph structures of the kicad_3dsg l...
WRL1GROUP(NAMEREGISTER *aDictionary)
bool Read(WRLPROC &proc, WRL1BASE *aTopNode) override
The base class of all VRML1 nodes.
std::list< WRL1NODE * > m_Items
virtual bool AddChildNode(WRL1NODE *aNode)
std::list< WRL1NODE * > m_BackPointers
std::list< WRL1NODE * > m_Children
std::list< WRL1NODE * > m_Refs
WRL1NODES GetNodeType(void) const
Return the type of this node instance.
std::string GetFilePosition() const
const wxChar *const traceVrmlPlugin
Flag to enable VRML plugin trace output.
collects header files for all SG* wrappers and the API
SGLIB_API S3D::SGTYPES GetSGNodeType(SGNODE *aNode)