KiCad PCB EDA Suite
|
IFSG_NORMALS is the wrapper for the SGNORMALS class. More...
#include <ifsg_normals.h>
Public Member Functions | |
IFSG_NORMALS (bool create) | |
IFSG_NORMALS (SGNODE *aParent) | |
IFSG_NORMALS (IFSG_NODE &aParent) | |
bool | Attach (SGNODE *aNode) override |
Function Attach associates a given SGNODE* with this wrapper. | |
bool | NewNode (SGNODE *aParent) override |
Function NewNode creates a new node to associate with this wrapper. | |
bool | NewNode (IFSG_NODE &aParent) override |
bool | GetNormalList (size_t &aListSize, SGVECTOR *&aNormalList) |
bool | SetNormalList (size_t aListSize, const SGVECTOR *aNormalList) |
bool | AddNormal (double aXValue, double aYValue, double aZValue) |
bool | AddNormal (const SGVECTOR &aNormal) |
void | Destroy (void) |
Function Destroy deletes the object held by this wrapper. | |
SGNODE * | GetRawPtr (void) noexcept |
Function GetRawPtr() returns the raw internal SGNODE pointer. | |
S3D::SGTYPES | GetNodeType (void) const |
Function GetNodeType returns the type of this node instance. | |
SGNODE * | GetParent (void) const |
Function GetParent returns a pointer to the parent SGNODE of this object or NULL if the object has no parent (ie. | |
bool | SetParent (SGNODE *aParent) |
Function SetParent sets the parent SGNODE of this object. | |
const char * | GetName (void) |
Function GetName returns a pointer to the node name (NULL if no name assigned) | |
bool | SetName (const char *aName) |
Function SetName sets the node's name; if the pointer passed is NULL then the node's name is erased. | |
const char * | GetNodeTypeName (S3D::SGTYPES aNodeType) const |
Function GetNodeTypeName returns the text representation of the node type or NULL if the node somehow has an invalid type. | |
SGNODE * | FindNode (const char *aNodeName) |
Function FindNode searches the tree of linked nodes and returns a reference to the first node found with the given name. | |
bool | AddRefNode (SGNODE *aNode) |
Function AddRefNode adds 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) |
Function AddChildNode adds a node as a child owned by this node. | |
bool | AddChildNode (IFSG_NODE &aNode) |
Protected Attributes | |
SGNODE * | m_node |
IFSG_NORMALS is the wrapper for the SGNORMALS class.
Definition at line 40 of file ifsg_normals.h.
IFSG_NORMALS::IFSG_NORMALS | ( | bool | create | ) |
Definition at line 38 of file ifsg_normals.cpp.
References SGNODE::AssociateWrapper(), and IFSG_NODE::m_node.
IFSG_NORMALS::IFSG_NORMALS | ( | SGNODE * | aParent | ) |
Definition at line 51 of file ifsg_normals.cpp.
References SGNODE::AssociateWrapper(), IFSG_NODE::m_node, SGNODE::SetParent(), and WrongParent.
IFSG_NORMALS::IFSG_NORMALS | ( | IFSG_NODE & | aParent | ) |
Definition at line 70 of file ifsg_normals.cpp.
References SGNODE::AssociateWrapper(), BadParent, IFSG_NODE::GetRawPtr(), IFSG_NODE::m_node, SGNODE::SetParent(), and WrongParent.
|
inherited |
Definition at line 156 of file ifsg_node.cpp.
References SGNODE::AddChildNode(), IFSG_NODE::GetRawPtr(), and IFSG_NODE::m_node.
|
inherited |
Function AddChildNode adds a node as a child owned by this node.
Definition at line 148 of file ifsg_node.cpp.
References SGNODE::AddChildNode(), and IFSG_NODE::m_node.
Referenced by SHAPE::CalcShape(), EXPORTER_PCB_VRML::create_vrml_plane(), EXPORTER_PCB_VRML::create_vrml_shell(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), and makeComponents().
bool IFSG_NORMALS::AddNormal | ( | const SGVECTOR & | aNormal | ) |
Definition at line 181 of file ifsg_normals.cpp.
References IFSG_NODE::m_node.
bool IFSG_NORMALS::AddNormal | ( | double | aXValue, |
double | aYValue, | ||
double | aZValue | ||
) |
Definition at line 172 of file ifsg_normals.cpp.
References IFSG_NODE::m_node.
Referenced by EXPORTER_PCB_VRML::create_vrml_plane(), EXPORTER_PCB_VRML::create_vrml_shell(), and vrmlToSG().
|
inherited |
Definition at line 136 of file ifsg_node.cpp.
References SGNODE::AddRefNode(), IFSG_NODE::GetRawPtr(), and IFSG_NODE::m_node.
|
inherited |
Function AddRefNode adds a reference to an existing node which is not owned by (not a child of) this node.
Definition at line 128 of file ifsg_node.cpp.
References SGNODE::AddRefNode(), and IFSG_NODE::m_node.
Referenced by SHAPE::CalcShape(), EXPORTER_PCB_VRML::create_vrml_plane(), EXPORTER_PCB_VRML::create_vrml_shell(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), makeComponents(), and vrmlToSG().
|
overridevirtual |
Function Attach associates a given SGNODE* with this wrapper.
Implements IFSG_NODE.
Definition at line 99 of file ifsg_normals.cpp.
References SGNODE::AssociateWrapper(), SGNODE::DisassociateWrapper(), SGNODE::GetNodeType(), IFSG_NODE::m_node, and S3D::SGTYPE_NORMALS.
|
inherited |
Function Destroy deletes the object held by this wrapper.
Definition at line 55 of file ifsg_node.cpp.
References SGNODE::DisassociateWrapper(), and IFSG_NODE::m_node.
Referenced by loadIDFBoard(), processSolidOrShell(), WRL2BASE::TranslateToSG(), WRL2SHAPE::TranslateToSG(), WRL2TRANSFORM::TranslateToSG(), X3DSHAPE::TranslateToSG(), X3DTRANSFORM::TranslateToSG(), WRL1BASE::TranslateToSG(), WRL1GROUP::TranslateToSG(), WRL1SEPARATOR::TranslateToSG(), and EXPORTER_PCB_VRML::~EXPORTER_PCB_VRML().
|
inherited |
Function FindNode searches 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().
aNodeName | is the name of the node to search for |
Definition at line 120 of file ifsg_node.cpp.
References SGNODE::FindNode(), and IFSG_NODE::m_node.
|
inherited |
Function GetName returns a pointer to the node name (NULL if no name assigned)
Definition at line 95 of file ifsg_node.cpp.
References SGNODE::GetName(), and IFSG_NODE::m_node.
|
inherited |
Function GetNodeType returns the type of this node instance.
Definition at line 71 of file ifsg_node.cpp.
References SGNODE::GetNodeType(), IFSG_NODE::m_node, and S3D::SGTYPE_END.
|
inherited |
Function GetNodeTypeName returns 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 SGNODE::GetNodeTypeName(), and IFSG_NODE::m_node.
bool IFSG_NORMALS::GetNormalList | ( | size_t & | aListSize, |
SGVECTOR *& | aNormalList | ||
) |
Definition at line 155 of file ifsg_normals.cpp.
References IFSG_NODE::m_node.
|
inherited |
Function GetParent returns 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 SGNODE::GetParent(), and IFSG_NODE::m_node.
Referenced by makeComponents().
|
noexceptinherited |
Function GetRawPtr() returns the raw internal SGNODE pointer.
Definition at line 65 of file ifsg_node.cpp.
Referenced by IFSG_NODE::AddChildNode(), IFSG_NODE::AddRefNode(), SHAPE::CalcShape(), EXPORTER_PCB_VRML::create_vrml_plane(), EXPORTER_PCB_VRML::create_vrml_shell(), EXPORTER_PCB_VRML::ExportVrmlFootprint(), WRL1MATERIAL::GetAppearance(), getColor(), DATA::GetColor(), EXPORTER_PCB_VRML::getSGColor(), IFSG_APPEARANCE::IFSG_APPEARANCE(), IFSG_COLORS::IFSG_COLORS(), IFSG_COORDINDEX::IFSG_COORDINDEX(), IFSG_COORDS::IFSG_COORDS(), IFSG_FACESET::IFSG_FACESET(), IFSG_NORMALS(), IFSG_SHAPE::IFSG_SHAPE(), loadIDFBoard(), LoadModel(), IFSG_APPEARANCE::NewNode(), IFSG_COLORS::NewNode(), IFSG_COORDINDEX::NewNode(), IFSG_COORDS::NewNode(), IFSG_FACESET::NewNode(), NewNode(), IFSG_SHAPE::NewNode(), IFSG_TRANSFORM::NewNode(), processFace(), processLabel(), processSolidOrShell(), WRL2APPEARANCE::TranslateToSG(), WRL2BASE::TranslateToSG(), WRL2BOX::TranslateToSG(), WRL2MATERIAL::TranslateToSG(), WRL2SHAPE::TranslateToSG(), WRL2TRANSFORM::TranslateToSG(), X3DAPP::TranslateToSG(), X3DSHAPE::TranslateToSG(), X3DTRANSFORM::TranslateToSG(), WRL1BASE::TranslateToSG(), WRL1GROUP::TranslateToSG(), WRL1SEPARATOR::TranslateToSG(), vrmlToSG(), and EXPORTER_PCB_VRML::writeLayers().
|
overridevirtual |
Implements IFSG_NODE.
Definition at line 145 of file ifsg_normals.cpp.
References IFSG_NODE::GetRawPtr(), and NewNode().
|
overridevirtual |
Function NewNode creates a new node to associate with this wrapper.
Implements IFSG_NODE.
Definition at line 121 of file ifsg_normals.cpp.
References SGNODE::AssociateWrapper(), SGNODE::DisassociateWrapper(), SGNODE::GetNodeType(), SGNODE::GetNodeTypeName(), SGNODE::GetParent(), and IFSG_NODE::m_node.
Referenced by EXPORTER_PCB_VRML::create_vrml_shell(), NewNode(), and vrmlToSG().
|
inherited |
Function SetName sets the node's name; if the pointer passed is NULL then the node's name is erased.
Definition at line 103 of file ifsg_node.cpp.
References IFSG_NODE::m_node, and SGNODE::SetName().
bool IFSG_NORMALS::SetNormalList | ( | size_t | aListSize, |
const SGVECTOR * | aNormalList | ||
) |
Definition at line 163 of file ifsg_normals.cpp.
References IFSG_NODE::m_node.
Referenced by SHAPE::CalcShape(), and WRL2BOX::TranslateToSG().
|
inherited |
Function SetParent sets the parent SGNODE of this object.
aParent | [in] is the desired parent node |
Definition at line 87 of file ifsg_node.cpp.
References IFSG_NODE::m_node, and SGNODE::SetParent().
Referenced by processFace(), and EXPORTER_PCB_VRML::~EXPORTER_PCB_VRML().
|
protectedinherited |
Definition at line 57 of file ifsg_node.h.
Referenced by IFSG_NODE::AddChildNode(), IFSG_COLORS::AddColor(), IFSG_COORDS::AddCoord(), IFSG_INDEX::AddIndex(), AddNormal(), IFSG_NODE::AddRefNode(), IFSG_APPEARANCE::Attach(), IFSG_COLORS::Attach(), IFSG_COORDINDEX::Attach(), IFSG_COORDS::Attach(), IFSG_FACESET::Attach(), Attach(), IFSG_SHAPE::Attach(), IFSG_TRANSFORM::Attach(), IFSG_FACESET::CalcNormals(), IFSG_NODE::Destroy(), IFSG_NODE::FindNode(), IFSG_COLORS::GetColorList(), IFSG_COORDS::GetCoordsList(), IFSG_INDEX::GetIndices(), IFSG_NODE::GetName(), IFSG_NODE::GetNodeType(), IFSG_NODE::GetNodeTypeName(), GetNormalList(), IFSG_NODE::GetParent(), IFSG_APPEARANCE::IFSG_APPEARANCE(), IFSG_COLORS::IFSG_COLORS(), IFSG_COORDINDEX::IFSG_COORDINDEX(), IFSG_COORDS::IFSG_COORDS(), IFSG_FACESET::IFSG_FACESET(), IFSG_NODE::IFSG_NODE(), IFSG_NORMALS(), IFSG_SHAPE::IFSG_SHAPE(), IFSG_TRANSFORM::IFSG_TRANSFORM(), IFSG_APPEARANCE::NewNode(), IFSG_COLORS::NewNode(), IFSG_COORDINDEX::NewNode(), IFSG_COORDS::NewNode(), IFSG_FACESET::NewNode(), NewNode(), IFSG_SHAPE::NewNode(), IFSG_TRANSFORM::NewNode(), IFSG_APPEARANCE::SetAmbient(), IFSG_COLORS::SetColorList(), IFSG_COORDS::SetCoordsList(), IFSG_APPEARANCE::SetDiffuse(), IFSG_APPEARANCE::SetEmissive(), IFSG_INDEX::SetIndices(), IFSG_NODE::SetName(), SetNormalList(), IFSG_NODE::SetParent(), IFSG_TRANSFORM::SetRotation(), IFSG_TRANSFORM::SetScale(), IFSG_TRANSFORM::SetScaleOrientation(), IFSG_APPEARANCE::SetSpecular(), and IFSG_NODE::~IFSG_NODE().