Packageaway3d.extrusions
Classpublic class LatheExtrude
InheritanceLatheExtrude Inheritance Mesh Inheritance Entity Inheritance ObjectContainer3D Inheritance Object3D Inheritance NamedAssetBase Inheritance flash.events.EventDispatcher

Class for generating meshes with axial symmetry such as donuts, pipes, vases etc.



Public Properties
 PropertyDefined By
 Inheritedanimator : IAnimator
Defines the animator of the mesh.
Mesh
 InheritedassetFullPath : Array
[read-only]
NamedAssetBase
 InheritedassetNamespace : String
[read-only]
NamedAssetBase
 InheritedassetType : String
[override] [read-only]
Mesh
  axis : String
Defines the axis used for the lathe rotation.
LatheExtrude
 InheritedbackVector : Vector3D
[read-only]
Object3D
  bounds : BoundingVolumeBase
[override] The bounding volume approximating the volume occupied by the Entity.
LatheExtrude
 InheritedcastsShadows : Boolean
Indicates whether or not the Mesh can cast shadows
Mesh
  centerMesh : Boolean
Defines whether the mesh is recentered of not after generation
LatheExtrude
  coverAll : Boolean
Defines if the texture(s) should be stretched to cover the entire mesh or per step between segments.
LatheExtrude
 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
  flip : Boolean
Defines if the generated faces should be inversed.
LatheExtrude
 InheritedforwardVector : Vector3D
[read-only]
Object3D
  geometry : Geometry
[override] The geometry used by the mesh that provides it with its shape.
LatheExtrude
  ignoreSides : String
Defines if the top, bottom, left, right, front or back of the the extrusion is left open.
LatheExtrude
 InheritedinverseSceneTransform : Matrix3D
[read-only] The inverse scene transform object that transforms from world to model space.
ObjectContainer3D
  keepLastProfile : Boolean
Defines if the last transformed profile values are saved or not.
LatheExtrude
  lastProfile : Vector.<Vector3D>
[read-only] returns the last rotated profile values, if keepLastProfile was true
LatheExtrude
 InheritedleftVector : Vector3D
[read-only]
Object3D
 Inheritedmaterial : MaterialBase
The material with which to render the Mesh.
Mesh
  materials : MultipleMaterials
An optional object that defines left, right, front, back, top and bottom materials to be set on the resulting lathe extrusion.
LatheExtrude
 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
  offsetRadius : Number
Defines an offset radius applied to the profile.
LatheExtrude
 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
  preciseThickness : Boolean
Defines if thickness is greater than 0 if the thickness is equally distributed along the volume.
LatheExtrude
  profile : Vector.<Vector3D>
LatheExtrude
  revolutions : Number
Defines the number of revolutions performed by the lathe extrusion.
LatheExtrude
 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
  smoothSurface : Boolean
Defines if the surface of the mesh must be smoothed or not.
LatheExtrude
  startRotationOffset : Number
LatheExtrude
  subdivision : uint
Defines the subdivisions created in the mesh for the total number of revolutions.
LatheExtrude
  subMeshes : Vector.<SubMesh>
[override] [read-only] The SubMeshes out of which the Mesh consists.
LatheExtrude
  thickness : Number
Defines the thickness of the resulting lathed geometry.
LatheExtrude
 Inheritedtransform : Matrix3D
The transformation of the 3d object, relative to the local coordinates of the parent ObjectContainer3D.
Object3D
  tweek : Object
Allows the building of shapes such as springs.
LatheExtrude
 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
 Inherited_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
  
LatheExtrude(material:MaterialBase = null, profile:Vector.<Vector3D> = null, axis:String, revolutions:Number = 1, subdivision:uint = 10, coverall:Boolean = true, centerMesh:Boolean = false, flip:Boolean = false, thickness:Number = 0, preciseThickness:Boolean = true, offsetRadius:Number = 0, materials:MultipleMaterials = null, ignoreSides:String, tweek:Object = null, smoothSurface:Boolean = true)
Class LatheExtrude generates circular meshes such as donuts, pipes, pyramids etc..
LatheExtrude
 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
 Inherited
