| 
    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, WRL1NODE::m_Type, WRL1_BASE, and WRL1NODE::WRL1NODE().
Referenced by Read().
      
  | 
  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 addItem(), GetNodeType(), GetParent(), m_Children, SetParent(), WRL1_BASE, and WRL1NODE().
      
  | 
  privateinherited | 
Definition at line 458 of file vrml1_node.cpp.
References m_Items, and WRL1NODE().
Referenced by AddChildNode(), and 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 m_BackPointers, m_Parent, and WRL1NODE().
Referenced by AddRefNode().
      
  | 
  virtualinherited | 
Reimplemented in WRL1COORDS, WRL1FACESET, WRL1MATBINDING, WRL1MATERIAL, WRL1SHAPEHINTS, and WRL1TRANSFORM.
Definition at line 403 of file vrml1_node.cpp.
References addItem(), addNodeRef(), GetNodeType(), m_Refs, WRL1_BASE, and WRL1NODE().
Referenced by WRL1BASE::implementUse().
      
  | 
  inherited | 
Definition at line 198 of file vrml1_node.cpp.
References m_Children, m_dictionary, m_Type, and WRL1_BASE.
Referenced by WRL1BASE::~WRL1BASE().
      
  | 
  privateinherited | 
Definition at line 464 of file vrml1_node.cpp.
References m_Items, and WRL1NODE().
Referenced by unlinkChildNode(), and 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 m_BackPointers, traceVrmlPlugin, and WRL1NODE().
      
  | 
  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 m_dictionary, and WRL1NODE().
Referenced by WRL1BASE::implementUse().
      
  | 
  inherited | 
Definition at line 344 of file vrml1_node.cpp.
References 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 m_Items.
      
  | 
  inherited | 
Return the type of this node instance.
Definition at line 254 of file vrml1_node.cpp.
References m_Type.
Referenced by AddChildNode(), AddRefNode(), and WRL1BASE::implementUse().
      
  | 
  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, and WRL1_INVALID.
Referenced by WRL1BASE::ReadNode().
      
  | 
  inherited | 
Definition at line 312 of file vrml1_node.cpp.
References nodenames, WRL1_BASE, WRL1_BEGIN, and WRL1_END.
Referenced by WRL1BASE::implementUse().
      
  | 
  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 m_Parent, and WRL1NODE().
Referenced by AddChildNode().
Definition at line 156 of file vrml1_base.cpp.
References WRLPROC::GetError(), WRLPROC::GetFilePosition(), WRL1NODE::m_dictionary, WRLPROC::ReadName(), ReadNode(), WRL1NODE::SetName(), traceVrmlPlugin, and WRL1NODE::WRL1NODE().
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(), traceVrmlPlugin, and WRL1NODE::WRL1NODE().
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(), traceVrmlPlugin, and VRML_V1.
Referenced by LoadVRML().
Definition at line 449 of file vrml1_base.cpp.
References WRL1NODE::m_dictionary, WRL1COORDS::Read(), and WRL1NODE::WRL1NODE().
Referenced by ReadNode().
Definition at line 469 of file vrml1_base.cpp.
References WRL1NODE::m_dictionary, WRL1FACESET::Read(), and WRL1NODE::WRL1NODE().
Referenced by ReadNode().
Definition at line 352 of file vrml1_base.cpp.
References WRL1NODE::m_dictionary, WRL1GROUP::Read(), and WRL1NODE::WRL1NODE().
Referenced by ReadNode().
Definition at line 429 of file vrml1_base.cpp.
References WRL1NODE::m_dictionary, WRL1MATBINDING::Read(), and WRL1NODE::WRL1NODE().
Referenced by ReadNode().
Definition at line 409 of file vrml1_base.cpp.
References WRL1NODE::m_dictionary, WRL1MATERIAL::Read(), and WRL1NODE::WRL1NODE().
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(), traceVrmlPlugin, WRL1_COORDINATE3, WRL1_GROUP, WRL1_INDEXEDFACESET, WRL1_MATERIAL, WRL1_MATERIALBINDING, WRL1_ROTATION, WRL1_SCALE, WRL1_SEPARATOR, WRL1_SHAPEHINTS, WRL1_SWITCH, WRL1_TRANSFORM, WRL1_TRANSLATION, and WRL1NODE::WRL1NODE().
Referenced by implementDef(), Read(), WRL1GROUP::Read(), WRL1SEPARATOR::Read(), and WRL1SWITCH::Read().
Definition at line 372 of file vrml1_base.cpp.
References WRL1NODE::m_dictionary, WRL1SEPARATOR::Read(), and WRL1NODE::WRL1NODE().
Referenced by ReadNode().
Definition at line 509 of file vrml1_base.cpp.
References WRL1NODE::m_dictionary, WRL1SHAPEHINTS::Read(), and WRL1NODE::WRL1NODE().
Referenced by ReadNode().
Definition at line 392 of file vrml1_base.cpp.
References WRL1NODE::m_dictionary, WRL1SWITCH::Read(), and WRL1NODE::WRL1NODE().
Referenced by ReadNode().
Definition at line 489 of file vrml1_base.cpp.
References WRL1NODE::m_dictionary, WRL1TRANSFORM::Read(), and WRL1NODE::WRL1NODE().
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.
References WRL1NODE::WRL1NODE().
      
  | 
  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(), 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 delItem(), m_Children, and 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 delItem(), m_Refs, and WRL1NODE().
      
  | 
  protectedinherited | 
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().
      
  | 
  protectedinherited | 
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().
      
  | 
  protectedinherited | 
