Spinning Topp Logo BlackTopp Studios
inc
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Mezzanine::Internal::Line3D Class Reference

Does the bulk of the work that that the Mezzanine::LineGroup performs. More...

+ Inheritance diagram for Mezzanine::Internal::Line3D:
+ Collaboration diagram for Mezzanine::Internal::Line3D:

Public Member Functions

 Line3D (World *ParentWorld)
 Default Constructor. More...
 
 ~Line3D ()
 Destructor. More...
 
void AddPoint (const Vector3 &NewPoint, const ColourValue &Colour)
 This adds a point to the list of what should be rendered. More...
 
void ClearPoints ()
 Clears all data pertaining to points in this line group.
 
void DrawLine (const Vector3 &Start, const Vector3 &End, const ColourValue &Colour)
 This adds Two points to the list. More...
 
void DrawLines ()
 Updates the internal buffers as necessary for rendering. More...
 
Real getBoundingRadius (void) const
 How big would a circle need to be to encapsulate this. More...
 
Ogre::SceneNode * GetNode () const
 Retrieves the scene node that will be used to attach this object to the scenegraph. More...
 
Whole GetNumPoints () const
 How many points are in this Line3D. More...
 
const Vector3GetPoint (const Whole Index) const
 Access a specific point by index. More...
 
Real getSquaredViewDepth (const Ogre::Camera *Cam) const
 Not Used. More...
 
void UpdatePoint (const Whole Index, const Vector3 &NewValue)
 This changes a specific point. More...
 

Protected Member Functions

const Ogre::Quaternion getWorldOrientation (void) const
 Gets how rotated this is currently. More...
 
const Ogre::Vector3 getWorldPosition (void) const
 Get the position of this Line3d. More...
 
void ResizeVertexBuffer (const Whole RequestedSize)
 Resizes the Vertex Buffer. More...
 

Protected Attributes

WorldParentWorld
 Parent World to locate SceneManager.
 
std::vector< LineVertexPoints
 This is a vector which stores the point data. More...
 
Ogre::SceneNode * SelfNode
 Pointer to the node that will be used exclusively for this renderable. More...
 
Ogre::HardwareVertexBufferSharedPtr VertexBuffer
 Internal pointer to the vertex buffer for this object. More...
 

Detailed Description

Does the bulk of the work that that the Mezzanine::LineGroup performs.

Mezzanine::LineGroup is a simple wrapper around this to perform precise low level interactions with Ogre, the rendering subsystem. This uses too much stuff from ogre to use publicly. so we need to hide it here in the Mezzanine::internal namespace.

Definition at line 88 of file linegroup.cpp.

Constructor & Destructor Documentation

Mezzanine::Internal::Line3D::Line3D ( World ParentWorld)

Default Constructor.

Definition at line 175 of file linegroup.cpp.

Mezzanine::Internal::Line3D::~Line3D ( )

Destructor.

Definition at line 211 of file linegroup.cpp.

Member Function Documentation

void Mezzanine::Internal::Line3D::AddPoint ( const Vector3 NewPoint,
const ColourValue Colour 
)

This adds a point to the list of what should be rendered.

Parameters
NewPointThe point to be added.

Definition at line 242 of file linegroup.cpp.

void Mezzanine::Internal::Line3D::DrawLine ( const Vector3 Start,
const Vector3 End,
const ColourValue Colour 
)

This adds Two points to the list.

Parameters
StartThe first point to be added.
EndThe second point to be added.
ColourThe colour of the line being added.

Definition at line 271 of file linegroup.cpp.

void Mezzanine::Internal::Line3D::DrawLines ( )

Updates the internal buffers as necessary for rendering.

Definition at line 277 of file linegroup.cpp.

Real Mezzanine::Internal::Line3D::getBoundingRadius ( void  ) const

How big would a circle need to be to encapsulate this.

This returns the radius the a circle would need to have to surround this line group.

Returns
This returns a real number which indicates the radius.

Definition at line 350 of file linegroup.cpp.

Ogre::SceneNode * Mezzanine::Internal::Line3D::GetNode ( ) const

Retrieves the scene node that will be used to attach this object to the scenegraph.

Returns
Returns a pointer to this LineDatas scenenode.

Definition at line 353 of file linegroup.cpp.

Whole Mezzanine::Internal::Line3D::GetNumPoints ( ) const

How many points are in this Line3D.

Returns
This returns the amount of points stored in this class.

Definition at line 254 of file linegroup.cpp.

const Vector3 & Mezzanine::Internal::Line3D::GetPoint ( const Whole  Index) const

Access a specific point by index.

Parameters
indexThe index.

This really does just access the underlying vector.

Returns
This Returns the specific Vector3 requested.

Definition at line 247 of file linegroup.cpp.

Real Mezzanine::Internal::Line3D::getSquaredViewDepth ( const Ogre::Camera *  Cam) const

Not Used.

Parameters
CamNot Used
Returns
This returns a Real.

Definition at line 339 of file linegroup.cpp.

const Ogre::Quaternion Mezzanine::Internal::Line3D::getWorldOrientation ( void  ) const
protected

Gets how rotated this is currently.

Returns a quaternion with the rotation

Returns
Is a Ogre::Quaternion which stores the rotation information of this Line3D

Definition at line 217 of file linegroup.cpp.

const Ogre::Vector3 Mezzanine::Internal::Line3D::getWorldPosition ( void  ) const
protected

Get the position of this Line3d.

Returns
This returns a Ogre::Vector3 with the Position relative to the world Origin

Definition at line 220 of file linegroup.cpp.

void Mezzanine::Internal::Line3D::ResizeVertexBuffer ( const Whole  RequestedSize)
protected

Resizes the Vertex Buffer.

Note
The Vertex Buffer will not shrink, only grow. Passing in a smaller size will do nothing.
Parameters
RequestedSizeThe new size for the existing buffer.

Definition at line 223 of file linegroup.cpp.

void Mezzanine::Internal::Line3D::UpdatePoint ( const Whole  Index,
const Vector3 NewValue 
)

This changes a specific point.

This replaces a point specified by index with a new point.

Parameters
IndexThe index of the point to replace.
NewValueA point to replace the existing point with.

Definition at line 259 of file linegroup.cpp.

Member Data Documentation

std::vector<LineVertex> Mezzanine::Internal::Line3D::Points
protected

This is a vector which stores the point data.

Definition at line 108 of file linegroup.cpp.

Ogre::SceneNode* Mezzanine::Internal::Line3D::SelfNode
protected

Pointer to the node that will be used exclusively for this renderable.

Definition at line 114 of file linegroup.cpp.

Ogre::HardwareVertexBufferSharedPtr Mezzanine::Internal::Line3D::VertexBuffer
protected

Internal pointer to the vertex buffer for this object.

Definition at line 111 of file linegroup.cpp.


The documentation for this class was generated from the following file: