Packageaway3d.entities
Classpublic class Mesh
InheritanceMesh Inheritance Entity Inheritance ObjectContainer3D Inheritance Object3D Inheritance NamedAssetBase Inheritance flash.events.EventDispatcher
Implements IMaterialOwner, IAsset
Subclasses DelaunayMesh, Elevation, LatheExtrude, LinearExtrude, PathExtrude, SkinExtrude, Trident

Mesh is an instance of a Geometry, augmenting it with a presence in the scene graph, a material, and an animation state. It consists out of SubMeshes, which in turn correspond to SubGeometries. SubMeshes allow different parts of the geometry to be assigned different materials.



Public Properties
 PropertyDefined By
  animator : IAnimator
Defines the animator of the mesh.
Mesh
 InheritedassetFullPath : Array
[read-only]
NamedAssetBase
 InheritedassetNamespace : String
[read-only]
NamedAssetBase
  assetType : String
[override] [read-only]
Mesh
 InheritedbackVector : Vector3D
[read-only]
Object3D
 Inheritedbounds : BoundingVolumeBase
The bounding volume approximating the volume occupied by the Entity.
Entity
  castsShadows : Boolean
Indicates whether or not the Mesh can cast shadows
Mesh
 InheriteddownVector : Vector3D
[read-only]
Object3D
 Inheritedeulers : Vector3D
Defines the rotation of the 3d object as a Vector3D object containing euler angles for rotation around x, y and z axis.
Object3D
 Inheritedextra : Object
An object that can contain any extra data.
Object3D
 InheritedforwardVector : Vector3D
[read-only]
Object3D
  geometry : Geometry
The geometry used by the mesh that provides it with its shape.
Mesh
 InheritedinverseSceneTransform : Matrix3D
[read-only] The inverse scene transform object that transforms from world to model space.
ObjectContainer3D
 InheritedleftVector : Vector3D
[read-only]
Object3D
  material : MaterialBase
The material with which to render the Mesh.
Mesh
 InheritedmaxX : Number
[override] [read-only] The maximum extremum of the object along the X-axis.
Entity
 InheritedmaxY : Number
[override] [read-only] The maximum extremum of the object along the Y-axis.
Entity
 InheritedmaxZ : Number
[override] [read-only] The maximum extremum of the object along the Z-axis.
Entity
 InheritedminX : Number
[override] [read-only] The minimum extremum of the object along the X-axis.
Entity
 InheritedminY : Number
[override] [read-only] The minimum extremum of the object along the Y-axis.
Entity
 InheritedminZ : Number
[override] [read-only] The minimum extremum of the object along the Z-axis.
Entity
 InheritedmodelViewProjection : Matrix3D
[read-only] The current model-view-projection (MVP) matrix - the one on the top of the stack - used to transform from model to homogeneous projection space.
Entity
 InheritedmouseChildren : Boolean
ObjectContainer3D
 InheritedmouseEnabled : Boolean
Indicates whether the IRenderable should trigger mouse events, and hence should be rendered for hit testing.
ObjectContainer3D
 Inheritedname : String
NamedAssetBase
 InheritednumChildren : uint
[read-only] The amount of child objects of the ObjectContainer3D.
ObjectContainer3D
 InheritedoriginalName : String
[read-only] The original name used for this asset in the resource (e.g.
NamedAssetBase
 Inheritedparent : ObjectContainer3D
[read-only] The parent ObjectContainer3D to which this object's transformation is relative.
ObjectContainer3D
 Inheritedpartition : Partition3D
The space partition to be used by the object container and all its recursive children, unless it has its own space partition assigned.
ObjectContainer3D
 InheritedpickingCollider : IPickingCollider
Used by the raycast-based picking system to determine how the geometric contents of an entity are processed in order to offer more details for the picking collision object, including local position, normal vector and uv value.
Entity
 InheritedpickingCollisionVO : PickingCollisionVO
[read-only] Returns a unique picking collision value object for the entity.
Entity
 InheritedpivotPoint : Vector3D
Defines the local point around which the object rotates.
Object3D
 Inheritedposition : Vector3D
Defines the position of the 3d object, relative to the local coordinates of the parent ObjectContainer3D.
Object3D
 InheritedrightVector : Vector3D
[read-only]
Object3D
 InheritedrotationX : Number
Defines the euler angle of rotation of the 3d object around the x-axis, relative to the local coordinates of the parent ObjectContainer3D.
Object3D
 InheritedrotationY : Number
Defines the euler angle of rotation of the 3d object around the y-axis, relative to the local coordinates of the parent ObjectContainer3D.
Object3D
 InheritedrotationZ : Number
Defines the euler angle of rotation of the 3d object around the z-axis, relative to the local coordinates of the parent ObjectContainer3D.
Object3D
 InheritedscaleX : Number
Defines the scale of the 3d object along the x-axis, relative to local coordinates.
Object3D
 InheritedscaleY : Number
Defines the scale of the 3d object along the y-axis, relative to local coordinates.
Object3D
 InheritedscaleZ : Number
Defines the scale of the 3d object along the z-axis, relative to local coordinates.
Object3D
 Inheritedscene : Scene3D
[override] A reference to the Scene3D object to which this object belongs.
Entity
 InheritedscenePosition : Vector3D
[read-only] The global position of the ObjectContainer3D in the scene.
ObjectContainer3D
 InheritedsceneTransform : Matrix3D
[read-only] The transformation matrix that transforms from model to world space.
ObjectContainer3D
 InheritedshaderPickingDetails : Boolean
Used by the shader-based picking system to determine whether a separate render pass is made in order to offer more details for the picking collision object, including local position, normal vector and uv value.
Entity
 InheritedshowBounds : Boolean
Entity
  subMeshes : Vector.<SubMesh>
[read-only] The SubMeshes out of which the Mesh consists.
Mesh
 Inheritedtransform : Matrix3D
The transformation of the 3d object, relative to the local coordinates of the parent ObjectContainer3D.
Object3D
 InheritedupVector : Vector3D
[read-only]
Object3D
 Inheritedvisible : Boolean
ObjectContainer3D
 Inheritedx : Number
Defines the x coordinate of the 3d object relative to the local coordinates of the parent ObjectContainer3D.
Object3D
 Inheritedy : Number
Defines the y coordinate of the 3d object relative to the local coordinates of the parent ObjectContainer3D.
Object3D
 Inheritedz : Number
Defines the z coordinate of the 3d object relative to the local coordinates of the parent ObjectContainer3D.
Object3D
Protected Properties
 PropertyDefined By
 Inherited_bounds : BoundingVolumeBase
Entity
 Inherited_boundsInvalid : Boolean = true
Entity
 Inherited_explicitPartition : Partition3D
ObjectContainer3D
  _geometry : Geometry
Mesh
 Inherited_implicitPartition : Partition3D
ObjectContainer3D
 Inherited_mouseEnabled : Boolean
ObjectContainer3D
 Inherited_mvpIndex : int = -1
Entity
 Inherited_mvpTransformStack : Vector.<Matrix3D>
Entity
 Inherited_parent : ObjectContainer3D
ObjectContainer3D
 Inherited_pivotPoint : Vector3D
Object3D
 Inherited_pivotZero : Boolean = true
Object3D
 Inherited_pos : Vector3D
Object3D
 Inherited_rot : Vector3D
Object3D
 Inherited_sca : Vector3D
Object3D
 Inherited_scaleX : Number = 1
Object3D
 Inherited_scaleY : Number = 1
Object3D
 Inherited_scaleZ : Number = 1
Object3D
 Inherited_scene : Scene3D
ObjectContainer3D
 Inherited_sceneTransform : Matrix3D
ObjectContainer3D
 Inherited_sceneTransformDirty : Boolean = true
ObjectContainer3D
 Inherited_stackLen : uint
Entity
 Inherited_transform : Matrix3D
Object3D
 Inherited_transformComponents : Vector.<Vector3D>
Object3D
 Inherited_x : Number = 0
Object3D
 Inherited_y : Number = 0
Object3D
 Inherited_z : Number = 0
Object3D
 Inherited_zIndices : Vector.<Number>
Entity
Public Methods
 MethodDefined By
  
Mesh(geometry:Geometry, material:MaterialBase = null)
Create a new Mesh object.
Mesh
 Inherited
Adds a child ObjectContainer3D to the current object.
ObjectContainer3D
 Inherited
addChildren(... childarray):void
Adds an array of 3d objects to the scene as children of the container
ObjectContainer3D
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
[override]
ObjectContainer3D
 Inherited
assetPathEquals(name:String, ns:String):Boolean
NamedAssetBase
  
Mesh
  
[override] Clones this Mesh instance along with all it's children, while re-using the same material and geometry instance.
Mesh
 Inherited
ObjectContainer3D
 Inherited
dispatchEvent(event:Event):Boolean
[override]
ObjectContainer3D
  
dispose():void
[override] Cleans up resources used by this asset.
Mesh
 Inherited
Object3D
 Inherited
Retrieves the child object at the given index.
ObjectContainer3D
 Inherited
Gets a concrete EntityPartition3DNode subclass that is associated with this Entity instance
Entity
  
Mesh
 Inherited
lookAt(target:Vector3D, upAxis:Vector3D = null):void
[override] Rotates the 3d object around to face a point defined relative to the local coordinates of the parent ObjectContainer3D.
ObjectContainer3D
 Inherited
moveBackward(distance:Number):void
Moves the 3d object backwards along it's local z axis
Object3D
 Inherited
moveDown(distance:Number):void
Moves the 3d object backwards along it's local y axis
Object3D
 Inherited
moveForward(distance:Number):void
Moves the 3d object forwards along it's local z axis
Object3D
 Inherited
moveLeft(distance:Number):void
Moves the 3d object backwards along it's local x axis
Object3D
 Inherited
movePivot(dx:Number, dy:Number, dz:Number):void
Moves the local point around which the object rotates.
Object3D
 Inherited
moveRight(distance:Number):void
Moves the 3d object forwards along it's local x axis
Object3D
 Inherited
moveTo(dx:Number, dy:Number, dz:Number):void
Moves the 3d object directly to a point in space
Object3D
 Inherited
moveUp(distance:Number):void
Moves the 3d object forwards along it's local y axis
Object3D
 Inherited
pitch(angle:Number):void
Rotates the 3d object around it's local x-axis
Object3D
 Inherited
Removes a model view projection matrix from the stack, used when leaving a render.
Entity
 Inherited
Updates the model-view-projection (MVP) matrix used to transform from model to homogeneous projection space and places it on the stack.
Entity
 Inherited
Removes a 3d object from the child array of the container
ObjectContainer3D
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
[override]
ObjectContainer3D
 Inherited
resetAssetPath(name:String, ns:String = null, overrideOriginal:Boolean = true):void
NamedAssetBase
 Inherited
roll(angle:Number):void
Rotates the 3d object around it's local z-axis
Object3D
 Inherited
rotate(axis:Vector3D, angle:Number):void
[override]
ObjectContainer3D
 Inherited
rotateTo(ax:Number, ay:Number, az:Number):void
Rotates the 3d object directly to a euler angle
Object3D
 Inherited
scale(value:Number):void
Appends a uniform scale to the current transformation.
Object3D
 Inherited
translate(axis:Vector3D, distance:Number):void
Moves the 3d object along a vector by a defined length
Object3D
 Inherited
translateLocal(axis:Vector3D, distance:Number):void
[override]
ObjectContainer3D
 Inherited
ObjectContainer3D
 Inherited
yaw(angle:Number):void
Rotates the 3d object around it's local y-axis
Object3D
Protected Methods
 MethodDefined By
  
[override] Factory method that returns the current partition node.
Mesh
 Inherited
Creates the default bounding box to be used by this type of Entity.
Entity
 Inherited
Invalidates the bounding volume, causing to be updated when requested.
Entity
 Inherited
[override] Invalidates the scene transformation matrix, causing it to be updated the next time it's requested.
Entity
  
[override] Updates the bounding volume for the object.
Mesh
 Inherited
[override]
Entity
 Inherited
Updates the scene transformation matrix.
ObjectContainer3D
 Inherited
Object3D
Events
 Event Summary Defined By
 InheritedDispatched when a user presses the left hand mouse button while the cursor is over the 3d object.ObjectContainer3D
 InheritedDispatched when a user moves the cursor while it is over the 3d object.ObjectContainer3D
 InheritedDispatched when a user moves the cursor away from the 3d object.ObjectContainer3D
 InheritedDispatched when a user moves the cursor over the 3d object.ObjectContainer3D
 InheritedDispatched when a user releases the left hand mouse button while the cursor is over the 3d object.ObjectContainer3D
 InheritedDispatched when the position of the 3d object changes.Object3D
 InheritedDispatched when the rotation of the 3d object changes.Object3D
 InheritedDispatched when the scale of the 3d object changes.Object3D
 InheritedDispatched when the parent scene of the 3d object changes.ObjectContainer3D
 InheritedDispatched when the scene transform matrix of the 3d object changes.ObjectContainer3D
Public Constants
 ConstantDefined By
 InheritedDEFAULT_NAMESPACE : String = default
[static]
NamedAssetBase
Property Detail
_geometryproperty
protected var _geometry:Geometry

animatorproperty 
animator:IAnimator

Defines the animator of the mesh. Act on the mesh's geometry. Defaults to null


Implementation
    public function get animator():IAnimator
    public function set animator(value:IAnimator):void
assetTypeproperty 
assetType:String  [read-only] [override]


Implementation
    public function get assetType():String
castsShadowsproperty 
castsShadows:Boolean

Indicates whether or not the Mesh can cast shadows


Implementation
    public function get castsShadows():Boolean
    public function set castsShadows(value:Boolean):void
geometryproperty 
geometry:Geometry

The geometry used by the mesh that provides it with its shape.


Implementation
    public function get geometry():Geometry
    public function set geometry(value:Geometry):void
materialproperty 
material:MaterialBase

The material with which to render the Mesh.


Implementation
    public function get material():MaterialBase
    public function set material(value:MaterialBase):void
subMeshesproperty 
subMeshes:Vector.<SubMesh>  [read-only]

The SubMeshes out of which the Mesh consists. Every SubMesh can be assigned a material to override the Mesh's material.


Implementation
    public function get subMeshes():Vector.<SubMesh>
Constructor Detail
Mesh()Constructor
public function Mesh(geometry:Geometry, material:MaterialBase = null)

Create a new Mesh object.

Parameters
geometry:Geometry — The material with which to render the Mesh.
 
material:MaterialBase (default = null) — The geometry used by the mesh that provides it with its shape.
Method Detail
bakeTransformations()method
public function bakeTransformations():void

clone()method 
override public function clone():Object3D

Clones this Mesh instance along with all it's children, while re-using the same material and geometry instance. The returned result will be a copy of this mesh, containing copies of all of it's children. Properties that are re-used (i.e. not cloned) by the new copy include name, geometry, and material. Properties that are cloned or created anew for the copy include subMeshes, animation and animationState and the children of the mesh. If you want to copy just the mesh, reusing it's geometry and material while not cloning it's children, the simplest way is to create a new mesh manually: var clone : Mesh = new Mesh(original.geometry, original.material);

Returns
Object3D
collidesBefore()method 
override arcane function collidesBefore(shortestCollisionDistance:Number, findClosest:Boolean):Boolean

Parameters

shortestCollisionDistance:Number
 
findClosest:Boolean

Returns
Boolean
createEntityPartitionNode()method 
override protected function createEntityPartitionNode():EntityNode

Factory method that returns the current partition node. Needs to be overridden by concrete subclasses such as Mesh to return the correct concrete subtype of EntityPartition3DNode (for Mesh = MeshPartition3DNode, most IRenderables (particles fe) would return RenderablePartition3DNode, I suppose)

Returns
EntityNode
dispose()method 
override public function dispose():void

Cleans up resources used by this asset.

getSubMeshForSubGeometry()method 
public function getSubMeshForSubGeometry(subGeometry:SubGeometry):SubMesh

Parameters

subGeometry:SubGeometry

Returns
SubMesh
updateBounds()method 
override protected function updateBounds():void

Updates the bounding volume for the object. Overriding methods need to set invalid flag to false!