55 #if defined( DEBUG_VRML1 ) && ( DEBUG_VRML1 > 2 ) 57 std::ostringstream ostr;
58 ostr <<
" * [INFO] Destroying Separator with " <<
m_Children.size();
59 ostr <<
" children, " <<
m_Refs.size() <<
" references and ";
61 wxLogTrace(
MASK_VRML,
"%s\n", ostr.str().c_str() );
72 if(
NULL == aTopNode )
76 std::ostringstream ostr;
77 ostr << __FILE__ <<
": " << __FUNCTION__ <<
": " << __LINE__ <<
"\n";
78 ostr <<
" * [BUG] aTopNode is NULL";
79 wxLogTrace(
MASK_VRML,
"%s\n", ostr.str().c_str() );
89 char tok = proc.
Peek();
93 #if defined( DEBUG_VRML1 ) && ( DEBUG_VRML1 > 1 ) 95 std::ostringstream ostr;
96 ostr << __FILE__ <<
": " << __FUNCTION__ <<
": " << __LINE__ <<
"\n";
97 ostr <<
" * [INFO] bad file format; unexpected eof at line ";
98 ostr << line <<
", column " << column;
99 wxLogTrace(
MASK_VRML,
"%s\n", ostr.str().c_str() );
108 #if defined( DEBUG_VRML1 ) && ( DEBUG_VRML1 > 1 ) 110 std::ostringstream ostr;
112 ostr << __FILE__ <<
": " << __FUNCTION__ <<
": " << __LINE__ <<
"\n";
113 ostr <<
" * [INFO] bad file format; expecting '{' but got '" << tok;
114 ostr <<
"' at line " << line <<
", column " << column;
115 wxLogTrace(
MASK_VRML,
"%s\n", ostr.str().c_str() );
126 if( proc.
Peek() ==
'}' )
136 #if defined( DEBUG_VRML1 ) && ( DEBUG_VRML1 > 1 ) 138 std::ostringstream ostr;
139 ostr << __FILE__ <<
": " << __FUNCTION__ <<
": " << __LINE__ <<
"\n";
140 ostr <<
" * [INFO] bad file format; unexpected eof at line ";
141 ostr << line <<
", column " << column;
142 wxLogTrace(
MASK_VRML,
"%s\n", ostr.str().c_str() );
149 if( proc.
Peek() ==
',' )
160 #if defined( DEBUG_VRML1 ) && ( DEBUG_VRML1 > 2 ) 162 std::ostringstream ostr;
163 ostr <<
" * [INFO] Translating Separator with " <<
m_Children.size();
164 ostr <<
" children, " <<
m_Refs.size() <<
" references and ";
166 ostr <<
m_Items.size() <<
" items)";
167 wxLogTrace(
MASK_VRML,
"%s\n", ostr.str().c_str() );
175 std::ostringstream ostr;
176 ostr << __FILE__ <<
": " << __FUNCTION__ <<
": " << __LINE__ <<
"\n";
177 ostr <<
" * [BUG] Separator has no parent";
178 wxLogTrace(
MASK_VRML,
"%s\n", ostr.str().c_str() );
196 std::ostringstream ostr;
197 ostr << __FILE__ <<
": " << __FUNCTION__ <<
": " << __LINE__ <<
"\n";
198 ostr <<
" * [BUG] Separator does not have a Transform parent (parent ID: ";
199 ostr << ptype <<
")";
200 wxLogTrace(
MASK_VRML,
"%s\n", ostr.str().c_str() );
208 bool hasContent =
false;
210 std::list< WRL1NODE* >::iterator sI =
m_Items.begin();
211 std::list< WRL1NODE* >::iterator eI =
m_Items.end();
WRL1BASE represents the top node of a VRML1 model.
bool GetFilePosData(size_t &line, size_t &column)
WRL1SEPARATOR(NAMEREGISTER *aDictionary)
The base class of all Scene Graph nodes.
collects header files for all SG* wrappers and the API
SGNODE * GetRawPtr(void) noexcept
Function GetRawPtr() returns the raw internal SGNODE pointer.
std::list< WRL1NODE * > m_BackPointers
std::list< WRL1NODE * > m_Refs
bool ReadNode(WRLPROC &proc, WRL1NODE *aParent, WRL1NODE **aNode)
WRL1NODE represents the base class of all VRML1 nodes.
virtual bool AddChildNode(WRL1NODE *aNode)
SGLIB_API S3D::SGTYPES GetSGNodeType(SGNODE *aNode)
SGNODE * TranslateToSG(SGNODE *aParent, WRL1STATUS *sp) override
Function TranslateToSG produces a representation of the data using the intermediate scenegraph struct...
std::list< WRL1NODE * > m_Items
std::string GetError(void)
void Destroy(void)
Function Destroy deletes the object held by this wrapper.
bool Read(WRLPROC &proc, WRL1BASE *aTopNode) override
std::list< WRL1NODE * > m_Children