37 m_Type = WRL1NODES::WRL1_SWITCH;
45 m_Type = WRL1NODES::WRL1_SWITCH;
57 wxT(
" * [INFO] Destroying Switch node with %zu children, %zu"
58 "references, and %zu back pointers." ),
74 wxCHECK_MSG( aTopNode,
false, wxT(
"Invalid top node." ) );
76 char tok = proc.
Peek();
81 " * [INFO] bad file format; unexpected eof %s." ),
91 " * [INFO] bad file format; expecting '{' but got '%s' %s.\n"
104 char pchar = proc.
Peek();
111 else if ( pchar ==
'w' )
117 __FILE__, __FUNCTION__, __LINE__ , proc.
GetError() );
122 if( !glob.compare(
"whichChild" ) )
128 " * [INFO] invalid whichChild %s (invalid value '%s')\n"
129 " * [INFO] file: '%s'\n"
142 " * [INFO] invalid Switch %s (unexpected 'whichChild')\n"
143 " * [INFO] file: '%s'" ),
150 if( !aTopNode->
ReadNode( proc,
this,
nullptr ) )
154 " * [INFO] bad file format; unexpected eof %s."),
160 if( proc.
Peek() ==
',' )
172 wxT(
" * [INFO] Translating Switch node with %zu children, %zu"
173 "references, and %zu back pointers (%zu total items)." ),
179 if( whichChild < 0 || whichChild >= (
int)
m_Items.size() )
188 std::list< WRL1NODE* >::iterator ip =
m_Items.begin();
193 SGNODE* np = (*ip)->TranslateToSG( aParent, sp );
The base class of all Scene Graph nodes.
Represent the top node of a VRML1 model.
bool ReadNode(WRLPROC &proc, WRL1NODE *aParent, WRL1NODE **aNode)
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
bool Read(WRLPROC &proc, WRL1BASE *aTopNode) override
WRL1SWITCH(NAMEREGISTER *aDictionary)
SGNODE * TranslateToSG(SGNODE *aParent, WRL1STATUS *sp) override
Produce a representation of the data using the intermediate scenegraph structures of the kicad_3dsg l...
bool ReadSFInt(int &aSFInt32)
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