CreateClassW
If the model input is zero or not a model handle 0 will be returned,
Syntax
// Visual Studio for Windows public: __int64 __declspec(dllexport) __stdcall CreateClassW( __int64 model, const wchar_t * name ); // Linux, OS-X and non-Visual Studio Windows solutions public: int64_t CreateClassW( int64_t model, const wchar_t * name );
Property model
Size: 64 bit / 8 byte (value)Property name
Size: 64 bit / 8 byte (reference)
Example
Here you can find code snippits that show how the API call CreateClassW can be used.
#include "engine/include/engine.h" void main() { int64_t model = CreateModel(); if (model) { // // The following class will be created on-the-fly if the name is not used already // for a class or property (attribute / relation). // // note: calling GetClassByName with a name not yet existing will do the same trick) // int64_t classMyOwnCylinderClass = CreateClassW(model, L"MyOwnCylinderClass"); // // Classes // int64_t classCylinder = GetClassByNameW(model, L"Cylinder"); // // Datatype Properties (attributes) // int64_t propertyLength = GetPropertyByNameW(model, L"length"), propertyRadius = GetPropertyByNameW(model, L"radius"), propertySegmentationParts = GetPropertyByNameW(model, L"segmentationParts"); // // Instances // int64_t instanceMyOwnCylinderClass = CreateInstanceW(classMyOwnCylinderClass, nullptr); // // At this moment our new class is unrelated to other classes and instances of it not generating any geometry // assert(GetGeometryClass(classMyOwnCylinderClass) == 0); SetClassParent(classMyOwnCylinderClass, classCylinder, 1); // // Now each instance of MyOwnCylinderClass is inheriting the behavior and knowledge of a Cylinder // assert(GetGeometryClass(classMyOwnCylinderClass) == classCylinder); double length = 1.8, radius = 1.3; int64_t segmentationParts = 36; SetDatatypeProperty(instanceMyOwnCylinderClass, propertyLength, &length, 1); SetDatatypeProperty(instanceMyOwnCylinderClass, propertyRadius, &radius, 1); SetDatatypeProperty(instanceMyOwnCylinderClass, propertySegmentationParts, &segmentationParts, 1); double volume = GetVolume(instanceMyOwnCylinderClass, nullptr, nullptr); // // The resulting model can be viewed in 3D-Editor.exe // SaveModelW(model, L"c:\\created\\myFile.bin"); CloseModel(model); } }