Package WildMagic.LibGraphics.SceneGraph
Class Triangles
- java.lang.Object
-
- WildMagic.LibGraphics.ObjectSystem.GraphicsObject
-
- WildMagic.LibGraphics.SceneGraph.Spatial
-
- WildMagic.LibGraphics.Rendering.Bindable
-
- WildMagic.LibGraphics.SceneGraph.Geometry
-
- WildMagic.LibGraphics.SceneGraph.Triangles
-
- All Implemented Interfaces:
java.io.Serializable
,NameIdInterface
,StreamInterface
- Direct Known Subclasses:
TriMesh
public abstract class Triangles extends Geometry implements StreamInterface, java.io.Serializable
These functions depend on the interpretation of the index buffer of the triangle primitive. The triangleis counterclockwise order. - See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class WildMagic.LibGraphics.SceneGraph.Geometry
Geometry.GeometryType
-
Nested classes/interfaces inherited from class WildMagic.LibGraphics.Rendering.Bindable
Bindable.Info
-
Nested classes/interfaces inherited from class WildMagic.LibGraphics.SceneGraph.Spatial
Spatial.CullingMode
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
m_bInside
Inside mesh, or Outside mesh.private static long
serialVersionUID
-
Fields inherited from class WildMagic.LibGraphics.SceneGraph.Geometry
HWorld, IBuffer, m_spkLEffect, ModelBound, States, Type, VBuffer
-
Fields inherited from class WildMagic.LibGraphics.Rendering.Bindable
m_bShared, m_kInfoArray
-
Fields inherited from class WildMagic.LibGraphics.SceneGraph.Spatial
Culling, Local, m_iStartEffect, m_kEffects, m_kGlobalStates, m_kLights, m_pkParent, World, WorldBound, WorldBoundIsCurrent, WorldIsCurrent
-
-
Constructor Summary
Constructors Modifier Constructor Description Triangles()
Default constructor.protected
Triangles(Triangles kTris)
Protected constructor.protected
Triangles(VertexBuffer pkVBuffer, IndexBuffer pkIBuffer)
Protected constructor.protected
Triangles(VertexBuffer pkVBuffer, IndexBuffer pkIBuffer, BoundingVolume kBounds)
Protected constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description int
GetDiskUsed(StreamVersion rkVersion)
Returns the size of this object and it's children on disk for the current StreamVersion parameter.boolean
GetModelTriangle(int i, Triangle3f rkMTri)
Get the triangle in model coodinates.abstract boolean
GetTriangle(int i, int[] riV)
Get the triangle at given index.abstract int
GetTriangleQuantity()
Get the number of triangles.boolean
GetWorldTriangle(int i, Triangle3f rkWTri)
Get the triangle in world coodinates.void
Link(Stream rkStream, Stream.Link pkLink)
Copies this objects children objects from the input Stream's HashTable, based on the LinkID of the child stored in the pkLink parameter.void
Load(Stream rkStream, Stream.Link pkLink)
Loads this object from the input parameter rkStream, using the input Stream.Link to store the IDs of children objects of this object for linking after all objects are loaded from the Stream.boolean
Register(Stream rkStream)
Registers this object with the input Stream parameter.void
Save(Stream rkStream)
Write this object and all it's children to the Stream.StringTree
SaveStrings(java.lang.String acTitle)
Write this object into a StringTree for the scene-graph visualization.void
SetInside(boolean bInside)
protected void
UpdateModelNormals()
Update model normals.-
Methods inherited from class WildMagic.LibGraphics.SceneGraph.Geometry
Copy, dispose, GetAllObjectsByName, GetModelBound, GetObjectByID, GetObjectByName, GetVisibleSet, UpdateModelBound, UpdateMS, UpdateMS, UpdateState, UpdateWorldBound, UpdateWorldData
-
Methods inherited from class WildMagic.LibGraphics.Rendering.Bindable
GetIdentifier, GetIdentifier, GetInfoQuantity, GetShared, IsReload, IsReload, OnLoad, OnRelease, Release, Reload, Reload, Remove, SetShared
-
Methods inherited from class WildMagic.LibGraphics.SceneGraph.Spatial
AttachEffect, AttachGlobalState, AttachLight, DetachAllEffects, DetachAllGlobalStates, DetachAllLights, DetachEffect, DetachGlobalState, DetachLight, GetEffect, GetEffectQuantity, GetGlobalState, GetGlobalState, GetGlobalStateQuantity, GetLight, GetLightQuantity, GetParent, GetStartEffect, OnGetVisibleSet, PopState, PropagateBoundToRoot, PropagateStateFromRoot, PushState, SetParent, SetStartEffect, UpdateBS, UpdateGS, UpdateGS, UpdateRS, UpdateRS
-
Methods inherited from class WildMagic.LibGraphics.ObjectSystem.GraphicsObject
GetID, GetName, GetNextID, GetObjectByIDBase, GetObjectByNameBase, SetName
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
m_bInside
private boolean m_bInside
Inside mesh, or Outside mesh.
-
-
Constructor Detail
-
Triangles
public Triangles()
Default constructor.
-
Triangles
protected Triangles(Triangles kTris)
Protected constructor. The Type value will be assigned by the derived class.- Parameters:
pkVBuffer
- vertex buffer.pkIBuffer
- index buffer.
-
Triangles
protected Triangles(VertexBuffer pkVBuffer, IndexBuffer pkIBuffer)
Protected constructor. The Type value will be assigned by the derived class.- Parameters:
pkVBuffer
- vertex buffer.pkIBuffer
- index buffer.
-
Triangles
protected Triangles(VertexBuffer pkVBuffer, IndexBuffer pkIBuffer, BoundingVolume kBounds)
Protected constructor. The Type value will be assigned by the derived class.- Parameters:
pkVBuffer
- vertex buffer.pkIBuffer
- index buffer.
-
-
Method Detail
-
GetDiskUsed
public int GetDiskUsed(StreamVersion rkVersion)
Returns the size of this object and it's children on disk for the current StreamVersion parameter.- Specified by:
GetDiskUsed
in interfaceStreamInterface
- Overrides:
GetDiskUsed
in classGeometry
- Parameters:
rkVersion
- the current version of the Stream file being created.- Returns:
- the size of this object on disk.
-
GetModelTriangle
public boolean GetModelTriangle(int i, Triangle3f rkMTri)
Get the triangle in model coodinates.- Parameters:
i
- index.rkMTri
- triangle in model-coordinates.- Returns:
- true if triangle exists, false otherwise.
-
GetTriangle
public abstract boolean GetTriangle(int i, int[] riV)
Get the triangle at given index.- Parameters:
i
- index.riV
- int[3] array to contain 3 triangle indices.
-
GetTriangleQuantity
public abstract int GetTriangleQuantity()
Get the number of triangles.- Returns:
- the number of triangles.
-
GetWorldTriangle
public boolean GetWorldTriangle(int i, Triangle3f rkWTri)
Get the triangle in world coodinates.- Parameters:
i
- index.rkMTri
- triangle in world-coordinates.- Returns:
- true if triangle exists, false otherwise.
-
Link
public void Link(Stream rkStream, Stream.Link pkLink)
Copies this objects children objects from the input Stream's HashTable, based on the LinkID of the child stored in the pkLink parameter.- Specified by:
Link
in interfaceStreamInterface
- Overrides:
Link
in classGeometry
- Parameters:
rkStream
- the Stream where the child objects are stored.pkLink
- the Link class from which the child object IDs are read.
-
Load
public void Load(Stream rkStream, Stream.Link pkLink)
Loads this object from the input parameter rkStream, using the input Stream.Link to store the IDs of children objects of this object for linking after all objects are loaded from the Stream.- Specified by:
Load
in interfaceStreamInterface
- Overrides:
Load
in classGeometry
- Parameters:
rkStream
- the Stream from which this object is being read.pkLink
- the Link class for storing the IDs of this object's children objects.
-
Register
public boolean Register(Stream rkStream)
Registers this object with the input Stream parameter. All objects streamed to disk are registered with the Stream so that a unique list of objects is maintained.- Specified by:
Register
in interfaceStreamInterface
- Overrides:
Register
in classGeometry
- Parameters:
rkStream
- the Stream where the child objects are stored.- Returns:
- true if this object is registered, false if the object has already been registered.
-
Save
public void Save(Stream rkStream)
Write this object and all it's children to the Stream.- Specified by:
Save
in interfaceStreamInterface
- Overrides:
Save
in classGeometry
- Parameters:
rkStream
- the Stream where the child objects are stored.
-
SaveStrings
public StringTree SaveStrings(java.lang.String acTitle)
Write this object into a StringTree for the scene-graph visualization.- Specified by:
SaveStrings
in interfaceStreamInterface
- Overrides:
SaveStrings
in classGeometry
- Parameters:
acTitle
- the header for this object in the StringTree.- Returns:
- StringTree containing a String-based representation of this object and it's children.
-
SetInside
public void SetInside(boolean bInside)
-
UpdateModelNormals
protected void UpdateModelNormals()
Update model normals.- Overrides:
UpdateModelNormals
in classGeometry
-
-