54 wxT(
" * [INFO] Destroying PointSet node with %zu children, %zu"
55 "references, and %zu back pointers." ),
100 wxCHECK_MSG( aNode,
false, wxT(
"Invalid node." ) );
108 " * [INFO] bad file format; unexpected child node '%s'." ),
116 if(
nullptr !=
color )
120 " * [INFO] bad file format; multiple color nodes." ),
121 __FILE__, __FUNCTION__, __LINE__ );
132 if(
nullptr !=
coord )
136 " * [INFO] bad file format; multiple coord nodes." ),
137 __FILE__, __FUNCTION__, __LINE__ );
152 wxCHECK_MSG( aNode,
false, wxT(
"Invalid node." ) );
160 " * [INFO] bad file format; unexpected child node '%s'." ),
168 if(
nullptr !=
color )
172 " * [INFO] bad file format; multiple color nodes." ),
173 __FILE__, __FUNCTION__, __LINE__ );
184 if(
nullptr !=
coord )
188 " * [INFO] bad file format; multiple coord nodes." ),
189 __FILE__, __FUNCTION__, __LINE__ );
205 char tok = proc.
Peek();
210 " * [INFO] bad file format; unexpected eof %s." ),
220 " * [INFO] bad file format; expecting '{' but got '%s' %s." ),
231 if( proc.
Peek() ==
'}' )
241 __FILE__, __FUNCTION__, __LINE__ , proc.
GetError() );
249 if( !glob.compare(
"color" ) )
251 if( !aTopNode->
ReadNode( proc,
this,
nullptr ) )
255 " * [INFO] could not read color node information." ),
256 __FILE__, __FUNCTION__, __LINE__ );
261 else if( !glob.compare(
"coord" ) )
263 if( !aTopNode->
ReadNode( proc,
this,
nullptr ) )
267 " * [INFO] could not read coord node information." ),
268 __FILE__, __FUNCTION__, __LINE__ );
277 " * [INFO] invalid PointSet %s (no closing brace)\n"
278 " * [INFO] file: '%s'\n" ),
299 if(
nullptr == aNode )
306 else if( aNode ==
coord )
316 if(
nullptr == aNode )
323 else if( aNode ==
coord )
334 if(
nullptr ==
color )
The base class of all Scene Graph nodes.
The top node of a VRML2 model.
bool ReadNode(WRLPROC &proc, WRL2NODE *aParent, WRL2NODE **aNode)
std::list< WRL2NODE * > m_BackPointers
WRL2NODE * GetParent(void) const
virtual void unlinkChildNode(const WRL2NODE *aNode)
Remove references to an owned child.
std::list< WRL2NODE * > m_Children
virtual bool AddRefNode(WRL2NODE *aNode)
virtual void unlinkRefNode(const WRL2NODE *aNode)
Remove pointers to a referenced node.
const char * GetNodeTypeName(WRL2NODES aNodeType) const
WRL2NODES GetNodeType(void) const
std::list< WRL2NODE * > m_Refs
virtual bool AddChildNode(WRL2NODE *aNode)
SGNODE * TranslateToSG(SGNODE *aParent) override
Produce a representation of the data using the intermediate scenegraph structures of the kicad_3dsg l...
bool isDangling(void) override
Determine whether an object should be moved to a different parent during the VRML to SG* translation.
bool AddChildNode(WRL2NODE *aNode) override
void unlinkChildNode(const WRL2NODE *aNode) override
Remove references to an owned child.
void unlinkRefNode(const WRL2NODE *aNode) override
Remove pointers to a referenced node.
bool AddRefNode(WRL2NODE *aNode) override
bool Read(WRLPROC &proc, WRL2BASE *aTopNode) override
bool checkNodeType(WRL2NODES aType)
std::string GetFileName(void)
std::string GetError(void)
bool ReadName(std::string &aName)
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