GhoulPrimitive::Loft Class Reference

#include <GhoulPrimitives.h>

Inheritance diagram for GhoulPrimitive::Loft:

Inheritance graph
[legend]
Collaboration diagram for GhoulPrimitive::Loft:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Loft ()
 construction
virtual ~Loft ()
virtual void Update (Drawer &drawer, bool bHasNormals=true, bool bHasTexCoords=true)
 (abstract) Base Class with utility functions
void ClearBasePoints ()
void SetBasePoint (size_t i, kVector3 p, kVector3 n=Vector3::ZERO, kReal u=0)
void AddBasePoint (kVector3 p, kVector3 n=Vector3::ZERO, kReal u=0)
void ClearPathPoints ()
void SetPathPoint (size_t i, kVector3 p, kReal uBias=0, kReal v=0, kVector3 scale=Vector3::UNIT_SCALE, kQuaternion rot=Quaternion::IDENTITY)
void AddPathPoint (kVector3 p, kReal uBias=0, kReal v=0, kVector3 scale=Vector3::UNIT_SCALE, kQuaternion rot=Quaternion::IDENTITY)

Public Attributes

bool mBase_bAutoNormal
bool mUseScale
 default = true, if (normal = zero) normal = norm(basepoint)
bool mUseRot
 default = true
bool mAutoBackSide
 default = true
bool mSphericalAutoNormals
 default = false, add inverted base form (with inverted normals)
Vector3 mSphericalAutoNormals_Center
 default = false, normals generated from normalized "absolute" position, used for sphere

Private Attributes

std::vector< BasePointmlBasePoint
std::vector< PathPointmlPathPoint

Classes

class  BasePoint
 default = ZERO More...
class  PathPoint


Detailed Description

WARNING ! the implementation of this loft is still incomplete, as it does not correctly change normals along the path, this does not affect the sphere-like forms, which use autogenerated normals based on the center (mSphericalAutoNormals=true) it is also ok for some symetric forms ( X ) where normals don't need to be adjusted

Definition at line 172 of file GhoulPrimitives.h.


Constructor & Destructor Documentation

Loft::Loft (  ) 

Loft::~Loft (  )  [virtual]

Definition at line 22 of file GhoulPrimitivesLoft.cpp.


Member Function Documentation

void Loft::Update ( Drawer drawer,
bool  bHasNormals = true,
bool  bHasTexCoords = true 
) [virtual]

void Loft::ClearBasePoints (  ) 

Definition at line 95 of file GhoulPrimitivesLoft.cpp.

References mlBasePoint, and PROFILE.

void Loft::SetBasePoint ( size_t  i,
kVector3  p,
kVector3  n = Vector3::ZERO,
kReal  u = 0 
)

Definition at line 103 of file GhoulPrimitivesLoft.cpp.

References mBase_bAutoNormal, mlBasePoint, and PROFILE.

Referenced by AddBasePoint().

void Loft::AddBasePoint ( kVector3  p,
kVector3  n = Vector3::ZERO,
kReal  u = 0 
)

void Loft::ClearPathPoints (  ) 

Definition at line 111 of file GhoulPrimitivesLoft.cpp.

References mlPathPoint, and PROFILE.

void Loft::SetPathPoint ( size_t  i,
kVector3  p,
kReal  uBias = 0,
kReal  v = 0,
kVector3  scale = Vector3::UNIT_SCALE,
kQuaternion  rot = Quaternion::IDENTITY 
)

Definition at line 119 of file GhoulPrimitivesLoft.cpp.

References mlPathPoint, and PROFILE.

Referenced by AddPathPoint().

void Loft::AddPathPoint ( kVector3  p,
kReal  uBias = 0,
kReal  v = 0,
kVector3  scale = Vector3::UNIT_SCALE,
kQuaternion  rot = Quaternion::IDENTITY 
)


Member Data Documentation

Definition at line 195 of file GhoulPrimitives.h.

Referenced by Loft(), and SetBasePoint().

default = true, if (normal = zero) normal = norm(basepoint)

Definition at line 196 of file GhoulPrimitives.h.

Referenced by Loft(), and Update().

default = true

Definition at line 197 of file GhoulPrimitives.h.

Referenced by Loft(), and Update().

default = true

Definition at line 198 of file GhoulPrimitives.h.

Referenced by Loft(), and Update().

default = false, add inverted base form (with inverted normals)

Definition at line 199 of file GhoulPrimitives.h.

Referenced by Loft(), GhoulPrimitive::Ellipsoid::SetParams(), and Update().

default = false, normals generated from normalized "absolute" position, used for sphere

Definition at line 200 of file GhoulPrimitives.h.

Referenced by Loft(), GhoulPrimitive::Ellipsoid::SetParams(), and Update().

Definition at line 224 of file GhoulPrimitives.h.

Referenced by AddBasePoint(), ClearBasePoints(), SetBasePoint(), and Update().

Definition at line 225 of file GhoulPrimitives.h.

Referenced by AddPathPoint(), ClearPathPoints(), SetPathPoint(), and Update().


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

Generated on Tue May 22 06:00:35 2012 for cpp by  doxygen 1.5.6