36 m_Type = WRL1NODES::WRL1_SEPARATOR;
43 m_Type = WRL1NODES::WRL1_SEPARATOR;
54 wxT(
" * [INFO] Destroying Separator with %zu children %zu references, and %zu "
62 wxCHECK_MSG( aTopNode,
false, wxT(
"Invalid top node." ) );
64 char tok = proc.
Peek();
69 " * [INFO] bad file format; unexpected eof %s." ),
79 " * [INFO] bad file format; expecting '{' but got '%s' %s." ),
89 if( proc.
Peek() ==
'}' )
95 if( !aTopNode->
ReadNode( proc,
this,
nullptr ) )
98 " * [INFO] bad file format; unexpected eof %s." ),
104 if( proc.
Peek() ==
',' )
115 wxCHECK_MSG(
m_Parent,
nullptr, wxT(
"Separator has no parent." ) );
118 wxT(
" * [INFO] Translating Separator with %zu children, %zu references, and "
119 "%zu back pointers (%zu total items)." ),
130 wxString::Format( wxT(
"Separator does not have a Transform parent (parent "
131 "ID: %d)." ), ptype ) );
134 bool hasContent =
false;
136 std::list< WRL1NODE* >::iterator sI =
m_Items.begin();
137 std::list< WRL1NODE* >::iterator eI =
m_Items.end();
143 if(
nullptr != (*sI)->TranslateToSG( node, &
m_current ) )
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)
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
WRL1SEPARATOR(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...
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)