Ogre Procedural  0.3.0 unstable
Procedural Geometry & Textures for Ogre3D
Public Types | Public Member Functions | Protected Attributes | List of all members
Procedural::CubicHermiteSpline2 Class Reference

Produces a shape from Cubic Hermite control points. More...

#include <ProceduralShapeGenerators.h>

Inheritance diagram for Procedural::CubicHermiteSpline2:
Inheritance graph
[legend]

Public Types

typedef CubicHermiteSplineControlPoint< Ogre::Vector2ControlPoint
 

Public Member Functions

CubicHermiteSpline2addPoint (const Ogre::Vector2 &p, const Ogre::Vector2 &before, const Ogre::Vector2 &after)
 Adds a control point. More...
 
CubicHermiteSpline2addPoint (const Ogre::Vector2 &p, const Ogre::Vector2 &tangent)
 Adds a control point. More...
 
CubicHermiteSpline2addPoint (const Ogre::Vector2 &p, CubicHermiteSplineAutoTangentMode autoTangentMode=AT_CATMULL)
 Adds a control point. More...
 
CubicHermiteSpline2addPoint (Ogre::Real x, Ogre::Real y, CubicHermiteSplineAutoTangentMode autoTangentMode=AT_CATMULL)
 Adds a control point. More...
 
const ControlPointsafeGetPoint (unsigned int i) const
 Safely gets a control point. More...
 
const size_t getPointCount () const
 Gets the number of control points. More...
 
Shape realizeShape ()
 Builds a shape from control points. More...
 
CubicHermiteSpline2setOutSide (Side outSide)
 Sets the out side of the shape. More...
 
Side getOutSide () const
 Gets the out side of the shape. More...
 
CubicHermiteSpline2setNumSeg (unsigned int numSeg)
 Sets the number of segments between 2 control points. More...
 
CubicHermiteSpline2close ()
 Closes the spline. More...
 

Protected Attributes

unsigned int mNumSeg
 The number of segments between 2 control points. More...
 
bool mClosed
 Whether the shape will be closed or not. More...
 
Side mOutSide
 The "out" side of the shape. More...
 

Detailed Description

Produces a shape from Cubic Hermite control points.

Member Typedef Documentation

◆ ControlPoint

Member Function Documentation

◆ addPoint() [1/4]

CubicHermiteSpline2& Procedural::CubicHermiteSpline2::addPoint ( const Ogre::Vector2 p,
const Ogre::Vector2 before,
const Ogre::Vector2 after 
)

Adds a control point.

◆ addPoint() [2/4]

CubicHermiteSpline2& Procedural::CubicHermiteSpline2::addPoint ( const Ogre::Vector2 p,
const Ogre::Vector2 tangent 
)

Adds a control point.

◆ addPoint() [3/4]

CubicHermiteSpline2& Procedural::CubicHermiteSpline2::addPoint ( const Ogre::Vector2 p,
CubicHermiteSplineAutoTangentMode  autoTangentMode = AT_CATMULL 
)

◆ addPoint() [4/4]

CubicHermiteSpline2& Procedural::CubicHermiteSpline2::addPoint ( Ogre::Real  x,
Ogre::Real  y,
CubicHermiteSplineAutoTangentMode  autoTangentMode = AT_CATMULL 
)

◆ close()

Closes the spline.

◆ getOutSide()

Gets the out side of the shape.

◆ getPointCount()

const size_t Procedural::CubicHermiteSpline2::getPointCount ( ) const

Gets the number of control points.

◆ realizeShape()

Shape Procedural::CubicHermiteSpline2::realizeShape ( )

Builds a shape from control points.

◆ safeGetPoint()

const ControlPoint& Procedural::CubicHermiteSpline2::safeGetPoint ( unsigned int  i) const

Safely gets a control point.

References Procedural::Utils::cap(), and Procedural::Utils::modulo().

◆ setNumSeg()

CubicHermiteSpline2 & Procedural::BaseSpline2< CubicHermiteSpline2 >::setNumSeg ( unsigned int  numSeg)
inherited

Sets the number of segments between 2 control points.

Exceptions
Ogre::InvalidParametersExceptionMinimum of numSeg is 1

◆ setOutSide()

CubicHermiteSpline2 & Procedural::BaseSpline2< CubicHermiteSpline2 >::setOutSide ( Side  outSide)
inherited

Sets the out side of the shape.

Member Data Documentation

◆ mClosed

bool Procedural::BaseSpline2< CubicHermiteSpline2 >::mClosed
protectedinherited

Whether the shape will be closed or not.

◆ mNumSeg

unsigned int Procedural::BaseSpline2< CubicHermiteSpline2 >::mNumSeg
protectedinherited

The number of segments between 2 control points.

◆ mOutSide

Side Procedural::BaseSpline2< CubicHermiteSpline2 >::mOutSide
protectedinherited

The "out" side of the shape.


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