DG Kernel Documentation


Skip Navigation Links.
Skip Navigation LinksHome Page > Models > Models Search Documentation


Models of DG Kernel

A Model is a collection of objects and related information displayed as a scene in 3D window of DG Kernel or loaded to perform background manipulations

Models consist of Entities.

Entities are arranged in a child/parent tree. Model keeps array of top-level entities. The rest of the entities are children and descendents of top-level entities

Major attributes of a model:
  • Array of top level entities
  • Name
  • Description

Model also serves as a document of DG Kernel software. It contains all information stored or loaded via the supported formats

Programmatically model can be accessed and manipulated via IModel_DG interface, acquired via GetModel() method of DG Kernel control

Empty models (models, which do not contain any items) are considered valid.

Structure of a model can be viewed in Model Explorer, available via Model > Explore context menu command.

Model Persistance

Models can be loaded or saved by DG Kernel component programmatically at runtime. To save use either Save or SaveAs methods of the component or IModel_DG.Save*() methods.

To load either change the ModelPath property to a new location or use IModel_DG.Load*().. 

The required format in the above operations is determined by the file extension

IModelEx also provides methods for saving and loading the model to and from a memory buffer bypassing the file system, which allows embedding DG Kernel models in application documents and other tasks.

It is possible to change the default .mdg model file extension. Details. Models can also be saved to or loaded from a memory buffer, embedded into the application's .exe file or/and encrypted for security. Details

Standalone Models

Standalone Models are model instances not attached to a control, so they are not displayed in a view. They are useful in background operations involving models, for an example for saving a selected subset of entities.

Standalone models can be created using IObjectGenerator_DG.Create("Model_DG"); Standalone models are deleted as soon as the last reference to the model goes out of scope or the object holding the reference is deleted