KiCad PCB EDA Suite
Loading...
Searching...
No Matches
X3DIFACESET Class Reference

#include <x3d_ifaceset.h>

Inheritance diagram for X3DIFACESET:
X3DNODE

Public Member Functions

 X3DIFACESET ()
 
 X3DIFACESET (X3DNODE *aParent)
 
virtual ~X3DIFACESET ()
 
bool Read (wxXmlNode *aNode, X3DNODE *aTopNode, X3D_DICT &aDict) override
 
bool SetParent (X3DNODE *aParent, bool doUnlink=true) override
 Set the parent X3DNODE of this object. More...
 
bool AddChildNode (X3DNODE *aNode) override
 
bool AddRefNode (X3DNODE *aNode) override
 
SGNODETranslateToSG (SGNODE *aParent) override
 Produce a representation of the data using the intermediate scenegraph structures of the kicad_3dsg library. More...
 
virtual void unlinkChildNode (const X3DNODE *aNode)
 Remove references to an owned child; it is invoked by the child upon destruction to ensure that the parent has no invalid references. More...
 
virtual void unlinkRefNode (const X3DNODE *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. More...
 
void addNodeRef (X3DNODE *aNode)
 Add a pointer to a node which references, but does not own, this node. More...
 
void delNodeRef (X3DNODE *aNode)
 Remove a pointer to a node which references, but does not own, this node. More...
 
X3DNODES GetNodeType (void) const
 Return the type of this node instance. More...
 
X3DNODEGetParent (void) const
 Return a pointer to the parent node of this object or NULL if the object has no parent (ie. More...
 
wxString GetName (void) const
 Return the name of this object. More...
 
std::string GetError (void)
 

Protected Attributes

X3DNODEm_Parent
 
X3DNODES m_Type
 
X3D_DICTm_Dict
 
std::list< X3DNODE * > m_BackPointers
 
std::list< X3DNODE * > m_Children
 
std::list< X3DNODE * > m_Refs
 
std::string m_error
 
wxString m_Name
 
SGNODEm_sgNode
 

Private Member Functions

void init ()
 
void readFields (wxXmlNode *aNode)
 

Private Attributes

X3DNODEcoord
 
bool ccw
 
float creaseAngle
 
float creaseLimit
 
std::vector< int > coordIndex
 

Detailed Description

Definition at line 39 of file x3d_ifaceset.h.

Constructor & Destructor Documentation

◆ X3DIFACESET() [1/2]

X3DIFACESET::X3DIFACESET ( )

Definition at line 39 of file x3d_ifaceset.cpp.

References coord, init(), X3DNODE::m_Type, and X3D_INDEXED_FACE_SET.

◆ X3DIFACESET() [2/2]

X3DIFACESET::X3DIFACESET ( X3DNODE aParent)

◆ ~X3DIFACESET()

X3DIFACESET::~X3DIFACESET ( )
virtual

Definition at line 66 of file x3d_ifaceset.cpp.

References traceVrmlPlugin.

Member Function Documentation

◆ AddChildNode()

bool X3DIFACESET::AddChildNode ( X3DNODE aNode)
overridevirtual

◆ addNodeRef()

void X3DNODE::addNodeRef ( X3DNODE aNode)
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.

Parameters
aNodeis the node holding a reference to this object.

Definition at line 142 of file x3d_base.cpp.

References X3DNODE::m_BackPointers, and X3DNODE::m_Parent.

Referenced by AddRefNode(), X3DSHAPE::AddRefNode(), and X3DTRANSFORM::AddRefNode().

◆ AddRefNode()

bool X3DIFACESET::AddRefNode ( X3DNODE aNode)
overridevirtual

Implements X3DNODE.

Definition at line 205 of file x3d_ifaceset.cpp.

References X3DNODE::addNodeRef(), coord, X3DNODE::GetNodeType(), X3DNODE::m_Refs, and X3D_COORDINATE.

◆ delNodeRef()

void X3DNODE::delNodeRef ( X3DNODE aNode)
inherited

Remove a pointer to a node which references, but does not own, this node.

Parameters
aNodeis the node holding a reference to this object.

Definition at line 165 of file x3d_base.cpp.

References X3DNODE::m_BackPointers, and traceVrmlPlugin.

◆ GetError()

std::string X3DNODE::GetError ( void  )
inherited

Definition at line 202 of file x3d_base.cpp.

References X3DNODE::m_error.

◆ GetName()

wxString X3DNODE::GetName ( void  ) const
inherited

Return the name of this object.

Definition at line 196 of file x3d_base.cpp.

References X3DNODE::m_Name.

◆ GetNodeType()

◆ GetParent()

X3DNODE * X3DNODE::GetParent ( void  ) const
inherited

Return a pointer to the parent node of this object or NULL if the object has no parent (ie.

top level transform).

Definition at line 190 of file x3d_base.cpp.

References X3DNODE::m_Parent.

Referenced by AddChildNode(), X3DSHAPE::AddChildNode(), and X3DTRANSFORM::AddChildNode().

◆ init()

void X3DIFACESET::init ( )
private

Definition at line 72 of file x3d_ifaceset.cpp.

References ccw, coord, creaseAngle, and creaseLimit.

Referenced by X3DIFACESET().

◆ Read()

bool X3DIFACESET::Read ( wxXmlNode *  aNode,
X3DNODE aTopNode,
X3D_DICT aDict 
)
overridevirtual

Implements X3DNODE.

Definition at line 130 of file x3d_ifaceset.cpp.

References X3DNODE::m_Dict, X3D::ReadCoordinates(), readFields(), and SetParent().

◆ readFields()

void X3DIFACESET::readFields ( wxXmlNode *  aNode)
private

◆ SetParent()

bool X3DIFACESET::SetParent ( X3DNODE aParent,
bool  doUnlink = true 
)
overridevirtual

Set the parent X3DNODE of this object.

Parameters
aParent[in] is the desired parent node.
doUnlinkindicates that the child must be unlinked from the parent
Returns
true if the operation succeeds or false if the given node is not allowed to be a parent to the derived object.

Implements X3DNODE.

Definition at line 156 of file x3d_ifaceset.cpp.

References X3DNODE::AddChildNode(), X3DNODE::GetNodeType(), X3DNODE::m_Parent, X3DNODE::unlinkChildNode(), and X3D_SHAPE.

Referenced by Read().

◆ TranslateToSG()

SGNODE * X3DIFACESET::TranslateToSG ( SGNODE aParent)
overridevirtual

Produce a representation of the data using the intermediate scenegraph structures of the kicad_3dsg library.

Parameters
aParentis a pointer to the parent SG node/
Returns
is non-NULL on success.

Implements X3DNODE.

Definition at line 226 of file x3d_ifaceset.cpp.

References S3D::AddSGNodeChild(), S3D::AddSGNodeRef(), FACET::AddVertex(), SHAPE::CalcShape(), ccw, coord, coordIndex, creaseLimit, S3D::GetSGNodeParent(), S3D::GetSGNodeType(), FACET::HasMinPoints(), FACET::Init(), X3DNODE::m_BackPointers, X3DNODE::m_Children, X3DNODE::m_Refs, X3DNODE::m_sgNode, SHAPE::NewFacet(), S3D::SGTYPE_SHAPE, and traceVrmlPlugin.

◆ unlinkChildNode()

void X3DNODE::unlinkChildNode ( const X3DNODE aNode)
virtualinherited

Remove references to an owned child; it is invoked by the child upon destruction to ensure that the parent has no invalid references.

Parameters
aNodeis the child which is being deleted.

Reimplemented in X3DSHAPE.

Definition at line 102 of file x3d_base.cpp.

References X3DNODE::m_Children.

Referenced by X3DAPP::SetParent(), X3DCOORDS::SetParent(), SetParent(), X3DSHAPE::SetParent(), X3DTRANSFORM::SetParent(), and X3DSHAPE::unlinkChildNode().

◆ unlinkRefNode()

void X3DNODE::unlinkRefNode ( const X3DNODE aNode)
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.

Parameters
aNodeis the node which is being deleted.

Reimplemented in X3DSHAPE.

Definition at line 122 of file x3d_base.cpp.

References X3DNODE::m_Refs.

Referenced by X3DSHAPE::unlinkRefNode().

Member Data Documentation

◆ ccw

bool X3DIFACESET::ccw
private

Definition at line 55 of file x3d_ifaceset.h.

Referenced by init(), readFields(), and TranslateToSG().

◆ coord

X3DNODE* X3DIFACESET::coord
private

Definition at line 53 of file x3d_ifaceset.h.

Referenced by AddChildNode(), AddRefNode(), init(), TranslateToSG(), and X3DIFACESET().

◆ coordIndex

std::vector< int > X3DIFACESET::coordIndex
private

Definition at line 58 of file x3d_ifaceset.h.

Referenced by readFields(), and TranslateToSG().

◆ creaseAngle

float X3DIFACESET::creaseAngle
private

Definition at line 56 of file x3d_ifaceset.h.

Referenced by init(), and readFields().

◆ creaseLimit

float X3DIFACESET::creaseLimit
private

Definition at line 57 of file x3d_ifaceset.h.

Referenced by init(), readFields(), and TranslateToSG().

◆ m_BackPointers

◆ m_Children

◆ m_Dict

◆ m_error

std::string X3DNODE::m_error
protectedinherited

Definition at line 166 of file x3d_base.h.

Referenced by X3DNODE::GetError().

◆ m_Name

wxString X3DNODE::m_Name
protectedinherited

◆ m_Parent

◆ m_Refs

◆ m_sgNode

SGNODE* X3DNODE::m_sgNode
protectedinherited

◆ m_Type


The documentation for this class was generated from the following files: