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

The wrapper for SGCOORDINDEX. More...

#include <ifsg_coordindex.h>

Inheritance diagram for IFSG_COORDINDEX:
IFSG_INDEX IFSG_NODE

Public Member Functions

 IFSG_COORDINDEX (bool create)
 
 IFSG_COORDINDEX (SGNODE *aParent)
 
 IFSG_COORDINDEX (IFSG_NODE &aParent)
 
bool Attach (SGNODE *aNode) override
 Associate a given SGNODE* with this wrapper.
 
bool NewNode (SGNODE *aParent) override
 Create a new node to associate with this wrapper.
 
bool NewNode (IFSG_NODE &aParent) override
 
bool GetIndices (size_t &nIndices, int *&aIndexList)
 
bool SetIndices (size_t nIndices, int *aIndexList)
 Set the number of indices and creates a copy of the given index data.
 
bool AddIndex (int aIndex)
 Add a single index to the list.
 
void Destroy (void)
 Delete the object held by this wrapper.
 
SGNODEGetRawPtr (void) noexcept
 Return the raw internal SGNODE pointer.
 
S3D::SGTYPES GetNodeType (void) const
 Return the type of this node instance.
 
SGNODEGetParent (void) const
 Return a pointer to the parent SGNODE of this object or NULL if the object has no parent (ie.
 
bool SetParent (SGNODE *aParent)
 Set the parent SGNODE of this object.
 
const char * GetName (void)
 Return a pointer to the node name (NULL if no name assigned).
 
bool SetName (const char *aName)
 Set the node's name.
 
const char * GetNodeTypeName (S3D::SGTYPES aNodeType) const
 Return the text representation of the node type or NULL if the node somehow has an invalid type.
 
SGNODEFindNode (const char *aNodeName)
 Search the tree of linked nodes and returns a reference to the first node found with the given name.
 
bool AddRefNode (SGNODE *aNode)
 Add a reference to an existing node which is not owned by (not a child of) this node.
 
bool AddRefNode (IFSG_NODE &aNode)
 
bool AddChildNode (SGNODE *aNode)
 Add a node as a child owned by this node.
 
bool AddChildNode (IFSG_NODE &aNode)
 

Protected Attributes

SGNODEm_node
 

Detailed Description

The wrapper for SGCOORDINDEX.

Definition at line 40 of file ifsg_coordindex.h.

Constructor & Destructor Documentation

◆ IFSG_COORDINDEX() [1/3]

IFSG_COORDINDEX::IFSG_COORDINDEX ( bool create)

Definition at line 38 of file ifsg_coordindex.cpp.

References IFSG_NODE::m_node.

◆ IFSG_COORDINDEX() [2/3]

IFSG_COORDINDEX::IFSG_COORDINDEX ( SGNODE * aParent)

Definition at line 51 of file ifsg_coordindex.cpp.

References IFSG_NODE::m_node, and WrongParent.

◆ IFSG_COORDINDEX() [3/3]

IFSG_COORDINDEX::IFSG_COORDINDEX ( IFSG_NODE & aParent)

Member Function Documentation

◆ AddChildNode() [1/2]

bool IFSG_NODE::AddChildNode ( IFSG_NODE & aNode)
inherited

Definition at line 156 of file ifsg_node.cpp.

References GetRawPtr(), IFSG_NODE(), and m_node.

◆ AddChildNode() [2/2]

bool IFSG_NODE::AddChildNode ( SGNODE * aNode)
inherited

Add a node as a child owned by this node.

Returns
true on success.

Definition at line 148 of file ifsg_node.cpp.

References m_node.

Referenced by SHAPE::CalcShape(), EXPORTER_PCB_VRML::create_vrml_plane(), EXPORTER_PCB_VRML::create_vrml_shell(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), makeComponents(), and NewNode().

◆ AddIndex()

bool IFSG_INDEX::AddIndex ( int aIndex)
inherited

Add a single index to the list.

Parameters
aIndexis the new index to add.

Definition at line 57 of file ifsg_index.cpp.

References IFSG_NODE::m_node.

Referenced by SHAPE::CalcShape(), EXPORTER_PCB_VRML::create_vrml_shell(), NewNode(), and vrmlToSG().

◆ AddRefNode() [1/2]

bool IFSG_NODE::AddRefNode ( IFSG_NODE & aNode)
inherited

Definition at line 136 of file ifsg_node.cpp.

References GetRawPtr(), IFSG_NODE(), and m_node.

◆ AddRefNode() [2/2]

bool IFSG_NODE::AddRefNode ( SGNODE * aNode)
inherited

Add a reference to an existing node which is not owned by (not a child of) this node.

Returns
true on success.

Definition at line 128 of file ifsg_node.cpp.

References m_node.

Referenced by SHAPE::CalcShape(), EXPORTER_PCB_VRML::create_vrml_plane(), EXPORTER_PCB_VRML::create_vrml_shell(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), makeComponents(), NewNode(), and vrmlToSG().

◆ Attach()

bool IFSG_COORDINDEX::Attach ( SGNODE * aNode)
overridevirtual

Associate a given SGNODE* with this wrapper.

Implements IFSG_INDEX.

Definition at line 98 of file ifsg_coordindex.cpp.

References SGNODE::GetNodeType(), IFSG_NODE::m_node, and S3D::SGTYPE_COORDINDEX.

◆ Destroy()

◆ FindNode()

SGNODE * IFSG_NODE::FindNode ( const char * aNodeName)
inherited

Search the tree of linked nodes and returns a reference to the first node found with the given name.

The reference is then typically added to another node via AddRefNode().

Parameters
aNodeNameis the name of the node to search for.
Returns
is a valid node pointer on success, otherwise NULL.

Definition at line 120 of file ifsg_node.cpp.

References m_node.

Referenced by NewNode().

◆ GetIndices()

bool IFSG_INDEX::GetIndices ( size_t & nIndices,
int *& aIndexList )
inherited

Definition at line 39 of file ifsg_index.cpp.

References IFSG_NODE::m_node.

Referenced by NewNode().

◆ GetName()

const char * IFSG_NODE::GetName ( void )
inherited

Return a pointer to the node name (NULL if no name assigned).

Definition at line 95 of file ifsg_node.cpp.

References m_node.

Referenced by NewNode().

◆ GetNodeType()

S3D::SGTYPES IFSG_NODE::GetNodeType ( void ) const
inherited

Return the type of this node instance.

Definition at line 71 of file ifsg_node.cpp.

References m_node, and S3D::SGTYPE_END.

Referenced by NewNode().

◆ GetNodeTypeName()

const char * IFSG_NODE::GetNodeTypeName ( S3D::SGTYPES aNodeType) const
inherited

Return the text representation of the node type or NULL if the node somehow has an invalid type.

Definition at line 112 of file ifsg_node.cpp.

References m_node.

Referenced by NewNode().

◆ GetParent()

SGNODE * IFSG_NODE::GetParent ( void ) const
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 79 of file ifsg_node.cpp.

References m_node.

Referenced by makeComponents(), and NewNode().

◆ GetRawPtr()

◆ NewNode() [1/2]

bool IFSG_COORDINDEX::NewNode ( IFSG_NODE & aParent)
overridevirtual

Implements IFSG_INDEX.

Definition at line 145 of file ifsg_coordindex.cpp.

References IFSG_NODE::GetRawPtr(), IFSG_NODE::IFSG_NODE(), and NewNode().

◆ NewNode() [2/2]

bool IFSG_COORDINDEX::NewNode ( SGNODE * aParent)
overridevirtual

Create a new node to associate with this wrapper.

Implements IFSG_INDEX.

Definition at line 120 of file ifsg_coordindex.cpp.

References SGNODE::GetNodeType(), SGNODE::GetNodeTypeName(), and IFSG_NODE::m_node.

Referenced by EXPORTER_PCB_VRML::create_vrml_shell(), NewNode(), and vrmlToSG().

◆ SetIndices()

bool IFSG_INDEX::SetIndices ( size_t nIndices,
int * aIndexList )
inherited

Set the number of indices and creates a copy of the given index data.

Parameters
nIndicesis the number of indices to be stored.
[in]aIndexListis the index data.

Definition at line 47 of file ifsg_index.cpp.

References IFSG_NODE::m_node.

Referenced by EXPORTER_PCB_VRML::create_vrml_plane(), EXPORTER_PCB_VRML::create_vrml_shell(), NewNode(), processFace(), WRL2BOX::TranslateToSG(), and vrmlToSG().

◆ SetName()

bool IFSG_NODE::SetName ( const char * aName)
inherited

Set the node's name.

If the pointer passed is NULL, the node's name is erased.

Returns
true on success.

Definition at line 103 of file ifsg_node.cpp.

References m_node.

Referenced by NewNode().

◆ SetParent()

bool IFSG_NODE::SetParent ( SGNODE * aParent)
inherited

Set the parent SGNODE of this object.

Parameters
[in]aParentis the desired parent node.
Returns
true if the operation succeeds; false if the given node is not allowed to be a parent to the derived object.

Definition at line 87 of file ifsg_node.cpp.

References m_node.

Referenced by NewNode(), processFace(), and EXPORTER_PCB_VRML::~EXPORTER_PCB_VRML().

Member Data Documentation

◆ m_node

SGNODE* IFSG_NODE::m_node
protectedinherited

Definition at line 51 of file ifsg_node.h.

Referenced by AddChildNode(), AddChildNode(), IFSG_COLORS::AddColor(), IFSG_COLORS::AddColor(), IFSG_COORDS::AddCoord(), IFSG_COORDS::AddCoord(), IFSG_INDEX::AddIndex(), IFSG_NORMALS::AddNormal(), IFSG_NORMALS::AddNormal(), AddRefNode(), AddRefNode(), IFSG_APPEARANCE::Attach(), IFSG_COLORS::Attach(), IFSG_COORDINDEX::Attach(), IFSG_COORDS::Attach(), IFSG_FACESET::Attach(), IFSG_NORMALS::Attach(), IFSG_SHAPE::Attach(), IFSG_TRANSFORM::Attach(), IFSG_FACESET::CalcNormals(), Destroy(), FindNode(), IFSG_COLORS::GetColorList(), IFSG_COORDS::GetCoordsList(), IFSG_INDEX::GetIndices(), GetName(), GetNodeType(), GetNodeTypeName(), IFSG_NORMALS::GetNormalList(), GetParent(), GetRawPtr(), IFSG_APPEARANCE::IFSG_APPEARANCE(), IFSG_APPEARANCE::IFSG_APPEARANCE(), IFSG_APPEARANCE::IFSG_APPEARANCE(), IFSG_COLORS::IFSG_COLORS(), IFSG_COLORS::IFSG_COLORS(), IFSG_COLORS::IFSG_COLORS(), IFSG_COORDINDEX::IFSG_COORDINDEX(), IFSG_COORDINDEX::IFSG_COORDINDEX(), IFSG_COORDINDEX::IFSG_COORDINDEX(), IFSG_COORDS::IFSG_COORDS(), IFSG_COORDS::IFSG_COORDS(), IFSG_COORDS::IFSG_COORDS(), IFSG_FACESET::IFSG_FACESET(), IFSG_FACESET::IFSG_FACESET(), IFSG_FACESET::IFSG_FACESET(), IFSG_NODE(), IFSG_NORMALS::IFSG_NORMALS(), IFSG_NORMALS::IFSG_NORMALS(), IFSG_NORMALS::IFSG_NORMALS(), IFSG_SHAPE::IFSG_SHAPE(), IFSG_SHAPE::IFSG_SHAPE(), IFSG_SHAPE::IFSG_SHAPE(), IFSG_TRANSFORM::IFSG_TRANSFORM(), IFSG_TRANSFORM::IFSG_TRANSFORM(), IFSG_APPEARANCE::NewNode(), IFSG_COLORS::NewNode(), IFSG_COORDINDEX::NewNode(), IFSG_COORDS::NewNode(), IFSG_FACESET::NewNode(), IFSG_NORMALS::NewNode(), IFSG_SHAPE::NewNode(), IFSG_TRANSFORM::NewNode(), IFSG_APPEARANCE::SetAmbient(), IFSG_APPEARANCE::SetAmbient(), IFSG_APPEARANCE::SetAmbient(), IFSG_TRANSFORM::SetCenter(), IFSG_COLORS::SetColorList(), IFSG_COORDS::SetCoordsList(), IFSG_APPEARANCE::SetDiffuse(), IFSG_APPEARANCE::SetDiffuse(), IFSG_APPEARANCE::SetDiffuse(), IFSG_APPEARANCE::SetEmissive(), IFSG_APPEARANCE::SetEmissive(), IFSG_APPEARANCE::SetEmissive(), IFSG_INDEX::SetIndices(), SetName(), IFSG_NORMALS::SetNormalList(), SetParent(), IFSG_TRANSFORM::SetRotation(), IFSG_TRANSFORM::SetScale(), IFSG_TRANSFORM::SetScale(), IFSG_TRANSFORM::SetScaleOrientation(), IFSG_APPEARANCE::SetShininess(), IFSG_APPEARANCE::SetSpecular(), IFSG_APPEARANCE::SetSpecular(), IFSG_APPEARANCE::SetSpecular(), IFSG_TRANSFORM::SetTranslation(), IFSG_APPEARANCE::SetTransparency(), and ~IFSG_NODE().


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