CImplicitFunction
-
class Lib3MF::CImplicitFunction : public CFunction
-
std::string GetIdentifier()
Retrieves the identifier of the function
- Returns:
the identifier
-
void SetIdentifier(const std::string &sIdentifier)
Sets the identifier of the function
- Parameters:
sIdentifier – the identifier
-
PImplicitNode AddNode(const eImplicitNodeType eNodeType, const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a node
- Parameters:
eNodeType – the type of the node
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PSinNode AddSinNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a SinNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PCosNode AddCosNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a CosNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PTanNode AddTanNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a TanNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PArcSinNode AddArcSinNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a ArcSinNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PArcCosNode AddArcCosNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a ArcCosNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PArcTan2Node AddArcTan2Node(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a ArcTan2Node
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PSinhNode AddSinhNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a SinhNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PCoshNode AddCoshNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a CoshNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PTanhNode AddTanhNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a TanhNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PRoundNode AddRoundNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a RoundNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PCeilNode AddCeilNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a CeilNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PFloorNode AddFloorNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a FloorNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PSignNode AddSignNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a SignNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PFractNode AddFractNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a FractNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PAbsNode AddAbsNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a AbsNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PExpNode AddExpNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a ExpNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PLogNode AddLogNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a LogNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PLog2Node AddLog2Node(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a Log2Node
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PLog10Node AddLog10Node(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a Log10Node
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PLengthNode AddLengthNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a LengthNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PTransposeNode AddTransposeNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a TransposeNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PInverseNode AddInverseNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a InverseNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PSqrtNode AddSqrtNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a SqrtNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PResourceIdNode AddResourceIdNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a ResourceIdNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PAdditionNode AddAdditionNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add an AdditionNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PSubtractionNode AddSubtractionNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a SubtractionNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PMultiplicationNode AddMultiplicationNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a MultiplicationNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PDivisionNode AddDivisionNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a DivisionNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PDotNode AddDotNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a DotNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PCrossNode AddCrossNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a CrossNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PMatVecMultiplicationNode AddMatVecMultiplicationNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a MatVecMultiplicationNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PMinNode AddMinNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a MinNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PMaxNode AddMaxNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a MaxNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PFmodNode AddFmodNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a FmodNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PPowNode AddPowNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a PowNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PSelectNode AddSelectNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a SelectNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PClampNode AddClampNode(const std::string &sIdentifier, const eImplicitNodeConfiguration eConfiguration, const std::string &sDisplayName, const std::string &sTag)
Add a ClampNode
- Parameters:
sIdentifier – the identifier of the node
eConfiguration – the configuration of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PComposeVectorNode AddComposeVectorNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a ComposeVectorNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PVectorFromScalarNode AddVectorFromScalarNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a VectorFromScalar
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PDecomposeVectorNode AddDecomposeVectorNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a DecomposeVectorNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PComposeMatrixNode AddComposeMatrixNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a ComposeMatrixNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PMatrixFromRowsNode AddMatrixFromRowsNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a MatrixFromRowsNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PMatrixFromColumnsNode AddMatrixFromColumnsNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a MatrixFromColumnsNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PConstantNode AddConstantNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a ConstantNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PConstVecNode AddConstVecNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a ConstVecNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PConstMatNode AddConstMatNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a ConstMatNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PMeshNode AddMeshNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a MeshNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PUnsignedMeshNode AddUnsignedMeshNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a UnsignedMeshNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PBeamLatticeNode AddBeamLatticeNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a BeamLatticeNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PFunctionGradientNode AddFunctionGradientNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a FunctionGradientNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PNormalizeDistanceNode AddNormalizeDistanceNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a NormalizeDistanceNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PFunctionCallNode AddFunctionCallNode(const std::string &sIdentifier, const std::string &sDisplayName, const std::string &sTag)
Add a FunctionCallNode
- Parameters:
sIdentifier – the identifier of the node
sDisplayName – the display name of the node
sTag – the tag of the node
- Returns:
the added node
-
PNodeIterator GetNodes()
Retrieves the nodes
- Returns:
iterator for the list of nodes
-
void RemoveNode(classParam<CImplicitNode> pNode)
Removes a node
- Parameters:
pNode – The node to be removed
-
void AddLink(classParam<CImplicitPort> pSource, classParam<CImplicitPort> pTarget)
Add a link
- Parameters:
pSource – the source port
pTarget – the target port
-
void AddLinkByNames(const std::string &sSource, const std::string &sTarget)
Add a link
- Parameters:
sSource – name of the source port in the format nodename.portname
sTarget – name of the target port in the format nodename.portname
-
void Clear()
Clears the function
-
void SortNodesTopologically()
Sorts the nodes topologically
-
std::string GetIdentifier()
-
typedef std::shared_ptr<CImplicitFunction> Lib3MF::PImplicitFunction
Shared pointer to CImplicitFunction to easily allow reference counting.