ModelFlags

Description

[Flags]
enum Tinman.Engine.Models.ModelFlags

Enumeration of flags for IModel objects for describe semantic aspects.

Public / Constants

None

public constant None → (0:int32)

No model flags.

Group

public constant Group → (1:int32)

The model represents a group of models, for example variations of the same object.

A IModel with the Group flag is ignored during rendering. The application is supposed to select a child of a group model.

NoSpatialQuery

public constant NoSpatialQuery → (2:int32)

The model and its descendants are excluded from spatial queries.

When this flag is set in IModel.Flags of a IModel, no spatial acceleration data structures will be built for its parts, see IModel.PartAt. Using the methods of ISpatialQuery on such a model will behave as if there were no spatial bounds.

ComplexGeometry

public constant ComplexGeometry → (4:int32)

The geometry of the model parts is complex.

Computing IModelCollider objects for complex geometry via IModel.Collider is typically heavy on CPU usage, RAM consumption and processing time. Specifying this flag acts as a hint to the ModelFormat.WriteModel method of ModelFormat objects, which may decide to include additional pre-computed data in the model file (for example spatial acceleration structures such as octrees).

See also

ModelFormat.CMH

ComplexHierarchy

public constant ComplexHierarchy → (8:int32)

The model is part of a complex hierarchy.

Computing ISpatialBounds objects for complex hierarchies requires traversal of the whole hierarchy, while analysing the geometry of each model in order to compute its spatial bounds. Specifying this flag acts as a hint to the ModelFormat.WriteModel method of ModelFormat objects, which may decide to include pre-computed spatial bounds in the model file.

See also

ModelFormat.CMH

Terrain

public constant Terrain → (16:int32)

The geometry of the model parts represents the terrain surface.

This flag can be used to distinguish between surface and other geometry. While the latter is rendered on top of the terrain, the former may be used to adjust the terrain mesh, for example by ray-casting.

All

public constant All → (31:int32)

All model flags.