27#include <wx/xml/xml.h>
28#include <wx/tokenzr.h>
44 if(
nullptr != aParent )
59 wxLogTrace(
traceVrmlPlugin, wxT(
" * [INFO] Destroying Coordinate" ) );
65 if(
nullptr == aTopNode ||
nullptr == aNode )
71 for( prop = aNode->GetAttributes(); prop !=
nullptr; prop = prop->GetNext() )
73 const wxString& pname = prop->GetName();
75 if( pname == wxT(
"DEF" ) )
80 else if( pname == wxT(
"point" ) )
83 wxStringTokenizer plist( prop->GetValue() );
88 while( plist.HasMoreTokens() )
90 if( plist.GetNextToken().ToCDouble( &point ) )
137 if(
nullptr != aParent )
145 if(
nullptr !=
m_Parent && doUnlink )
173 aCoordList =
nullptr;
179 aListSize =
points.size();
The base class of all Scene Graph nodes.
bool SetParent(X3DNODE *aParent, bool doUnlink=true) override
Set the parent X3DNODE of this object.
bool AddRefNode(X3DNODE *aNode) override
bool Read(wxXmlNode *aNode, X3DNODE *aTopNode, X3D_DICT &aDict) override
bool AddChildNode(X3DNODE *aNode) override
void GetCoords(WRLVEC3F *&aCoordList, size_t &aListSize)
SGNODE * TranslateToSG(SGNODE *aParent) override
Produce a representation of the data using the intermediate scenegraph structures of the kicad_3dsg l...
std::vector< WRLVEC3F > points
The base class of all X3D nodes.
virtual bool AddChildNode(X3DNODE *aNode)=0
X3DNODES GetNodeType(void) const
Return the type of this node instance.
virtual void unlinkChildNode(const X3DNODE *aNode)
Remove references to an owned child; it is invoked by the child upon destruction to ensure that the p...
bool AddName(const wxString &aName, X3DNODE *aNode)
const wxChar *const traceVrmlPlugin
Flag to enable VRML plugin trace output.