C# Class OpenBveApi.Objects.SharedMesh

Represents a mesh with coordinates shared between faces.
Inheritance: StaticObject
显示文件 Open project: sladen/openbve

Public Properties

Property Type Description
Faces OpenBveApi.Objects.SharedFace[]
Normals Vector3[]
SpatialCoordinates Vector3[]
TextureCoordinates Vector2[]

Public Methods

Method Description
Optimize ( ) : void

Removes all duplicate and unused coordinates.

Rotate ( Orientation3 orientation ) : void

Rotates the object from the default orientation into the specified orientation.

The default orientation is X = {1, 0, 0), Y = {0, 1, 0} and Z = {0, 0, 1}.

Rotate ( Vector3 direction, double cosineOfAngle, double sineOfAngle ) : void

Rotates the object around the specified axis.

Scale ( Vector3 factor ) : void

Scales the object by the specified factor.

Translate ( Orientation3 orientation, Vector3 offset ) : void

Translates the object by the specified offset that is measured in the specified orientation.

Translate ( Vector3 offset ) : void

Translates the object by the specified offset.

Private Methods

Method Description
OptimizeNormals ( ) : void

Removes all duplicate and unused normals.

OptimizeSpatialCoordinates ( ) : void

Removes all duplicate and unused spatial coordinates.

OptimizeTextureCoordinates ( ) : void

Removes all duplicate and unused texture coordinates.

Method Details

Optimize() public method

Removes all duplicate and unused coordinates.
public Optimize ( ) : void
return void

Rotate() public method

Rotates the object from the default orientation into the specified orientation.
The default orientation is X = {1, 0, 0), Y = {0, 1, 0} and Z = {0, 0, 1}.
public Rotate ( Orientation3 orientation ) : void
orientation OpenBveApi.Math.Orientation3 The target orientation.
return void

Rotate() public method

Rotates the object around the specified axis.
public Rotate ( Vector3 direction, double cosineOfAngle, double sineOfAngle ) : void
direction Vector3 The axis along which to rotate.
cosineOfAngle double The cosine of the angle by which to rotate.
sineOfAngle double The sine of the angle by which to rotate.
return void

Scale() public method

Scales the object by the specified factor.
Raised when any component in the factor is zero.
public Scale ( Vector3 factor ) : void
factor Vector3 The factor by which to scale.
return void

Translate() public method

Translates the object by the specified offset that is measured in the specified orientation.
public Translate ( Orientation3 orientation, Vector3 offset ) : void
orientation OpenBveApi.Math.Orientation3 The orientation along which to translate.
offset Vector3 The offset measured in the specified orientation.
return void

Translate() public method

Translates the object by the specified offset.
public Translate ( Vector3 offset ) : void
offset Vector3 The offset by which to translate.
return void

Property Details

Faces public_oe property

The faces stored in this mesh.
public SharedFace[],OpenBveApi.Objects Faces
return OpenBveApi.Objects.SharedFace[]

Normals public_oe property

The list of unique normals.
public Vector3[] Normals
return Vector3[]

SpatialCoordinates public_oe property

The list of unique spatial coordinates.
public Vector3[] SpatialCoordinates
return Vector3[]

TextureCoordinates public_oe property

The list of unique texture coordinates.
public Vector2[] TextureCoordinates
return Vector2[]