Matrix
Class
class Mathematics class Matrix property _11 range double (64 bit), cardinality [0, 1] property _12 range double (64 bit), cardinality [0, 1] property _13 range double (64 bit), cardinality [0, 1] property _21 range double (64 bit), cardinality [0, 1] property _22 range double (64 bit), cardinality [0, 1] property _23 range double (64 bit), cardinality [0, 1] property _31 range double (64 bit), cardinality [0, 1] property _32 range double (64 bit), cardinality [0, 1] property _33 range double (64 bit), cardinality [0, 1] property _41 range double (64 bit), cardinality [0, 1] property _42 range double (64 bit), cardinality [0, 1] property _43 range double (64 bit), cardinality [0, 1] property coordinates range double (64 bit), cardinality [0, 12] subClasses class InverseMatrix class MatrixMultiplication
Example (based on pure API calls)
Here you can find code snippits that show how the API call Matrix can be used.
#include "./include/engine.h" int64_t model = CreateModel(); if (model) { // // Classes // int64_t classCylinder = GetClassByName(model, "Cylinder"), classMatrix = GetClassByName(model, "Matrix"), classTransformation = GetClassByName(model, "Transformation"); // // Object Properties (relations) // int64_t propertyMatrix = GetPropertyByName(model, "matrix"), propertyObject = GetPropertyByName(model, "object"); // // Datatype Properties (attributes) // int64_t property_41 = GetPropertyByName(model, "_41"), property_42 = GetPropertyByName(model, "_42"), property_43 = GetPropertyByName(model, "_43"), propertyLength = GetPropertyByName(model, "length"), propertyRadius = GetPropertyByName(model, "radius"), propertySegmentationParts = GetPropertyByName(model, "segmentationParts"); // // Instances (creating) // int64_t myInstanceCylinder = CreateInstance(classCylinder, nullptr), myInstanceMatrix = CreateInstance(classMatrix, nullptr), myInstanceTransformation = CreateInstance(classTransformation, nullptr); SetObjectProperty(myInstanceTransformation, propertyObject, &myInstanceCylinder, 1); SetObjectProperty(myInstanceTransformation, propertyMatrix, &myInstanceMatrix, 1); double length = 2.8, radius = 1.3; int64_t segmentationParts = 36; SetDatatypeProperty(myInstanceCylinder, propertyLength, &length, 1); SetDatatypeProperty(myInstanceCylinder, propertyRadius, &radius, 1); SetDatatypeProperty(myInstanceCylinder, propertySegmentationParts, &segmentationParts, 1); double offsetX = 3.3, offsetY = -1.2, offsetZ = 0.5; SetDatatypeProperty(myInstanceMatrix, property_41, &offsetX, 1); SetDatatypeProperty(myInstanceMatrix, property_42, &offsetY, 1); SetDatatypeProperty(myInstanceMatrix, property_43, &offsetZ, 1); // // The resulting model can be viewed in 3D-Editor.exe // SaveModel(model, "c:\\created\\myMatrix.bin"); CloseModel(model); }