KiCad PCB EDA Suite
|
Represent the top node of a VRML1 model. More...
#include <vrml1_base.h>
Public Member Functions | |
WRL1BASE () | |
virtual | ~WRL1BASE () |
bool | Read (WRLPROC &proc) |
bool | ReadNode (WRLPROC &proc, WRL1NODE *aParent, WRL1NODE **aNode) |
virtual std::string | GetName (void) override |
virtual bool | SetName (const std::string &aName) override |
bool | Read (WRLPROC &proc, WRL1BASE *aTopNode) override |
bool | SetParent (WRL1NODE *aParent, bool doUnlink=true) override |
Set the parent WRL1NODE of this object. | |
SGNODE * | TranslateToSG (SGNODE *aParent, WRL1STATUS *sp) override |
Produce a representation of the data using the intermediate scenegraph structures of the kicad_3dsg library. | |
void | cancelDict (void) |
WRL1NODES | getNodeTypeID (const std::string &aNodeName) |
Return the ID based on the given aNodeName or WRL1_INVALID (WRL1_END) if no such node name exists. | |
virtual void | unlinkChildNode (const WRL1NODE *aNode) |
Remove references to an owned child; it is invoked by the child upon destruction to ensure that the parent has no invalid references. | |
virtual void | unlinkRefNode (const WRL1NODE *aNode) |
Remove pointers to a referenced node; it is invoked by the referenced node upon destruction to ensure that the referring node has no invalid references. | |
void | addNodeRef (WRL1NODE *aNode) |
Add a pointer to a node which references, but does not own, this node. | |
void | delNodeRef (WRL1NODE *aNode) |
Remove a pointer to a node which references, but does not own, this node. | |
WRL1NODES | GetNodeType (void) const |
Return the type of this node instance. | |
WRL1NODE * | GetParent (void) const |
Return a pointer to the parent SGNODE of this object or NULL if the object has no parent (ie. | |
const char * | GetNodeTypeName (WRL1NODES aNodeType) const |
size_t | GetNItems (void) const |
virtual WRL1NODE * | FindNode (const std::string &aNodeName) |
Search the tree of linked nodes and returns a reference to the current node with the given name. | |
virtual bool | AddChildNode (WRL1NODE *aNode) |
virtual bool | AddRefNode (WRL1NODE *aNode) |
std::string | GetError (void) |
Protected Attributes | |
WRL1NODE * | m_Parent |
WRL1NODES | m_Type |
std::string | m_Name |
std::list< WRL1NODE * > | m_BackPointers |
std::list< WRL1NODE * > | m_Children |
std::list< WRL1NODE * > | m_Refs |
std::list< WRL1NODE * > | m_Items |
std::string | m_error |
WRL1STATUS | m_current |
SGNODE * | m_sgNode |
NAMEREGISTER * | m_dictionary |
Private Member Functions | |
bool | implementUse (WRLPROC &proc, WRL1NODE *aParent, WRL1NODE **aNode) |
bool | implementDef (WRLPROC &proc, WRL1NODE *aParent, WRL1NODE **aNode) |
bool | readGroup (WRLPROC &proc, WRL1NODE *aParent, WRL1NODE **aNode) |
bool | readSeparator (WRLPROC &proc, WRL1NODE *aParent, WRL1NODE **aNode) |
bool | readSwitch (WRLPROC &proc, WRL1NODE *aParent, WRL1NODE **aNode) |
bool | readMaterial (WRLPROC &proc, WRL1NODE *aParent, WRL1NODE **aNode) |
bool | readMatBinding (WRLPROC &proc, WRL1NODE *aParent, WRL1NODE **aNode) |
bool | readCoords (WRLPROC &proc, WRL1NODE *aParent, WRL1NODE **aNode) |
bool | readFaceSet (WRLPROC &proc, WRL1NODE *aParent, WRL1NODE **aNode) |
bool | readTransform (WRLPROC &proc, WRL1NODE *aParent, WRL1NODE **aNode) |
bool | readShapeHints (WRLPROC &proc, WRL1NODE *aParent, WRL1NODE **aNode) |
void | addItem (WRL1NODE *aNode) |
void | delItem (const WRL1NODE *aNode) |
Represent the top node of a VRML1 model.
Definition at line 45 of file vrml1_base.h.
WRL1BASE::WRL1BASE | ( | ) |
Definition at line 42 of file vrml1_base.cpp.
References WRL1NODE::m_dictionary, and WRL1NODE::m_Type.
|
virtual |
Definition at line 50 of file vrml1_base.cpp.
References WRL1NODE::cancelDict(), and traceVrmlPlugin.
|
virtualinherited |
Reimplemented in WRL1COORDS, WRL1FACESET, WRL1MATBINDING, WRL1MATERIAL, WRL1SHAPEHINTS, and WRL1TRANSFORM.
Definition at line 376 of file vrml1_node.cpp.
References WRL1NODE::addItem(), WRL1NODE::GetNodeType(), WRL1NODE::GetParent(), WRL1NODE::m_Children, and WRL1NODE::SetParent().
Referenced by WRL1NODE::SetParent(), WRL1COORDS::WRL1COORDS(), WRL1FACESET::WRL1FACESET(), WRL1GROUP::WRL1GROUP(), WRL1MATBINDING::WRL1MATBINDING(), WRL1MATERIAL::WRL1MATERIAL(), WRL1SEPARATOR::WRL1SEPARATOR(), WRL1SHAPEHINTS::WRL1SHAPEHINTS(), WRL1SWITCH::WRL1SWITCH(), and WRL1TRANSFORM::WRL1TRANSFORM().
|
privateinherited |
Definition at line 458 of file vrml1_node.cpp.
References WRL1NODE::m_Items.
Referenced by WRL1NODE::AddChildNode(), and WRL1NODE::AddRefNode().
|
inherited |
Add a pointer to a node which references, but does not own, this node.
Such back-pointers are required to ensure that invalidated references are removed when a node is deleted
aNode | is the node holding a reference to this object. |
Definition at line 216 of file vrml1_node.cpp.
References WRL1NODE::m_BackPointers, and WRL1NODE::m_Parent.
Referenced by WRL1NODE::AddRefNode().
|
virtualinherited |
Reimplemented in WRL1COORDS, WRL1FACESET, WRL1MATBINDING, WRL1MATERIAL, WRL1SHAPEHINTS, and WRL1TRANSFORM.
Definition at line 403 of file vrml1_node.cpp.
References WRL1NODE::addItem(), WRL1NODE::addNodeRef(), WRL1NODE::GetNodeType(), and WRL1NODE::m_Refs.
Referenced by implementUse().
|
inherited |
Definition at line 198 of file vrml1_node.cpp.
References WRL1NODE::m_Children, WRL1NODE::m_dictionary, and WRL1NODE::m_Type.
Referenced by ~WRL1BASE().
|
privateinherited |
Definition at line 464 of file vrml1_node.cpp.
References WRL1NODE::m_Items.
Referenced by WRL1NODE::unlinkChildNode(), and WRL1NODE::unlinkRefNode().
|
inherited |
Remove a pointer to a node which references, but does not own, this node.
aNode | is the node holding a reference to this object. |
Definition at line 237 of file vrml1_node.cpp.
References WRL1NODE::m_BackPointers, and traceVrmlPlugin.
|
virtualinherited |
Search the tree of linked nodes and returns a reference to the current node with the given name.
The reference is then typically added to another node via AddRefNode().
aNodeName | is the name of the node to search for. |
Definition at line 350 of file vrml1_node.cpp.
References NAMEREGISTER::FindName(), and WRL1NODE::m_dictionary.
Referenced by implementUse().
|
inherited |
Definition at line 344 of file vrml1_node.cpp.
References WRL1NODE::m_error.
|
overridevirtual |
Reimplemented from WRL1NODE.
Definition at line 64 of file vrml1_base.cpp.
|
inherited |
Definition at line 338 of file vrml1_node.cpp.
References WRL1NODE::m_Items.
|
inherited |
Return the type of this node instance.
Definition at line 254 of file vrml1_node.cpp.
References WRL1NODE::m_Type.
Referenced by WRL1NODE::AddChildNode(), WRL1NODE::AddRefNode(), implementUse(), WRL1GROUP::TranslateToSG(), and WRL1TRANSFORM::TranslateToSG().
|
inherited |
Return the ID based on the given aNodeName or WRL1_INVALID (WRL1_END) if no such node name exists.
Definition at line 327 of file vrml1_node.cpp.
References nodenames.
Referenced by ReadNode().
|
inherited |
|
inherited |
Return a pointer to the parent SGNODE of this object or NULL if the object has no parent (ie.
top level transform).
Definition at line 260 of file vrml1_node.cpp.
References WRL1NODE::m_Parent.
Referenced by WRL1NODE::AddChildNode().
Definition at line 156 of file vrml1_base.cpp.
References NAMEREGISTER::AddName(), WRLPROC::GetError(), WRLPROC::GetFilePosition(), WRL1NODE::m_dictionary, WRLPROC::ReadName(), ReadNode(), WRL1NODE::SetName(), and traceVrmlPlugin.
Referenced by ReadNode().
Definition at line 111 of file vrml1_base.cpp.
References WRL1NODE::AddRefNode(), WRL1NODE::FindNode(), WRLPROC::GetError(), WRL1NODE::GetNodeType(), WRL1NODE::GetNodeTypeName(), WRLPROC::ReadName(), and traceVrmlPlugin.
Referenced by ReadNode().
bool WRL1BASE::Read | ( | WRLPROC & | proc | ) |
Definition at line 77 of file vrml1_base.cpp.
References WRLPROC::eof(), WRLPROC::GetError(), WRLPROC::GetFilePosition(), WRLPROC::GetVRMLType(), WRLPROC::Peek(), ReadNode(), and traceVrmlPlugin.
Referenced by LoadVRML().
Implements WRL1NODE.
Definition at line 346 of file vrml1_base.cpp.
Definition at line 449 of file vrml1_base.cpp.
References WRL1NODE::m_dictionary, and WRL1COORDS::Read().
Referenced by ReadNode().
Definition at line 469 of file vrml1_base.cpp.
References WRL1NODE::m_dictionary, and WRL1FACESET::Read().
Referenced by ReadNode().
Definition at line 352 of file vrml1_base.cpp.
References WRL1NODE::m_dictionary, and WRL1GROUP::Read().
Referenced by ReadNode().
Definition at line 429 of file vrml1_base.cpp.
References WRL1NODE::m_dictionary, and WRL1MATBINDING::Read().
Referenced by ReadNode().
Definition at line 409 of file vrml1_base.cpp.
References WRL1NODE::m_dictionary, and WRL1MATERIAL::Read().
Referenced by ReadNode().
Definition at line 200 of file vrml1_base.cpp.
References WRLPROC::DiscardNode(), WRLPROC::eof(), WRLPROC::GetError(), WRLPROC::GetFilePosition(), WRL1NODE::getNodeTypeID(), implementDef(), implementUse(), readCoords(), readFaceSet(), readGroup(), readMatBinding(), readMaterial(), WRLPROC::ReadName(), readSeparator(), readShapeHints(), readSwitch(), readTransform(), and traceVrmlPlugin.
Referenced by implementDef(), Read(), WRL1GROUP::Read(), WRL1SEPARATOR::Read(), and WRL1SWITCH::Read().
Definition at line 372 of file vrml1_base.cpp.
References WRL1NODE::m_dictionary, and WRL1SEPARATOR::Read().
Referenced by ReadNode().
Definition at line 509 of file vrml1_base.cpp.
References WRL1NODE::m_dictionary, and WRL1SHAPEHINTS::Read().
Referenced by ReadNode().
Definition at line 392 of file vrml1_base.cpp.
References WRL1NODE::m_dictionary, and WRL1SWITCH::Read().
Referenced by ReadNode().
Definition at line 489 of file vrml1_base.cpp.
References WRL1NODE::m_dictionary, and WRL1TRANSFORM::Read().
Referenced by ReadNode().
|
overridevirtual |
Reimplemented from WRL1NODE.
Definition at line 71 of file vrml1_base.cpp.
|
overridevirtual |
Set the parent WRL1NODE of this object.
aParent | [in] is the desired parent node. |
doUnlink | indicates that the child must be unlinked from the parent |
Reimplemented from WRL1NODE.
Definition at line 58 of file vrml1_base.cpp.
|
overridevirtual |
Produce a representation of the data using the intermediate scenegraph structures of the kicad_3dsg library.
aParent | is a pointer to the parent SG node. |
Implements WRL1NODE.
Definition at line 529 of file vrml1_base.cpp.
References IFSG_NODE::Destroy(), IFSG_NODE::GetRawPtr(), WRL1STATUS::Init(), WRL1NODE::m_current, WRL1NODE::m_Items, and traceVrmlPlugin.
Referenced by LoadVRML().
|
virtualinherited |
Remove references to an owned child; it is invoked by the child upon destruction to ensure that the parent has no invalid references.
aNode | is the child which is being deleted. |
Definition at line 420 of file vrml1_node.cpp.
References WRL1NODE::delItem(), and WRL1NODE::m_Children.
Referenced by WRL1NODE::SetParent(), and WRL1NODE::~WRL1NODE().
|
virtualinherited |
Remove pointers to a referenced node; it is invoked by the referenced node upon destruction to ensure that the referring node has no invalid references.
aNode | is the node which is being deleted. |
Definition at line 439 of file vrml1_node.cpp.
References WRL1NODE::delItem(), and WRL1NODE::m_Refs.
|
protectedinherited |
Definition at line 230 of file vrml1_node.h.
Referenced by WRL1NODE::addNodeRef(), WRL1NODE::delNodeRef(), WRL1GROUP::TranslateToSG(), WRL1SEPARATOR::TranslateToSG(), WRL1SWITCH::TranslateToSG(), WRL1FACESET::~WRL1FACESET(), WRL1GROUP::~WRL1GROUP(), WRL1NODE::~WRL1NODE(), WRL1SEPARATOR::~WRL1SEPARATOR(), WRL1SWITCH::~WRL1SWITCH(), and WRL1TRANSFORM::~WRL1TRANSFORM().
|
protectedinherited |
Definition at line 231 of file vrml1_node.h.
Referenced by WRL1NODE::AddChildNode(), WRL1NODE::cancelDict(), WRL1GROUP::TranslateToSG(), WRL1SEPARATOR::TranslateToSG(), WRL1SWITCH::TranslateToSG(), WRL1NODE::unlinkChildNode(), WRL1FACESET::~WRL1FACESET(), WRL1GROUP::~WRL1GROUP(), WRL1NODE::~WRL1NODE(), WRL1SEPARATOR::~WRL1SEPARATOR(), WRL1SWITCH::~WRL1SWITCH(), and WRL1TRANSFORM::~WRL1TRANSFORM().
|
protectedinherited |
Definition at line 236 of file vrml1_node.h.
Referenced by TranslateToSG(), WRL1FACESET::TranslateToSG(), WRL1GROUP::TranslateToSG(), WRL1SEPARATOR::TranslateToSG(), and WRL1SWITCH::TranslateToSG().
|
protectedinherited |
Definition at line 246 of file vrml1_node.h.
Referenced by WRL1NODE::cancelDict(), WRL1NODE::FindNode(), implementDef(), readCoords(), readFaceSet(), readGroup(), readMatBinding(), readMaterial(), readSeparator(), readShapeHints(), readSwitch(), readTransform(), WRL1NODE::SetName(), WRL1BASE(), WRL1NODE::WRL1NODE(), and WRL1NODE::~WRL1NODE().
|
protectedinherited |
Definition at line 234 of file vrml1_node.h.
Referenced by WRL1NODE::GetError().
|
protectedinherited |
Definition at line 233 of file vrml1_node.h.
Referenced by WRL1NODE::addItem(), WRL1NODE::delItem(), WRL1NODE::GetNItems(), TranslateToSG(), WRL1GROUP::TranslateToSG(), WRL1SEPARATOR::TranslateToSG(), WRL1SWITCH::TranslateToSG(), and WRL1NODE::~WRL1NODE().
|
protectedinherited |
Definition at line 228 of file vrml1_node.h.
Referenced by WRL1NODE::GetName(), WRL1NODE::SetName(), and WRL1NODE::~WRL1NODE().
|
protectedinherited |
Definition at line 226 of file vrml1_node.h.
Referenced by WRL1NODE::addNodeRef(), WRL1NODE::GetParent(), WRL1NODE::SetParent(), WRL1FACESET::TranslateToSG(), WRL1GROUP::TranslateToSG(), WRL1SEPARATOR::TranslateToSG(), WRL1TRANSFORM::TranslateToSG(), WRL1COORDS::WRL1COORDS(), WRL1FACESET::WRL1FACESET(), WRL1GROUP::WRL1GROUP(), WRL1MATBINDING::WRL1MATBINDING(), WRL1MATERIAL::WRL1MATERIAL(), WRL1NODE::WRL1NODE(), WRL1SEPARATOR::WRL1SEPARATOR(), WRL1SHAPEHINTS::WRL1SHAPEHINTS(), WRL1SWITCH::WRL1SWITCH(), WRL1TRANSFORM::WRL1TRANSFORM(), and WRL1NODE::~WRL1NODE().
|
protectedinherited |
Definition at line 232 of file vrml1_node.h.
Referenced by WRL1NODE::AddRefNode(), WRL1GROUP::TranslateToSG(), WRL1SEPARATOR::TranslateToSG(), WRL1SWITCH::TranslateToSG(), WRL1NODE::unlinkRefNode(), WRL1FACESET::~WRL1FACESET(), WRL1GROUP::~WRL1GROUP(), WRL1NODE::~WRL1NODE(), WRL1SEPARATOR::~WRL1SEPARATOR(), WRL1SWITCH::~WRL1SWITCH(), and WRL1TRANSFORM::~WRL1TRANSFORM().
|
protectedinherited |
Definition at line 237 of file vrml1_node.h.
Referenced by WRL1NODE::WRL1NODE().
|
protectedinherited |
Definition at line 227 of file vrml1_node.h.
Referenced by WRL1NODE::cancelDict(), WRL1NODE::GetNodeType(), WRL1BASE(), WRL1COORDS::WRL1COORDS(), WRL1FACESET::WRL1FACESET(), WRL1GROUP::WRL1GROUP(), WRL1MATBINDING::WRL1MATBINDING(), WRL1MATERIAL::WRL1MATERIAL(), WRL1NODE::WRL1NODE(), WRL1SEPARATOR::WRL1SEPARATOR(), WRL1SHAPEHINTS::WRL1SHAPEHINTS(), WRL1SWITCH::WRL1SWITCH(), WRL1TRANSFORM::WRL1TRANSFORM(), and WRL1NODE::~WRL1NODE().