Mesh
 Inherited
[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
 Inherited
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
 Inherited
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
 Inherited
[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
 Inherited
[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
  X_AXIS : String = x
[static]
LatheExtrude
  Y_AXIS : String = y
[static]
LatheExtrude
  Z_AXIS : String = z
[static]
LatheExtrude
Property Detail
axisproperty
axis:String

Defines the axis used for the lathe rotation. Defaults to "y".


Implementation
    public function get axis():String
    public function set axis(value:String):void
boundsproperty 
bounds:BoundingVolumeBase[override]

The bounding volume approximating the volume occupied by the Entity.


Implementation
    public function get bounds():BoundingVolumeBase
    public function set bounds(value:BoundingVolumeBase):void
centerMeshproperty 
centerMesh:Boolean

Defines whether the mesh is recentered of not after generation


Implementation
    public function get centerMesh():Boolean
    public function set centerMesh(value:Boolean):void
coverAllproperty 
coverAll:Boolean

Defines if the texture(s) should be stretched to cover the entire mesh or per step between segments. Defaults to true.


Implementation
    public function get coverAll():Boolean
    public function set coverAll(value:Boolean):void
flipproperty 
flip:Boolean

Defines if the generated faces should be inversed. Default false.


Implementation
    public function get flip():Boolean
    public function set flip(value:Boolean):void
geometryproperty 
geometry:Geometry[override]

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
ignoreSidesproperty 
ignoreSides:String

Defines if the top, bottom, left, right, front or back of the the extrusion is left open.


Implementation
    public function get ignoreSides():String
    public function set ignoreSides(value:String):void
keepLastProfileproperty 
keepLastProfile:Boolean

Defines if the last transformed profile values are saved or not. Useful in combo with rotations less than 1, to ease combinations with other extrusions classes such as SkinExtrude.


Implementation
    public function get keepLastProfile():Boolean
    public function set keepLastProfile(value:Boolean):void
lastProfileproperty 
lastProfile:Vector.<Vector3D>  [read-only]

returns the last rotated profile values, if keepLastProfile was true


Implementation
    public function get lastProfile():Vector.<Vector3D>
materialsproperty 
materials:MultipleMaterials

An optional object that defines left, right, front, back, top and bottom materials to be set on the resulting lathe extrusion.


Implementation
    public function get materials():MultipleMaterials
    public function set materials(value:MultipleMaterials):void
offsetRadiusproperty 
offsetRadius:Number

Defines an offset radius applied to the profile. Defaults to 0.


Implementation
    public function get offsetRadius():Number
    public function set offsetRadius(value:Number):void
preciseThicknessproperty 
preciseThickness:Boolean

Defines if thickness is greater than 0 if the thickness is equally distributed along the volume. Default is false.


Implementation
    public function get preciseThickness():Boolean
    public function set preciseThickness(value:Boolean):void
profileproperty 
profile:Vector.<Vector3D>


Implementation
    public function get profile():Vector.<Vector3D>
    public function set profile(value:Vector.<Vector3D>):void
revolutionsproperty 
revolutions:Number

Defines the number of revolutions performed by the lathe extrusion. Defaults to 1.


Implementation
    public function get revolutions():Number
    public function set revolutions(value:Number):void
smoothSurfaceproperty 
smoothSurface:Boolean

Defines if the surface of the mesh must be smoothed or not.


Implementation
    public function get smoothSurface():Boolean
    public function set smoothSurface(value:Boolean):void
startRotationOffsetproperty 
startRotationOffset:Number


Implementation
    public function get startRotationOffset():Number
    public function set startRotationOffset(value:Number):void
subdivisionproperty 
subdivision:uint

Defines the subdivisions created in the mesh for the total number of revolutions. Defaults to 2, minimum 2.


Implementation
    public function get subdivision():uint
    public function set subdivision(value:uint):void

See also

subMeshesproperty 
subMeshes:Vector.<SubMesh>  [read-only] [override]

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>
thicknessproperty 
thickness:Number

Defines the thickness of the resulting lathed geometry. Defaults to 0 (single face).


Implementation
    public function get thickness():Number
    public function set thickness(value:Number):void
tweekproperty 
tweek:Object

Allows the building of shapes such as springs. Rotation must be higher than 1 to have significant effect. Properties of the objects are x,y,z,radius and rotation


Implementation
    public function get tweek():Object
    public function set tweek(value:Object):void
Constructor Detail
LatheExtrude()Constructor
public function LatheExtrude(material:MaterialBase = null, profile:Vector.<Vector3D> = null, axis:String, revolutions:Number = 1, subdivision:uint = 10, coverall:Boolean = true, centerMesh:Boolean = false, flip:Boolean = false, thickness:Number = 0, preciseThickness:Boolean = true, offsetRadius:Number = 0, materials:MultipleMaterials = null, ignoreSides:String, tweek:Object = null, smoothSurface:Boolean = true)

Class LatheExtrude generates circular meshes such as donuts, pipes, pyramids etc.. from a series of Vector3D's param material [optional] MaterialBase. The LatheExtrude (Mesh) material. Optional in constructor, material must be set before LatheExtrude object is render.

Parameters
material:MaterialBase (default = null) — [optional] Vector.<Vector3D>. A series of Vector3D's representing the profile information to be repeated/rotated around a given axis.
 
profile:Vector.<Vector3D> (default = null) — [optional] String. The axis to rotate around: X_AXIS, Y_AXIS or Z_AXIS. Default is LatheExtrude.Y_AXIS.
 
axis:String (default = NaN) — [optional] Number. The LatheExtrude object can have less than one revolution, like 0.6 for a piechart or greater than 1 if a tweek object is passed. Minimum is 0.01. Default is 1.
 
revolutions:Number (default = 1) — [optional] uint. Howmany segments will compose the mesh in its rotational construction. Minimum is 3. Default is 10.
 
subdivision:uint (default = 10) — [optional] Boolean. The way the uv mapping is spreaded across the shape. True covers an entire side of the geometry while false covers per segments. Default is true.
 
coverall:Boolean (default = true) — [optional] Boolean. If the faces must be reversed depending on Vector3D's orientation. Default is false.
 
centerMesh:Boolean (default = false) — [optional] Number. If the shape must simulate a thickness. Default is 0.
 
flip:Boolean (default = false) — [optional] Boolean. If the thickness must be repected along the entire volume profile. Default is true.
 
thickness:Number (default = 0) — [optional] Boolean. If the geometry needs to be recentered in its own object space. If the position after generation is set to 0,0,0, the object would be centered in worldspace. Default is false.
 
preciseThickness:Boolean (default = true) — [optional] Number. An offset radius if the profile data is not to be updated but the radius expected to be different. Default is 0.
 
offsetRadius:Number (default = 0) — [optional] MultipleMaterials. Allows multiple material support when thickness is set higher to 1. Default is null. properties as MaterialBase are: bottom, top, left, right, front and back.
 
materials:MultipleMaterials (default = null) — [optional] String. To prevent the generation of sides if thickness is set higher than 0. To avoid the bottom ignoreSides = "bottom", avoiding both top and bottom: ignoreSides = "bottom, top". Strings options: bottom, top, left, right, front and back. Default is "".
 
ignoreSides:String — [optional] Object. To build springs like shapes, rotation must be higher than 1. Properties of the tweek object are x,y,z, radius and rotation. Default is null.
 
tweek:Object (default = null) — [optional] An optional Boolean. Defines if the surface of the mesh must be smoothed or not.
 
smoothSurface:Boolean (default = true)
Constant Detail
X_AXISConstant
public static const X_AXIS:String = x

Y_AXISConstant 
public static const Y_AXIS:String = y

Z_AXISConstant 
public static const Z_AXIS:String = z