TMCLocationRec Class Reference
List of all members.
Public Member Functions |
| | TMCLocationRec () |
| TMCLocationRec * | Clone () const |
| void | SetLocation (const TVector3 &newLocation) |
| void | SetNextControlDistance (const real32 dist) |
| void | SetPrevControlDistance (const real32 dist) |
| void | SetNextControlDirection (const TVector3 &dir) |
| void | SetPrevControlDirection (const TVector3 &dir) |
| void | SetNextControlLocation (const TVector3 &newNextControl) |
| void | SetPrevControlLocation (const TVector3 &newPrevControl) |
| TVector3 & | GetLocation () |
| TVector3 & | GetNextControlDirection () |
| TVector3 & | GetPrevControlDirection () |
| real32 | GetNextControlDistance () |
| real32 | GetPrevControlDistance () |
| TVector3 | GetNextControlLocation () |
| TVector3 | GetPrevControlLocation () |
| TVector3 & | GetNextVectorUp () |
| TVector3 & | GetPrevVectorUp () |
| TVector3 & | GetNextControlVectorUp () |
| TVector3 & | GetPrevControlVectorUp () |
| void | CopyDataFrom (const TMCLocationRec *from) |
| void | CalcLinearApprox (TMCLocationRec *nextRec, int16 level=0, real posMin=0.0f, real posMax=1.0f) |
| void | CalcApprox (TMCLocationRec *nextRec, TMCLocationRec *prevRec, TMCBezierPath *bezierPath) |
| void | CalcLength (TMCLocationRec *nextRec) |
| void | CalcNormalAcceleration (TMCLocationRec *nextRec, TMCLocationRec *prevRec) |
| void | CalcVectorUp (TMCLocationRec *nextRec, TMCLocationRec *prevRec, const boolean isLinear) |
| void | CalcPseudoCurv (TMCLocationRec *nextRec, TMCLocationRec *prevRec) |
| real | DistanceToBezierPos (real linearDistance, TMCLocationRec *nextRec) |
| void | Interpolate (real segmentBezierPos, TVector3 &outPoint, TMCLocationRec *nextRec) |
| void | GetSpeed (real segmentBezierPos, TVector3 &point, TMCLocationRec *nextRec) |
| void | GetAcceleration (real segmentBezierPos, TVector3 &point, TMCLocationRec *nextRec) |
| void | GetNormalAcceleration (real segmentBezierPos, TVector3 &point, TMCLocationRec *nextRec) |
| void | GetVectorUp (real segmentBezierPos, TVector3 &speed, TVector3 &point, TMCLocationRec *nextRec) |
| void | Subdivide (real segmentBezierPos, TMCLocationRec *nextRec, TMCLocationRec &rec1, TMCLocationRec &rec2, TMCLocationRec &rec3) |
| void | ConvertTangent () |
| void | ConvertTangentDerivative () |
| void | Link () |
| void | LinkDerivative () |
| void | UnLink () |
| void | Degenerate () |
Public Attributes |
| real | fSegmentBeginPos |
| TVector3 | fLocation |
| real | fLength |
| real | fLengthFactor |
| EBezierType | fType |
| TMCArray< TVector3 > | fLinearApprox |
| TMCArray< real > | fLinearApproxDistance |
| TMCArray< real > | fLinearApproxBezierPos |
| TMCArray< TVector3 > | fNormalAcceleration |
| TVector3 | fLastBankingV |
| | Not used ?
|
Protected Member Functions |
| real | CalcError (TMCLocationRec *nextRec) |
Protected Attributes |
| TVector3 | fPrevControlVectorUp |
| TVector3 | fPrevVectorUp |
| TVector3 | fNextVectorUp |
| TVector3 | fNextControlVectorUp |
| TVector3 | fPrevControlDirection |
| TVector3 | fNextControlDirection |
| real32 | fPrevControlDistance |
| real32 | fNextControlDistance |
Detailed Description
A bezier point with its demi tangeants
Constructor & Destructor Documentation
| TMCLocationRec::TMCLocationRec |
( |
|
) |
|
Member Function Documentation
| void TMCLocationRec::ConvertTangent |
( |
|
) |
|
| void TMCLocationRec::ConvertTangentDerivative |
( |
|
) |
|
| void TMCLocationRec::Degenerate |
( |
|
) |
|
Return 1/6th of the actual acceleration
| TVector3& TMCLocationRec::GetLocation |
( |
|
) |
[inline] |
| TVector3& TMCLocationRec::GetNextControlDirection |
( |
|
) |
[inline] |
| real32 TMCLocationRec::GetNextControlDistance |
( |
|
) |
[inline] |
| TVector3 TMCLocationRec::GetNextControlLocation |
( |
|
) |
|
| TVector3& TMCLocationRec::GetNextControlVectorUp |
( |
|
) |
[inline] |
| TVector3& TMCLocationRec::GetNextVectorUp |
( |
|
) |
[inline] |
| TVector3& TMCLocationRec::GetPrevControlDirection |
( |
|
) |
[inline] |
| real32 TMCLocationRec::GetPrevControlDistance |
( |
|
) |
[inline] |
| TVector3 TMCLocationRec::GetPrevControlLocation |
( |
|
) |
|
| TVector3& TMCLocationRec::GetPrevControlVectorUp |
( |
|
) |
[inline] |
| TVector3& TMCLocationRec::GetPrevVectorUp |
( |
|
) |
[inline] |
Return 1/3th of the actual speed
| void TMCLocationRec::Link |
( |
|
) |
|
| void TMCLocationRec::LinkDerivative |
( |
|
) |
|
| void TMCLocationRec::SetLocation |
( |
const TVector3 & |
newLocation |
) |
[inline] |
| void TMCLocationRec::SetNextControlDirection |
( |
const TVector3 & |
dir |
) |
|
| void TMCLocationRec::SetNextControlDistance |
( |
const real32 |
dist |
) |
|
| void TMCLocationRec::SetNextControlLocation |
( |
const TVector3 & |
newNextControl |
) |
|
| void TMCLocationRec::SetPrevControlDirection |
( |
const TVector3 & |
dir |
) |
|
| void TMCLocationRec::SetPrevControlDistance |
( |
const real32 |
dist |
) |
|
| void TMCLocationRec::SetPrevControlLocation |
( |
const TVector3 & |
newPrevControl |
) |
|
| void TMCLocationRec::UnLink |
( |
|
) |
|
Member Data Documentation
These values aren't exactly the normal acceleration: a smoothing is done to avoid discontinuity at the junction of 2 beziers curves.
PrevControl and NextControl relative to Location: a normalize vector and a distance => we are so able to keep a direction even if the distance is 0
The VectorUp is normal to the path and is used to define a base attached to the path. Its determination is based on the fNextVectorUp of the previous TMCLocationRec as this: it's the projection of the previous fVectorUp on the plane normal to the tangeant. There're 2 vector per TMCLocationRec because it can have a discontinuity. fNextVectorUp is computed from fPrevVectorUp
The documentation for this class was generated from the following file: