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
Return the raw internal SGNODE pointer.
void Destroy(void)
Delete 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)