KiCad PCB EDA Suite
|
IFSG_TRANSFORM is the wrapper for the VRML compatible TRANSFORM block class SCENEGRAPH. More...
#include <ifsg_transform.h>
Public Member Functions | |
IFSG_TRANSFORM (bool create) | |
IFSG_TRANSFORM (SGNODE *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 | SetScaleOrientation (const SGVECTOR &aScaleAxis, double aAngle) |
bool | SetRotation (const SGVECTOR &aRotationAxis, double aAngle) |
bool | SetScale (const SGPOINT &aScale) noexcept |
bool | SetScale (double aScale) |
bool | SetCenter (const SGPOINT &aCenter) noexcept |
bool | SetTranslation (const SGPOINT &aTranslation) noexcept |
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_TRANSFORM is the wrapper for the VRML compatible TRANSFORM block class SCENEGRAPH.
Definition at line 40 of file ifsg_transform.h.
IFSG_TRANSFORM::IFSG_TRANSFORM | ( | bool | create | ) |
Definition at line 37 of file ifsg_transform.cpp.
References SGNODE::AssociateWrapper(), and IFSG_NODE::m_node.
IFSG_TRANSFORM::IFSG_TRANSFORM | ( | SGNODE * | aParent | ) |
Definition at line 50 of file ifsg_transform.cpp.
References SGNODE::AssociateWrapper(), 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().
|
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 69 of file ifsg_transform.cpp.
References SGNODE::AssociateWrapper(), SGNODE::DisassociateWrapper(), SGNODE::GetNodeType(), IFSG_NODE::m_node, and S3D::SGTYPE_TRANSFORM.
Referenced by makeComponents(), and EXPORTER_PCB_VRML::~EXPORTER_PCB_VRML().
|
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.
|
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_NORMALS(), IFSG_SHAPE::IFSG_SHAPE(), loadIDFBoard(), LoadModel(), IFSG_APPEARANCE::NewNode(), IFSG_COLORS::NewNode(), IFSG_COORDINDEX::NewNode(), IFSG_COORDS::NewNode(), IFSG_FACESET::NewNode(), IFSG_NORMALS::NewNode(), IFSG_SHAPE::NewNode(), 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 115 of file ifsg_transform.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 91 of file ifsg_transform.cpp.
References SGNODE::AssociateWrapper(), SGNODE::DisassociateWrapper(), SGNODE::GetNodeType(), SGNODE::GetNodeTypeName(), SGNODE::GetParent(), and IFSG_NODE::m_node.
Referenced by NewNode().
|
noexcept |
Definition at line 185 of file ifsg_transform.cpp.
Referenced by WRL2TRANSFORM::TranslateToSG(), and X3DTRANSFORM::TranslateToSG().
|
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().
|
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().
bool IFSG_TRANSFORM::SetRotation | ( | const SGVECTOR & | aRotationAxis, |
double | aAngle | ||
) |
Definition at line 125 of file ifsg_transform.cpp.
References IFSG_NODE::m_node.
Referenced by EXPORTER_PCB_VRML::ExportVrmlFootprint(), makeComponents(), processLabel(), WRL2TRANSFORM::TranslateToSG(), and X3DTRANSFORM::TranslateToSG().
|
noexcept |
Definition at line 136 of file ifsg_transform.cpp.
Referenced by EXPORTER_PCB_VRML::ExportVrmlFootprint(), EXPORTER_PCB_VRML::SetScale(), WRL2TRANSFORM::TranslateToSG(), and X3DTRANSFORM::TranslateToSG().
bool IFSG_TRANSFORM::SetScale | ( | double | aScale | ) |
Definition at line 146 of file ifsg_transform.cpp.
References IFSG_NODE::m_node.
bool IFSG_TRANSFORM::SetScaleOrientation | ( | const SGVECTOR & | aScaleAxis, |
double | aAngle | ||
) |
Definition at line 174 of file ifsg_transform.cpp.
References IFSG_NODE::m_node.
Referenced by WRL2TRANSFORM::TranslateToSG(), and X3DTRANSFORM::TranslateToSG().
|
noexcept |
Definition at line 164 of file ifsg_transform.cpp.
Referenced by EXPORTER_PCB_VRML::ExportVrmlFootprint(), makeComponents(), processLabel(), WRL2TRANSFORM::TranslateToSG(), and X3DTRANSFORM::TranslateToSG().
|
protectedinherited |
Definition at line 57 of file ifsg_node.h.
Referenced by IFSG_NODE::AddChildNode(), IFSG_COLORS::AddColor(), IFSG_COORDS::AddCoord(), IFSG_INDEX::AddIndex(), IFSG_NORMALS::AddNormal(), IFSG_NODE::AddRefNode(), IFSG_APPEARANCE::Attach(), IFSG_COLORS::Attach(), IFSG_COORDINDEX::Attach(), IFSG_COORDS::Attach(), IFSG_FACESET::Attach(), IFSG_NORMALS::Attach(), IFSG_SHAPE::Attach(), 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(), IFSG_NORMALS::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_NORMALS(), IFSG_SHAPE::IFSG_SHAPE(), IFSG_TRANSFORM(), IFSG_APPEARANCE::NewNode(), IFSG_COLORS::NewNode(), IFSG_COORDINDEX::NewNode(), IFSG_COORDS::NewNode(), IFSG_FACESET::NewNode(), IFSG_NORMALS::NewNode(), IFSG_SHAPE::NewNode(), NewNode(), IFSG_APPEARANCE::SetAmbient(), IFSG_COLORS::SetColorList(), IFSG_COORDS::SetCoordsList(), IFSG_APPEARANCE::SetDiffuse(), IFSG_APPEARANCE::SetEmissive(), IFSG_INDEX::SetIndices(), IFSG_NODE::SetName(), IFSG_NORMALS::SetNormalList(), IFSG_NODE::SetParent(), SetRotation(), SetScale(), SetScaleOrientation(), IFSG_APPEARANCE::SetSpecular(), and IFSG_NODE::~IFSG_NODE().