38 m_Type = WRL1NODES::WRL1_MATERIALBINDING;
46 m_Type = WRL1NODES::WRL1_MATERIALBINDING;
56 wxLogTrace(
traceVrmlPlugin, wxT(
" * [INFO] Destroying MaterialBinding node\n" ) );
63 wxCHECK_MSG(
false,
false, wxT(
"AddRefNode is not applicable." ) );
70 wxCHECK_MSG(
false,
false, wxT(
"AddChildNode is not applicable." ) );
76 wxCHECK_MSG( aTopNode,
false, wxT(
"aTopNode is NULL." ) );
78 char tok = proc.
Peek();
84 " * [INFO] bad file format; unexpected eof %s." ),
94 " * [INFO] bad file format; expecting '{' but got '%s' %s." ),
105 if( proc.
Peek() ==
'}' )
115 __FILE__, __FUNCTION__, __LINE__, proc.
GetError() );
120 if( glob.compare(
"value" ) )
124 " * [INFO] bad MaterialBinding %s (expecting keyword 'value').\n"
125 " * [INFO] file: '%s'." ),
136 __FILE__, __FUNCTION__, __LINE__, proc.
GetError() );
151 if( !glob.compare(
"DEFAULT" ) )
155 else if( !glob.compare(
"OVERALL" ) )
159 else if( !glob.compare(
"PER_PART" ) )
163 else if( !glob.compare(
"PER_PART_INDEXED" ) )
165 m_binding = WRL1_BINDING::BIND_PER_PART_INDEXED;
167 else if( !glob.compare(
"PER_FACE" ) )
171 else if( !glob.compare(
"PER_FACE_INDEXED" ) )
173 m_binding = WRL1_BINDING::BIND_PER_FACE_INDEXED;
175 else if( !glob.compare(
"PER_VERTEX" ) )
177 m_binding = WRL1_BINDING::BIND_PER_VERTEX;
179 else if( !glob.compare(
"PER_VERTEX_INDEXED" ) )
181 m_binding = WRL1_BINDING::BIND_PER_VERTEX_INDEXED;
186 " * [INFO] bad MaterialBinding %s\n"
187 " * [INFO] file: '%s'" ),
201 wxCHECK_MSG ( sp,
nullptr, wxT(
"Bad model: no base data given." ) );
The base class of all Scene Graph nodes.
Represent the top node of a VRML1 model.
bool Read(WRLPROC &proc, WRL1BASE *aTopNode) override
bool AddChildNode(WRL1NODE *aNode) override
SGNODE * TranslateToSG(SGNODE *aParent, WRL1STATUS *sp) override
Produce a representation of the data using the intermediate scenegraph structures of the kicad_3dsg l...
WRL1MATBINDING(NAMEREGISTER *aDictionary)
bool AddRefNode(WRL1NODE *aNode) override
virtual ~WRL1MATBINDING()
The base class of all VRML1 nodes.
virtual bool AddChildNode(WRL1NODE *aNode)
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