Click or drag to resize
Ab4d.SharpEngine logo

Mesh Class

Mesh is a base abstract class that defines the common properties for all mesh objects.
Inheritance Hierarchy

Namespace: Ab4d.SharpEngine.Meshes
Assembly: Ab4d.SharpEngine (in Ab4d.SharpEngine.dll) Version: 1.0.8740+deb2991acfe86a95cca780cd4f82bcae2805c1a5
Syntax
C#
public abstract class Mesh : InitializedSceneComponent, 
	IDisposable

The Mesh type exposes the following members.

Constructors
 NameDescription
Protected methodMesh Constructor
Top
Properties
 NameDescription
Public propertyBoundingBox Gets the bounding box of the mesh
Public propertyIndexBuffer Gets the GpuBuffer with IndexBuffer data. The IndexBuffer is set by protected SetIndexBuffer(GpuBuffer, Int32) method.
Public propertyIndexBufferType Gets IndexBufferType
Public propertyIndexCount Gets number of vertices that are used by this mesh.
Public propertyIsLocked Indicates that the mesh will never change, so it can be optimized by the engine (for example merged with some other mesh).
Public propertyIsSceneCached Indicates that this mesh is cashed by Scene objects and cannot be disposed by calling Dispose method. This means the mesh can be shared without worrying that someone will dispose the mesh. This flag is set when the mesh is cached by calling Scene.CacheObject(String, Object) method. The mesh will be disposed when the Scene will be disposed or if it is removed from the cache and then disposed.
Public propertyPrimitiveTopology Gets PrimitiveTopology
Public propertyVersion Gets the version number of this Material. Version is increased each time the material is changed. Note: When material is changed a lot of times, the Version value can overflow from positive to negative numbers (to prevent problems do not check for bigger value but for not equal value)
Public propertyVertexBuffer Gets the GpuBuffer with VertexBuffer data. The VertexBuffer is set by protected SetVertexBuffer(GpuBuffer, Int32) method.
Public propertyVertexBufferDescription Gets VertexBufferDescription
Public propertyVertexCount Gets number of vertices that are used by this mesh.
Top
Methods
 NameDescription
Public methodClearDataChannel ClearDataChannel method clears the data from the specified channel.
Public methodDispose Disposes all resources that are used by this mesh (except in case when SceneCached flag is set then nothing is disposed).
Protected methodDispose(Boolean) Releases unmanaged and managed resources (when disposing is true). This method may be called only from the CheckAndDispose(Boolean) method and must not be called manually by the user.
(Overrides ComponentBaseDispose(Boolean))
Protected methodDisposeIndexBuffer DisposeIndexBuffer
Protected methodDisposeVertexBuffer DisposeVertexBuffer
Public methodDumpDetails Dumps values of individual vertices and triangle indices into the Visual Studio Output window.
Public methodDumpOverview Dumps an overview information about this mesh into the Visual Studio Output window.
Public methodGetDataChannel(MeshDataChannelTypes) GetDataChannel returns an object with the data from the specified channel. For example, for Positions an array of Vector3 is returned with positions defined by this mesh. Executing this method may take some time because the method may need to create new array objects and copy data from some other data structure (for example an array of PositionNormalTextureVertex values).
Public methodGetDataChannelT(MeshDataChannelTypes) GetDataChannel returns an object with the data from the specified channel. For example, for Positions an array of Vector3 is returned with positions defined by this mesh. Executing this method may take some time because the method may need to create new array objects and copy data from some other data structure (for example an array of PositionNormalTextureVertex values).
Public methodGetDataChannelArrayT GetDataChannel returns an array with data from the specified channel. For example, for Positions an array of Vector3 is returned with positions defined by this mesh. Executing this method may take some time because the method may need to create new array objects and copy data from some other data structure (for example an array of PositionNormalTextureVertex values).
Public methodGetDetailsText GetDetailsText method gets string with values of individual vertices and triangle indices of this mesh.
Public methodGetOverviewText GetOverviewText adds string that writes an overview information about this mesh into the specified StringBuilder. To get values of individual vertices and triangle indices use GetDetailsText(Boolean, Boolean, Boolean, Int32, Int32, Int32) method.
Public methodLockMesh LockMesh method locks the mesh and prevents changing it. To indicate that the mesh is locked, the LockedMesh is set in _flags property. Locked mesh cannot be unlocked.
Protected methodNotifyMeshChange NotifyMeshChange sets the MeshChanged and updates the Version number.
Protected methodOnUpdateMesh OnUpdateMesh
Public methodSetDataChannel SetDataChannel method sets the specified data to the specified channel.
Protected methodSetIndexBuffer SetIndexBuffer sets the IndexBuffer and IndexCount. The method disposes any existing IndexBuffer and subscribes to Disposing event on the new indexBuffer.
Protected methodSetVertexBuffer SetVertexBuffer sets the VertexBuffer and VertexCount. The method disposes any existing VertexBuffer and subscribes to Disposing event on the new vertexBuffer.
Public methodToString
(Overrides ObjectToString)
Public methodUpdateMesh UpdateMesh method can be called to update the GPU buffers from the mesh data. When possible, use the UpdateMesh(BoundingBox) that takes boundingBox as parameter.
Public methodUpdateMesh(BoundingBox) UpdateMesh method can be called to update the GPU buffers from the mesh data.
Top
See Also