Definition at line 236 of file vrml1_node.h.
Referenced by WRL1BASE::TranslateToSG(), WRL1FACESET::TranslateToSG(), WRL1GROUP::TranslateToSG(), WRL1SEPARATOR::TranslateToSG(), and WRL1SWITCH::TranslateToSG().
      
  | 
  protectedinherited | 
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().
      
  | 
  protectedinherited | 
Definition at line 234 of file vrml1_node.h.
Referenced by GetError().
      
  | 
  protectedinherited | 
Definition at line 233 of file vrml1_node.h.
Referenced by addItem(), delItem(), GetNItems(), WRL1BASE::TranslateToSG(), WRL1GROUP::TranslateToSG(), WRL1SEPARATOR::TranslateToSG(), WRL1SWITCH::TranslateToSG(), and ~WRL1NODE().
      
  | 
  protectedinherited | 
Definition at line 228 of file vrml1_node.h.
Referenced by GetName(), SetName(), and ~WRL1NODE().
      
  | 
  protectedinherited | 
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().
      
  | 
  protectedinherited | 
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().
      
  | 
  protectedinherited | 
Definition at line 237 of file vrml1_node.h.
Referenced by WRL1NODE().
      
  | 
  protectedinherited | 
Definition at line 227 of file vrml1_node.h.
Referenced by cancelDict(), GetNodeType(), WRL1BASE::WRL1BASE(), WRL1COORDS::WRL1COORDS(), WRL1COORDS::WRL1COORDS(), WRL1FACESET::WRL1FACESET(), WRL1FACESET::WRL1FACESET(), WRL1GROUP::WRL1GROUP(), WRL1GROUP::WRL1GROUP(), WRL1MATBINDING::WRL1MATBINDING(), WRL1MATBINDING::WRL1MATBINDING(), WRL1MATERIAL::WRL1MATERIAL(), WRL1MATERIAL::WRL1MATERIAL(), WRL1NODE(), WRL1SEPARATOR::WRL1SEPARATOR(), WRL1SEPARATOR::WRL1SEPARATOR(), WRL1SHAPEHINTS::WRL1SHAPEHINTS(), WRL1SHAPEHINTS::WRL1SHAPEHINTS(), WRL1SWITCH::WRL1SWITCH(), WRL1SWITCH::WRL1SWITCH(), WRL1TRANSFORM::WRL1TRANSFORM(), WRL1TRANSFORM::WRL1TRANSFORM(), and ~WRL1NODE().