KiCad PCB EDA Suite
|
The base class of all VRML1 nodes. More...
#include <vrml1_node.h>
Public Member Functions | |
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. | |
WRL1NODE (NAMEREGISTER *aDictionary) | |
virtual | ~WRL1NODE () |
virtual bool | Read (WRLPROC &proc, WRL1BASE *aTopNode)=0 |
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. | |
virtual bool | SetParent (WRL1NODE *aParent, bool doUnlink=true) |
Set the parent WRL1NODE of this object. | |
virtual std::string | GetName (void) |
virtual bool | SetName (const std::string &aName) |
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) |
virtual SGNODE * | TranslateToSG (SGNODE *aParent, WRL1STATUS *sp)=0 |
Produce a representation of the data using the intermediate scenegraph structures of the kicad_3dsg library. | |
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 | |
void | addItem (WRL1NODE *aNode) |
void | delItem (const WRL1NODE *aNode) |
The base class of all VRML1 nodes.
Definition at line 116 of file vrml1_node.h.
WRL1NODE::WRL1NODE | ( | NAMEREGISTER * | aDictionary | ) |
Definition at line 91 of file vrml1_node.cpp.
References m_dictionary, m_Parent, m_sgNode, m_Type, and nodenames.
|
virtual |
Definition at line 139 of file vrml1_node.cpp.
References NAMEREGISTER::DelName(), m_BackPointers, m_Children, m_dictionary, m_Items, m_Name, m_Parent, m_Refs, m_Type, traceVrmlPlugin, and unlinkChildNode().
|
virtual |
Reimplemented in WRL1COORDS, WRL1FACESET, WRL1MATBINDING, WRL1MATERIAL, WRL1SHAPEHINTS, and WRL1TRANSFORM.
Definition at line 376 of file vrml1_node.cpp.
References addItem(), GetNodeType(), GetParent(), m_Children, and SetParent().
Referenced by SetParent(), WRL1COORDS::WRL1COORDS(), WRL1FACESET::WRL1FACESET(), WRL1GROUP::WRL1GROUP(), WRL1MATBINDING::WRL1MATBINDING(), WRL1MATERIAL::WRL1MATERIAL(), WRL1SEPARATOR::WRL1SEPARATOR(), WRL1SHAPEHINTS::WRL1SHAPEHINTS(), WRL1SWITCH::WRL1SWITCH(), and WRL1TRANSFORM::WRL1TRANSFORM().
|
private |
Definition at line 458 of file vrml1_node.cpp.
References m_Items.
Referenced by AddChildNode(), and AddRefNode().
void WRL1NODE::addNodeRef | ( | WRL1NODE * | aNode | ) |
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 m_BackPointers, and m_Parent.
Referenced by AddRefNode().
|
virtual |
Reimplemented in WRL1COORDS, WRL1FACESET, WRL1MATBINDING, WRL1MATERIAL, WRL1SHAPEHINTS, and WRL1TRANSFORM.
Definition at line 403 of file vrml1_node.cpp.
References addItem(), addNodeRef(), GetNodeType(), and m_Refs.
Referenced by WRL1BASE::implementUse().
void WRL1NODE::cancelDict | ( | void | ) |
Definition at line 198 of file vrml1_node.cpp.
References m_Children, m_dictionary, and m_Type.
Referenced by WRL1BASE::~WRL1BASE().
|
private |
Definition at line 464 of file vrml1_node.cpp.
References m_Items.
Referenced by unlinkChildNode(), and unlinkRefNode().
void WRL1NODE::delNodeRef | ( | WRL1NODE * | aNode | ) |
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 m_BackPointers, and traceVrmlPlugin.
|
virtual |
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 m_dictionary.
Referenced by WRL1BASE::implementUse().
std::string WRL1NODE::GetError | ( | void | ) |
Definition at line 344 of file vrml1_node.cpp.
References m_error.
|
virtual |
size_t WRL1NODE::GetNItems | ( | void | ) | const |
Definition at line 338 of file vrml1_node.cpp.
References m_Items.
WRL1NODES WRL1NODE::GetNodeType | ( | void | ) | const |
Return the type of this node instance.
Definition at line 254 of file vrml1_node.cpp.
References m_Type.
Referenced by AddChildNode(), AddRefNode(), WRL1BASE::implementUse(), WRL1GROUP::TranslateToSG(), and WRL1TRANSFORM::TranslateToSG().
WRL1NODES WRL1NODE::getNodeTypeID | ( | const std::string & | aNodeName | ) |
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 WRL1BASE::ReadNode().
const char * WRL1NODE::GetNodeTypeName | ( | WRL1NODES | aNodeType | ) | const |
Definition at line 312 of file vrml1_node.cpp.
References nodenames.
Referenced by WRL1BASE::implementUse().
WRL1NODE * WRL1NODE::GetParent | ( | void | ) | const |
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 m_Parent.
Referenced by AddChildNode().
Implemented in WRL1BASE, WRL1COORDS, WRL1FACESET, WRL1GROUP, WRL1MATBINDING, WRL1MATERIAL, WRL1SEPARATOR, WRL1SHAPEHINTS, WRL1SWITCH, and WRL1TRANSFORM.
|
virtual |
Reimplemented in WRL1BASE.
Definition at line 272 of file vrml1_node.cpp.
References NAMEREGISTER::AddName(), BAD_CHARS1, BAD_CHARS2, m_dictionary, m_Name, and traceVrmlPlugin.
Referenced by WRL1BASE::implementDef().
|
virtual |
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 in WRL1BASE.
Definition at line 359 of file vrml1_node.cpp.
References AddChildNode(), m_Parent, and unlinkChildNode().
Referenced by AddChildNode().
|
pure virtual |
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. |
Implemented in WRL1BASE, WRL1COORDS, WRL1FACESET, WRL1GROUP, WRL1MATBINDING, WRL1MATERIAL, WRL1SEPARATOR, WRL1SHAPEHINTS, WRL1SWITCH, and WRL1TRANSFORM.
|
virtual |
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 delItem(), and m_Children.
Referenced by SetParent(), and ~WRL1NODE().
|
virtual |
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.
|
protected |
Definition at line 230 of file vrml1_node.h.
Referenced by addNodeRef(), delNodeRef(), WRL1GROUP::TranslateToSG(), WRL1SEPARATOR::TranslateToSG(), WRL1SWITCH::TranslateToSG(), WRL1FACESET::~WRL1FACESET(), WRL1GROUP::~WRL1GROUP(), ~WRL1NODE(), WRL1SEPARATOR::~WRL1SEPARATOR(), WRL1SWITCH::~WRL1SWITCH(), and WRL1TRANSFORM::~WRL1TRANSFORM().
|
protected |
Definition at line 231 of file vrml1_node.h.
Referenced by AddChildNode(), cancelDict(), WRL1GROUP::TranslateToSG(), WRL1SEPARATOR::TranslateToSG(), WRL1SWITCH::TranslateToSG(), unlinkChildNode(), WRL1FACESET::~WRL1FACESET(), WRL1GROUP::~WRL1GROUP(), ~WRL1NODE(), WRL1SEPARATOR::~WRL1SEPARATOR(), WRL1SWITCH::~WRL1SWITCH(), and WRL1TRANSFORM::~WRL1TRANSFORM().
|
protected |
Definition at line 236 of file vrml1_node.h.
Referenced by WRL1BASE::TranslateToSG(), WRL1FACESET::TranslateToSG(), WRL1GROUP::TranslateToSG(), WRL1SEPARATOR::TranslateToSG(), and WRL1SWITCH::TranslateToSG().
|
protected |
Definition at line 246 of file vrml1_node.h.
Referenced by cancelDict(), FindNode(), WRL1BASE::implementDef(), WRL1BASE::readCoords(), WRL1BASE::readFaceSet(), WRL1BASE::readGroup(), WRL1BASE::readMatBinding(), WRL1BASE::readMaterial(), WRL1BASE::readSeparator(), WRL1BASE::readShapeHints(), WRL1BASE::readSwitch(), WRL1BASE::readTransform(), SetName(), WRL1BASE::WRL1BASE(), WRL1NODE(), and ~WRL1NODE().
|
protected |
Definition at line 234 of file vrml1_node.h.
Referenced by GetError().
|
protected |
Definition at line 233 of file vrml1_node.h.
Referenced by addItem(), delItem(), GetNItems(), WRL1BASE::TranslateToSG(), WRL1GROUP::TranslateToSG(), WRL1SEPARATOR::TranslateToSG(), WRL1SWITCH::TranslateToSG(), and ~WRL1NODE().
|
protected |
Definition at line 228 of file vrml1_node.h.
Referenced by GetName(), SetName(), and ~WRL1NODE().
|
protected |
Definition at line 226 of file vrml1_node.h.
Referenced by addNodeRef(), GetParent(), SetParent(), WRL1FACESET::TranslateToSG(), WRL1GROUP::TranslateToSG(), WRL1SEPARATOR::TranslateToSG(), WRL1TRANSFORM::TranslateToSG(), WRL1COORDS::WRL1COORDS(), WRL1FACESET::WRL1FACESET(), WRL1GROUP::WRL1GROUP(), WRL1MATBINDING::WRL1MATBINDING(), WRL1MATERIAL::WRL1MATERIAL(), WRL1NODE(), WRL1SEPARATOR::WRL1SEPARATOR(), WRL1SHAPEHINTS::WRL1SHAPEHINTS(), WRL1SWITCH::WRL1SWITCH(), WRL1TRANSFORM::WRL1TRANSFORM(), and ~WRL1NODE().
|
protected |
Definition at line 232 of file vrml1_node.h.
Referenced by AddRefNode(), WRL1GROUP::TranslateToSG(), WRL1SEPARATOR::TranslateToSG(), WRL1SWITCH::TranslateToSG(), unlinkRefNode(), WRL1FACESET::~WRL1FACESET(), WRL1GROUP::~WRL1GROUP(), ~WRL1NODE(), WRL1SEPARATOR::~WRL1SEPARATOR(), WRL1SWITCH::~WRL1SWITCH(), and WRL1TRANSFORM::~WRL1TRANSFORM().
|
protected |
Definition at line 237 of file vrml1_node.h.
Referenced by WRL1NODE().
|
protected |
Definition at line 227 of file vrml1_node.h.
Referenced by cancelDict(), GetNodeType(), WRL1BASE::WRL1BASE(), WRL1COORDS::WRL1COORDS(), WRL1FACESET::WRL1FACESET(), WRL1GROUP::WRL1GROUP(), WRL1MATBINDING::WRL1MATBINDING(), WRL1MATERIAL::WRL1MATERIAL(), WRL1NODE(), WRL1SEPARATOR::WRL1SEPARATOR(), WRL1SHAPEHINTS::WRL1SHAPEHINTS(), WRL1SWITCH::WRL1SWITCH(), WRL1TRANSFORM::WRL1TRANSFORM(), and ~WRL1NODE().