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.
using RDF; // include at least engine.cs within your solution public void CreateMatrix() { Int64 model = RDF.engine.CreateModel(); if (model != 0) { // // Classes // Int64 classCylinder = RDF.engine.GetClassByName(model, "Cylinder"), classMatrix = RDF.engine.GetClassByName(model, "Matrix"), classTransformation = RDF.engine.GetClassByName(model, "Transformation"); // // Object Properties (relations) // Int64 propertyMatrix = RDF.engine.GetPropertyByName(model, "matrix"), propertyObject = RDF.engine.GetPropertyByName(model, "object"); // // Datatype Properties (attributes) // Int64 property_41 = RDF.engine.GetPropertyByName(model, "_41"), property_42 = RDF.engine.GetPropertyByName(model, "_42"), property_43 = RDF.engine.GetPropertyByName(model, "_43"), propertyLength = RDF.engine.GetPropertyByName(model, "length"), propertyRadius = RDF.engine.GetPropertyByName(model, "radius"), propertySegmentationParts = RDF.engine.GetPropertyByName(model, "segmentationParts"); // // Instances (creating) // Int64 myInstanceCylinder = RDF.engine.CreateInstance(classCylinder, (string) null), myInstanceMatrix = RDF.engine.CreateInstance(classMatrix, (string) null), myInstanceTransformation = RDF.engine.CreateInstance(classTransformation, (string) null); RDF.engine.SetObjectProperty(myInstanceTransformation, propertyObject, ref myInstanceCylinder, 1); RDF.engine.SetObjectProperty(myInstanceTransformation, propertyMatrix, ref myInstanceMatrix, 1); double length = 2.8, radius = 1.3; Int64 segmentationParts = 36; RDF.engine.SetDatatypeProperty(myInstanceCylinder, propertyLength, ref length, 1); RDF.engine.SetDatatypeProperty(myInstanceCylinder, propertyRadius, ref radius, 1); RDF.engine.SetDatatypeProperty(myInstanceCylinder, propertySegmentationParts, ref segmentationParts, 1); double offsetX = 3.3, offsetY = -1.2, offsetZ = 0.5; RDF.engine.SetDatatypeProperty(myInstanceMatrix, property_41, ref offsetX, 1); RDF.engine.SetDatatypeProperty(myInstanceMatrix, property_42, ref offsetY, 1); RDF.engine.SetDatatypeProperty(myInstanceMatrix, property_43, ref offsetZ, 1); // // The resulting model can be viewed in 3D-Editor.exe // RDF.engine.SaveModel(model, "c:\\created\\myMatrix.bin"); RDF.engine.CloseModel(model); } }