ModelSimplifyFlags

Description

[Flags]
enum Tinman.Engine.Models.ModelSimplifyFlags

Flags for choosing action for simplifying models.

When the ProcessThis flag is present, these actions are performed for each Model, in the order given:

If the ProcessChildren flag is present, the child models are processed (between steps 5 and 6, if ProcessThis is also present) by calling IModel.Simplify on each child. The ProcessThis flag is always set for these calls. If ProcessRecursively is present, the ProcessChildren flag will be retained, otherwise it will be dropped.

See also

IModel.Simplify

Public / Constants

None

public constant None → (0:int32)

No simplification actions.

RemoveRedundant

public constant RemoveRedundant → (1:int32)

Removes redundant information from models and parts.

The following information is removed if redundant:

RemoveEmptyParts

public constant RemoveEmptyParts → (2:int32)

Remove empty model parts.

A model part is considered empty in any of these cases:

RemoveEmptyChildren

public constant RemoveEmptyChildren → (4:int32)

Remove empty child models.

A child model is considered empty in any of these cases:

ReplaceEquivalent

public constant ReplaceEquivalent → (8:int32)

Replace different IModelPart, IModelGeometry, IModelTexture and IMaterial objects that are equivalent with the first object that has been encountered?

SortParts

public constant SortParts → (16:int32)

Sorts the model parts, so that mergeable parts become arranged sequentially.

SortChildren

public constant SortChildren → (32:int32)

Sorts the child nodes: by name (ascending), then by part count (descending), then by child count (descending).

MergeParts

public constant MergeParts → (64:int32)

Merge subsequent model parts, if possible?

The IModelPart.Merge method is used for merging subsequent model parts.

ProcessThis

public constant ProcessThis → (128:int32)

Simplify the model on which IModel.Simplify is called?

ProcessChildren

public constant ProcessChildren → (256:int32)

Simplify the children of the model on which IModel.Simplify is called?

ProcessRecursively

public constant ProcessRecursively → (512:int32)

Simplify the descendants of the model on which IModel.Simplify is called?

If ProcessChildren is not present, this flag will be ignored.

All

public constant All → (1023:int32)

All simplification actions.