Model ClassDelta Engine Documentation
Collection of static meshes to be rendered, makes it easier rendering complex things like Levels, 3D Models with animation and collections of meshes. Should be combined with Actor. View code on GitHub
Inheritance Hierarchy

System Object
  DeltaEngine.Entities Entity
    DeltaEngine.Entities DrawableEntity
      DeltaEngine.Rendering3D Entity3D
        DeltaEngine.Rendering3D HierarchyEntity3D
          DeltaEngine.Rendering3D Model
            DeltaEngine.Rendering3D.Shapes Box

Namespace: DeltaEngine.Rendering3D
Assembly: DeltaEngine.Rendering3D (in DeltaEngine.Rendering3D.dll) Version: 1.1.1.0 (1.1.1)
Syntax

public class Model : HierarchyEntity3D

The Model type exposes the following members.

Constructors

  NameDescription
Public methodModel(String, Vector3D)
Initializes a new instance of the Model class
Public methodModel(ModelData, Vector3D)
Initializes a new instance of the Model class
Public methodModel(ModelData, Vector3D, Quaternion)
Initializes a new instance of the Model class
Top
Methods

  NameDescription
Public methodAdd(HierarchyObject3D) (Inherited from HierarchyEntity3D.)
Public methodAdd T (T) (Inherited from Entity3D.)
Public methodAddTag (Inherited from Entity.)
Public methodClearTags (Inherited from Entity.)
Public methodContains T  (Inherited from Entity3D.)
Public methodContainsBehavior T  (Inherited from Entity.)
Public methodContainsTag (Inherited from Entity.)
Protected methodDeactivate (Inherited from Entity.)
Public methodDispose (Inherited from Entity.)
Public methodGet T  (Inherited from Entity3D.)
Protected methodGetActiveBehaviors (Inherited from Entity.)
Protected methodGetComponentsForSaving (Inherited from Entity3D.)
Protected methodGetDrawBehaviors (Inherited from DrawableEntity.)
Public methodGetFirstChildOfType T  (Inherited from HierarchyEntity3D.)
Public methodGetInterpolatedArray T  (Inherited from DrawableEntity.)
Public methodGetInterpolatedList T  (Inherited from DrawableEntity.)
Public methodGetOrDefault T  (Inherited from Entity.)
Public methodGetTags (Inherited from Entity.)
Protected methodNextUpdateStarted (Inherited from Entity3D.)
Public methodOnDraw T  (Inherited from DrawableEntity.)
Protected methodOnOrientationChanged (Inherited from HierarchyEntity3D.)
Protected methodOnPositionChanged (Inherited from HierarchyEntity3D.)
Protected methodOnScaleChanged (Inherited from HierarchyEntity3D.)
Public methodRemove(HierarchyObject3D) (Inherited from HierarchyEntity3D.)
Public methodRemove T   (Inherited from Entity.)
Public methodRemoveTag (Inherited from Entity.)
Public methodSet (Inherited from Entity3D.)
Public methodSetComponents (Inherited from Entity.)
Public methodSetWithoutInterpolation T  (Inherited from Entity3D.)
Public methodStart T  (Inherited from Entity.)
Public methodStop T  (Inherited from Entity.)
Public methodToggleVisibility (Inherited from DrawableEntity.)
Public methodToString (Inherited from Entity.)
Public methodUpdateGlobalsFromParent (Inherited from HierarchyEntity3D.)
Top
Fields

  NameDescription
Protected fieldcomponents (Inherited from Entity.)
Protected fieldlastOrientation (Inherited from Entity3D.)
Protected fieldlastPosition (Inherited from Entity3D.)
Protected fieldlastTickLerpComponents
Each element can either be a Lerp, a Lerp List or an array of Lerp objects. View code on GitHub
(Inherited from DrawableEntity.)
Top
Properties

  NameDescription
Public propertyChildren (Inherited from HierarchyEntity3D.)
Public propertyIsActive (Inherited from HierarchyEntity3D.)
Public propertyIsPauseable (Inherited from Entity.)
Public propertyIsVisible (Inherited from DrawableEntity.)
Public propertyNumberOfComponents (Inherited from Entity.)
Public propertyOrientation (Inherited from Entity3D.)
Public propertyParent (Inherited from HierarchyEntity3D.)
Public propertyPosition (Inherited from Entity3D.)
Public propertyRelativeOrientation (Inherited from HierarchyEntity3D.)
Public propertyRelativePosition (Inherited from HierarchyEntity3D.)
Public propertyRenderLayer (Inherited from DrawableEntity.)
Public propertyScale (Inherited from Entity3D.)
Public propertyUpdatePriority (Inherited from Entity.)
Top
Remarks

Tests: DeltaEngine.Rendering3D.Tests.ModelTests
Examples

5 unit tests call DeltaEngine.Rendering3D.Model
[Test, CloseAfterFirstFrame]
public void LoadInvalidModel()
{
    if (IsMockResolver)
        Assert.Throws<ModelData.NoMeshesGivenNeedAtLeastOne>(
            () => new Model("InvalidModel", Vector3D.Zero));
}
[Test, ApproveFirstFrameScreenshot]
public void RenderCubeModel()
{
    window.BackgroundColor = Color.Gray;
    Camera.Current.Position = 2 * Vector3D.One;
    new Model("Cube", Vector3D.Zero);
}
[Test]
public void RayPick()
{
    new Grid3D(new Size(10));
    Camera.Current.Position = 5 * Vector3D.One;
    var cube = new Model(new ModelData(new BoxMesh(Vector3D.One, Color.Red)), Vector3D.Zero);
    var floor = new Plane(Vector3D.UnitZ, 0.0f);
    //ncrunch: no coverage start 
    new Command(point =>
    {
        var ray = Camera.Current.ScreenPointToRay(point);
        Vector3D? intersect = floor.Intersect(ray);
        if (intersect != null)
            cube.Position = (Vector3D)intersect;
    }).Add(new MouseButtonTrigger(MouseButton.Left, State.Pressed));
}
See Also