10 #include <AtomsGraph/Globals.h>
11 #include <AtomsGraph/Nodes/UnaryFunctionNode.h>
12 #include <AtomsGraph/Nodes/BinaryFunctionNode.h>
13 #include <AtomsGraph/Nodes/MathNodes.h>
14 #include <AtomsUtils/AtomsMath.h>
19 ATOMSGRAPH_EXPORT
void registerMatrixNodes();
21 ATOMS_IMPLEMENT_NODE(AddNode<AtomsMath::Matrix>, AddMatrix, ADDMATRIX_NODE_ID)
23 ATOMS_IMPLEMENT_NODE(SubtractNode<AtomsMath::Matrix>, SubtractMatrix, SUBTRACTMATRIX_NODE_ID)
25 ATOMS_IMPLEMENT_NODE(MultiplyNode<AtomsMath::Matrix>, MultiplyMatrix, MULTIPLYMATRIX_NODE_ID)
27 UNARY_DOT_FUNCTION_NODE_DEFINITION(InverseNode, inverse)
28 ATOMS_IMPLEMENT_NODE(InverseNode<AtomsMath::Matrix>, InverseMatrix, INVERSEMATRIX_NODE_ID)
30 UNARY_DOT_FUNCTION_NODE_DEFINITION(TransposeNode, transposed)
31 ATOMS_IMPLEMENT_NODE(TransposeNode<AtomsMath::Matrix>, TransposeMatrix, TRANSPOSEMATRIX_NODE_ID)
33 UNARY_DOT_FUNCTION_NODE_DEFINITION(DeterminantMatrixNode, determinant)
34 ATOMS_IMPLEMENT_NODE(DeterminantMatrixNode<CONCAT(AtomsMath::Matrix, AtomsMath::Matrix,
double)>, DeterminantMatrix, DETERMINANTMATRIX_NODE_ID)
36 BINARY_OPERATOR_NODE_DEFINITION_WITH_NAMES(MultiplyScalarMatrixNode, *, matrix,
double, out)
37 ATOMS_IMPLEMENT_NODE(MultiplyScalarMatrixNode<CONCAT(AtomsMath::Matrix, AtomsMath::Matrix,
double, AtomsMath::Matrix)>, MultiplyScalarMatrix, MULTIPLYSCALARMATRIX_NODE_ID)
39 BINARY_OPERATOR_NODE_DEFINITION_WITH_NAMES(AddScalarMatrixNode, +, matrix,
double, out)
40 ATOMS_IMPLEMENT_NODE(AddScalarMatrixNode<CONCAT(AtomsMath::Matrix, AtomsMath::Matrix,
double, AtomsMath::Matrix)>, AddScalarMatrix, ADDSCALARMATRIX_NODE_ID)
42 BINARY_OPERATOR_NODE_DEFINITION_WITH_NAMES(DivideScalarMatrixNode, / , matrix,
double, out)
43 ATOMS_IMPLEMENT_NODE(DivideScalarMatrixNode<CONCAT(AtomsMath::Matrix, AtomsMath::Matrix,
double, AtomsMath::Matrix)>, DivideScalarMatrix, DIVIDESCALARMATRIX_NODE_ID)
45 BINARY_NOREF_DOT_FUNCTION_NODE_DEFINITION_WITH_NAMES(RotateNode, rotate, matrix, vector, out)
46 ATOMS_IMPLEMENT_NODE(RotateNode<CONCAT(AtomsMath::Matrix, AtomsMath::Matrix, AtomsMath::Vector3, AtomsMath::Matrix)>, RotateMatrix, ROTATEMATRIX_NODE_ID)
48 BINARY_NOREF_DOT_FUNCTION_NODE_DEFINITION_WITH_NAMES(SetRotateNode, setEulerAngles, matrix, vector, out)
49 ATOMS_IMPLEMENT_NODE(SetRotateNode<CONCAT(AtomsMath::Matrix, AtomsMath::Matrix, AtomsMath::Vector3, AtomsMath::Matrix)>, SetRotationMatrix, SETROTATEMATRIX_NODE_ID)
51 BINARY_NOREF_DOT_FUNCTION_NODE_DEFINITION_WITH_NAMES(ScaleNode, scale, matrix, vector, out)
52 ATOMS_IMPLEMENT_NODE(ScaleNode<CONCAT(AtomsMath::Matrix, AtomsMath::Matrix, AtomsMath::Vector3, AtomsMath::Matrix)>, ScaleMatrix, SCALEMATRIX_NODE_ID)
54 BINARY_NOREF_DOT_FUNCTION_NODE_DEFINITION_WITH_NAMES(SetScaleNode, setScale, matrix, vector, out)
55 ATOMS_IMPLEMENT_NODE(SetScaleNode<CONCAT(AtomsMath::Matrix, AtomsMath::Matrix, AtomsMath::Vector3, AtomsMath::Matrix)>, SetScaleMatrix, SETSCALEMATRIX_NODE_ID)
57 BINARY_NOREF_DOT_FUNCTION_NODE_DEFINITION_WITH_NAMES(TranslateNode, translate, matrix, vector, out)
58 ATOMS_IMPLEMENT_NODE(TranslateNode<CONCAT(AtomsMath::Matrix, AtomsMath::Matrix, AtomsMath::Vector3, AtomsMath::Matrix)>, TranslateMatrix, TRANSLATEMATRIX_NODE_ID)
60 BINARY_NOREF_DOT_FUNCTION_NODE_DEFINITION_WITH_NAMES(SetTranslationNode, setTranslation, matrix, vector, out)
61 ATOMS_IMPLEMENT_NODE(SetTranslationNode<CONCAT(AtomsMath::Matrix, AtomsMath::Matrix, AtomsMath::Vector3, AtomsMath::Matrix)>, SetTranslationMatrix, SETTRANSLATIONMATRIX_NODE_ID)
63 BINARY_NOREF_DOT_FUNCTION_NODE_DEFINITION_WITH_NAMES(ShearNode, shear, matrix, vector, out)
64 ATOMS_IMPLEMENT_NODE(ShearNode<CONCAT(AtomsMath::Matrix, AtomsMath::Matrix, AtomsMath::Vector3, AtomsMath::Matrix)>, ShearMatrix, SHEARMATRIX_NODE_ID)
66 BINARY_NOREF_DOT_FUNCTION_NODE_DEFINITION_WITH_NAMES(SetShearNode, setShear, matrix, vector, out)
67 ATOMS_IMPLEMENT_NODE(SetShearNode<CONCAT(AtomsMath::Matrix, AtomsMath::Matrix, AtomsMath::Vector3, AtomsMath::Matrix)>, SetShearMatrix, SETSHEARMATRIX_NODE_ID)
120 NODE_STANDARD_MEMBERS
143 NODE_STANDARD_MEMBERS
166 NODE_STANDARD_MEMBERS
191 NODE_STANDARD_MEMBERS
218 NODE_STANDARD_MEMBERS
239 NODE_STANDARD_MEMBERS
259 NODE_STANDARD_MEMBERS
279 NODE_STANDARD_MEMBERS
299 NODE_STANDARD_MEMBERS
321 NODE_STANDARD_MEMBERS
347 NODE_STANDARD_MEMBERS
369 NODE_STANDARD_MEMBERS
393 NODE_STANDARD_MEMBERS
413 NODE_STANDARD_MEMBERS
433 NODE_STANDARD_MEMBERS
459 NODE_STANDARD_MEMBERS
Definition: MatrixNodes.h:140
virtual bool compute(const ComputeData *computeData)
Compute function.
Definition: MatrixNodes.h:163
virtual bool compute(const ComputeData *computeData)
Compute function.
Definition: MatrixNodes.h:188
virtual bool compute(const ComputeData *computeData)
Compute function.
Definition: MatrixNodes.h:296
virtual bool compute(const ComputeData *computeData)
Compute function.
Definition: MatrixNodes.h:456
virtual bool compute(const ComputeData *computeData)
Compute function.
Definition: MatrixNodes.h:71
virtual bool compute(const ComputeData *computeData)
Compute function.
Definition: MatrixNodes.h:94
virtual bool compute(const ComputeData *computeData)
Compute function.
Generic node port class.
Definition: PortTemplate.h:24
Definition: MatrixNodes.h:344
virtual bool compute(const ComputeData *computeData)
Compute function.
Definition: MatrixNodes.h:366
virtual bool compute(const ComputeData *computeData)
Compute function.
Definition: MatrixNodes.h:410
virtual bool compute(const ComputeData *computeData)
Compute function.
Definition: MatrixNodes.h:390
virtual bool compute(const ComputeData *computeData)
Compute function.
Definition: MatrixNodes.h:117
virtual bool compute(const ComputeData *computeData)
Compute function.
Definition: MatrixNodes.h:430
virtual bool compute(const ComputeData *computeData)
Compute function.
AtomsGraph namespace.
Definition: PosePort.h:15