This reference page is linked to from the following overview topics: MotionBuilder 2014, FBModel - Transformation Data and the Scene Graph.
Path 3D model class.
Definition at line 63 of file fbmodelpath3d.h.
#include <fbmodelpath3d.h>
Public Types | |
enum | ELengthUnitType { eArchitectural = 0, eMI, eCM, eM, eKM } |
Path Length Unit enum. More... | |
enum | EPathEndCapStyle { eNone, eArrow } |
Path end cap style enum. More... | |
typedef FBPropertyBaseEnum < ELengthUnitType > | PropertyUnitType |
typedef FBPropertyBaseEnum < EPathEndCapStyle > | PropertyPathEndCapStyle |
Public Member Functions | |
FBModelPath3D (const char *pName, HIObject pObject=NULL) | |
Constructor. | |
void | ShowCurveControls (bool pShow) |
Enable or disable displaying Curve Controls for the 3D model path. | |
void | ShowCurvePoints (bool pShow) |
Enable or disable displaying Curve Points for the 3D model path. | |
int | PathKeyGetCount () |
Query the number of keys present in the path. | |
FBVector4d | PathKeyGet (int pKeyIndex) |
Get path's key vector for at a particular key index. | |
void | PathKeySet (int pKeyIndex, FBVector4d pTLocal, bool pUpdate=true) |
Set the local coordinate vector values for path at a particular key index. | |
void | PathKeySetLeftRightTangent (int pKeyIndex, FBVector4d pKeyTLocal, FBVector4d pLeftTangentTLocal, FBVector4d pRightTangentTLocal, bool pUpdate=true) |
Set path's vectors for key, left tangent and right tangent at a particular key index. | |
void | PathKeyRemove (int pKeyIndex) |
Remove key at a particular index. | |
void | PathKeyClear () |
Clear the path keys. | |
void | PathKeySetLeftTangent (int pKeyIndex, FBVector4d pTLocal, bool pUpdate=true) |
Set path's key left tangent vector for designated index. | |
void | PathKeySetRightTangent (int pKeyIndex, FBVector4d pTLocal, bool pUpdate=true) |
Set 3D path's key right tangent vector for designated index. | |
FBVector4d | PathKeyGetLeftTangent (int pKeyIndex) |
Get the path key left tangent's vector value for designated index. | |
FBVector4d | PathKeyGetRightTangent (int pKeyIndex) |
Get the path key right tangent's vector value for designated index. | |
void | PathKeySetXDerivative (int pKeyIndex, double pDerivative, bool pUpdate) |
Set derivative in X coordinate for a path tangent. | |
void | PathKeySetYDerivative (int pKeyIndex, double pDerivative, bool pUpdate) |
Set derivative in Y coordinate for a path tangent. | |
void | PathKeySetZDerivative (int pKeyIndex, double pDerivative, bool pUpdate) |
Set derivative in Z coordinate for a path tangent. | |
void | PathKeySetXYZDerivative (int pKeyIndex, FBVector4d pDerivative, bool pUpdate) |
Set derivative in XYZ coordinates for a path tangent. | |
FBVector4d | PathKeyGetXYZDerivative (int pKeyIndex) |
Get vector in XYZ coordinates for a path tangent. | |
double | PathKeyGetLeftTangentLength (int pKeyIndex) |
Query the length of the left tangent. | |
double | PathKeyGetRightTangentLength (int pKeyIndex) |
Query the value of the right tangent. | |
int | GetSelectedPathKeyCount () |
Query the number of keys present in the selected path. | |
void | PathKeyRemoveSelected () |
Remove the selected keys from the path. | |
int | InsertNewStartKey () |
Insert a new key at the start of the path. | |
int | InsertNewEndKey () |
Insert a new key at the end of the path. | |
int | PathKeyStartAdd (FBVector4d pTLocal) |
Adds a new key to the start of the path (with time gap of 1 sec). | |
int | PathKeyEndAdd (FBVector4d pTLocal) |
Adds a new key to the end of the path (with time gap of 1 sec). | |
int | Total_PathKeyAdd (double pTotalPercent, FBVector4d pTLocal) |
Adds a new key either at the start, end or along the path as per specified. | |
int | Total_IsPathKey (double pTotalPercent) |
Query whether a percentage value has a key associated at that point in the path. | |
FBVector4d | Total_GlobalPathEvaluate (double pTotalPercent) |
Get the path's vector at a particular point within the curve, in global coordinates. | |
FBVector4d | Total_LocalPathEvaluate (double pTotalPercent) |
Get the path's vector at a particular point within the curve, in local coordinates. | |
FBVector4d | Total_GlobalPathEvaluateDerivative (double pTotalPercent) |
Get the path's derivative at a particular point within the curve, in global coordinates. | |
FBVector4d | Total_LocalPathEvaluateDerivative (double pTotalPercent) |
Get the path's derivative at a particular point within the curve, in local coordinates. | |
int | Segment_PathKeyAdd (double pSegmentPercent, FBVector4d pTLocal) |
Adds a new key either at the start, end or along the path as per specified. | |
int | Segment_IsPathKey (double pSegmentPercent) |
Query whether a percentage value has a key associated at that point in the path. | |
FBVector4d | Segment_GlobalPathEvaluate (double pSegmentPercent) |
Get the path's vector at a particular point within the curve, in global coordinates. | |
FBVector4d | Segment_LocalPathEvaluate (double pSegmentPercent) |
Get the path's vector at a particular point within the curve, in local coordinates. | |
FBVector4d | Segment_GlobalPathEvaluateDerivative (double pSegmentPercent) |
Get the path's derivative at a particular point within the curve, in global coordinates. | |
FBVector4d | Segment_LocalPathEvaluateDerivative (double pSegmentPercent) |
Get the path's derivative at a particular point within the curve, in local coordinates. | |
double | ConvertTotalPercentToSegmentPercent (double pPercent) |
Converting one key type Total (percent) to Segment (time). | |
double | ConvertSegmentPercentToTotalPercent (double pPercent) |
Converting one key type Segment (time) to Total (percent). | |
double | ConvertToSegmentPercentFactor () |
Get factor for multiplying the derivative of a key for segment mode. | |
double | ConvertToTotalPercentFactor () |
Get factor for multiplying the derivative of a key for total mode. | |
void | UpdateGeometry () |
Update path geometry explicitly. | |
Public Attributes | |
FBPropertyDouble | PathLength |
Read Only Property: Path Length In Centimeter. | |
FBPropertyString | PathLengthInString |
Read Only Property: Path Length Display String According To The Current Unit. | |
PropertyUnitType | PathLengthUnit |
Read Write Property: Path Length Unit. | |
FBPropertyBool | PathLengthShow |
Read Write Property: Path length label display or not. | |
FBPropertyDouble | TextScale |
Read Write Property: Path Length label display scale. | |
FBPropertyColorAndAlpha | TextBackground |
Read Write Property: Path Length label display background color. | |
PropertyPathEndCapStyle | PathEndCapStyle |
Read Write Property: Path end cap display style. | |
FBPropertyDouble | PathEndCapScale |
Read Write Property: Path end cap display scale. | |
FBPropertyAnimatableColor | Color |
Read Write Property: Path display color in viewport. |
Definition at line 101 of file fbmodelpath3d.h.
Definition at line 110 of file fbmodelpath3d.h.
enum ELengthUnitType |
Path Length Unit enum.
Definition at line 93 of file fbmodelpath3d.h.
{ eArchitectural = 0, eMI, eCM, eM, eKM };
enum EPathEndCapStyle |
Path end cap style enum.
Definition at line 104 of file fbmodelpath3d.h.
FBModelPath3D | ( | const char * | pName, |
HIObject | pObject = NULL |
||
) |
Constructor.
pName | Name of Path 3D. |
pObject | For internal use only(default=NULL). |
Python sample code:
Script Sample. from pyfbsdk import * path = FBModelPath3D("Test") path.Show = True der = path.Total_LocalPathEvaluateDerivative(1) path.PathKeySetLeftTangeant(1,FBVector4d(25,25,25,25),True) ## Add keys at start and end path.PathKeyStartAdd(FBVector4d(0,0,100,0)) path.PathKeyEndAdd(FBVector4d(100,0,0,0)) ## Add keys within the path path.Segment_PathKeyAdd(75.0,FBVector4d(25,25,25,25)) path.Segment_PathKeyAdd(25.0,FBVector4d(25,0,25,25))
void ShowCurveControls | ( | bool | pShow | ) |
Enable or disable displaying Curve Controls for the 3D model path.
pShow | true if curve controls are to be displayed false if not required |
void ShowCurvePoints | ( | bool | pShow | ) |
Enable or disable displaying Curve Points for the 3D model path.
pShow | true if curve points are to be displayed false if not required |
int PathKeyGetCount | ( | ) |
Query the number of keys present in the path.
FBVector4d PathKeyGet | ( | int | pKeyIndex | ) |
Get path's key vector for at a particular key index.
pKeyIndex | Key ID to set with |
void PathKeySet | ( | int | pKeyIndex, |
FBVector4d | pTLocal, | ||
bool | pUpdate = true |
||
) |
Set the local coordinate vector values for path at a particular key index.
pKeyIndex | Key ID to set with |
pTLocal | Vector to use to set values to Key |
pUpdate | true if geometry update is required, false if not required (default=true) |
void PathKeySetLeftRightTangent | ( | int | pKeyIndex, |
FBVector4d | pKeyTLocal, | ||
FBVector4d | pLeftTangentTLocal, | ||
FBVector4d | pRightTangentTLocal, | ||
bool | pUpdate = true |
||
) |
Set path's vectors for key, left tangent and right tangent at a particular key index.
pKeyIndex | Key ID to set key for left and right tangents |
pKeyTLocal | Vector to use to set values to Key |
pLeftTangentTLocal | Vector to use to set values to Key Left Tangent |
pRightTangentTLocal | Vector to use to set values to Key Right Tangent |
pUpdate | true if geometry update is required, false if not required (default=true) |
void PathKeyRemove | ( | int | pKeyIndex | ) |
Remove key at a particular index.
pKeyIndex | Key ID at which key is to be removed. |
void PathKeyClear | ( | ) |
Clear the path keys.
void PathKeySetLeftTangent | ( | int | pKeyIndex, |
FBVector4d | pTLocal, | ||
bool | pUpdate = true |
||
) |
Set path's key left tangent vector for designated index.
pKeyIndex | Key ID at which left tangent is to be set |
pTLocal | Vector to use to set values to Key |
pUpdate | true if geometry update is required, false if not required (default=true) |
void PathKeySetRightTangent | ( | int | pKeyIndex, |
FBVector4d | pTLocal, | ||
bool | pUpdate = true |
||
) |
Set 3D path's key right tangent vector for designated index.
pKeyIndex | Key ID at which right tangent is to be set |
pTLocal | Vector to use to set values to Key |
pUpdate | true if geometry update is required, false if not required (default=true) |
FBVector4d PathKeyGetLeftTangent | ( | int | pKeyIndex | ) |
Get the path key left tangent's vector value for designated index.
pKeyIndex | Key ID at which left tangent value is required |
FBVector4d PathKeyGetRightTangent | ( | int | pKeyIndex | ) |
Get the path key right tangent's vector value for designated index.
pKeyIndex | Key ID to set with |
void PathKeySetXDerivative | ( | int | pKeyIndex, |
double | pDerivative, | ||
bool | pUpdate | ||
) |
Set derivative in X coordinate for a path tangent.
This works only if key interpolation type is CUBIC and tangent mode is User, Break or Auto.
pKeyIndex | Key ID to set with |
pDerivative | Value of the derivative to apply to tangent |
pUpdate | true if geometry update is required, false if not required (default=true) |
void PathKeySetYDerivative | ( | int | pKeyIndex, |
double | pDerivative, | ||
bool | pUpdate | ||
) |
Set derivative in Y coordinate for a path tangent.
This works only if key interpolation type is CUBIC and tangent mode is User, Break or Auto.
pKeyIndex | Key ID to set with |
pDerivative | Value of the derivative to apply to tangent |
pUpdate | true if geometry update is required, false if not required (default=true) |
void PathKeySetZDerivative | ( | int | pKeyIndex, |
double | pDerivative, | ||
bool | pUpdate | ||
) |
Set derivative in Z coordinate for a path tangent.
This works only if key interpolation type is CUBIC and tangent mode is User, Break or Auto.
pKeyIndex | Key ID to set with |
pDerivative | Value of the derivative to apply to tangent |
pUpdate | true if geometry update is required, false if not required (default=true) |
void PathKeySetXYZDerivative | ( | int | pKeyIndex, |
FBVector4d | pDerivative, | ||
bool | pUpdate | ||
) |
Set derivative in XYZ coordinates for a path tangent.
This works only if key interpolation type is CUBIC and tangent mode is User, Break or Auto.
pKeyIndex | Key ID to set with |
pDerivative | Value of the derivative to apply to tangent |
pUpdate | true if geometry update is required, false if not required (default=true) |
FBVector4d PathKeyGetXYZDerivative | ( | int | pKeyIndex | ) |
Get vector in XYZ coordinates for a path tangent.
This works only if key interpolation type is CUBIC and tangent mode is User, Break or Auto.
pKeyIndex | Key ID to set with |
double PathKeyGetLeftTangentLength | ( | int | pKeyIndex | ) |
Query the length of the left tangent.
pKeyIndex | Key ID to set with |
double PathKeyGetRightTangentLength | ( | int | pKeyIndex | ) |
Query the value of the right tangent.
pKeyIndex | Key ID to set with |
int GetSelectedPathKeyCount | ( | ) |
Query the number of keys present in the selected path.
void PathKeyRemoveSelected | ( | ) |
Remove the selected keys from the path.
int InsertNewStartKey | ( | ) |
Insert a new key at the start of the path.
int InsertNewEndKey | ( | ) |
Insert a new key at the end of the path.
int PathKeyStartAdd | ( | FBVector4d | pTLocal | ) |
Adds a new key to the start of the path (with time gap of 1 sec).
The derivative value for the new key is copied from the right tangent of the first key.
pTLocal | Vector value for the new added Key |
int PathKeyEndAdd | ( | FBVector4d | pTLocal | ) |
Adds a new key to the end of the path (with time gap of 1 sec).
The derivative value for the new key is copied from the left tangent of the last key.
pTLocal | Vector value for the new added Key |
int Total_PathKeyAdd | ( | double | pTotalPercent, |
FBVector4d | pTLocal | ||
) |
Adds a new key either at the start, end or along the path as per specified.
pTotalPercent | Double value indicating where the key is to be added. If < 0, key added before start of the path, if > 0, key added at end of path, otherwise it is added somewhere along the path depending on value specified |
pTLocal | Vector to use to set values to Key |
int Total_IsPathKey | ( | double | pTotalPercent | ) |
Query whether a percentage value has a key associated at that point in the path.
pTotalPercent | Double value (as percentage) at which the path would be queried for existence of key |
FBVector4d Total_GlobalPathEvaluate | ( | double | pTotalPercent | ) |
Get the path's vector at a particular point within the curve, in global coordinates.
pTotalPercent | Double value (as percentage) at which the path vector would be computed |
FBVector4d Total_LocalPathEvaluate | ( | double | pTotalPercent | ) |
Get the path's vector at a particular point within the curve, in local coordinates.
pTotalPercent | Double value (as percentage) at which the path vector would be computed |
FBVector4d Total_GlobalPathEvaluateDerivative | ( | double | pTotalPercent | ) |
Get the path's derivative at a particular point within the curve, in global coordinates.
pTotalPercent | Double value (as percentage) at which the path derivative would be computed |
FBVector4d Total_LocalPathEvaluateDerivative | ( | double | pTotalPercent | ) |
Get the path's derivative at a particular point within the curve, in local coordinates.
pTotalPercent | Double value (as percentage) at which the path derivative would be computed |
int Segment_PathKeyAdd | ( | double | pSegmentPercent, |
FBVector4d | pTLocal | ||
) |
Adds a new key either at the start, end or along the path as per specified.
pSegmentPercent | Double value indicating where the key is to be added. If < 0, key added before start of the path, if > 0, key added at end of path, otherwise it is added somewhere along the path depending on value specified |
pTLocal | Vector to use to set values to Key |
int Segment_IsPathKey | ( | double | pSegmentPercent | ) |
Query whether a percentage value has a key associated at that point in the path.
pSegmentPercent | Double value (as time) at which the path would be queried for existence of key |
FBVector4d Segment_GlobalPathEvaluate | ( | double | pSegmentPercent | ) |
Get the path's vector at a particular point within the curve, in global coordinates.
pSegmentPercent | Double value (as time) at which the path vector would be computed |
FBVector4d Segment_LocalPathEvaluate | ( | double | pSegmentPercent | ) |
Get the path's vector at a particular point within the curve, in local coordinates.
pSegmentPercent | Double value (as time) at which the path vector would be computed |
FBVector4d Segment_GlobalPathEvaluateDerivative | ( | double | pSegmentPercent | ) |
Get the path's derivative at a particular point within the curve, in global coordinates.
pSegmentPercent | Double value (as time) at which the path derivative would be computed |
FBVector4d Segment_LocalPathEvaluateDerivative | ( | double | pSegmentPercent | ) |
Get the path's derivative at a particular point within the curve, in local coordinates.
pSegmentPercent | Double value (as time) at which the path derivative would be computed |
double ConvertTotalPercentToSegmentPercent | ( | double | pPercent | ) |
Converting one key type Total (percent) to Segment (time).
pPercent | Double value (as percentage) |
double ConvertSegmentPercentToTotalPercent | ( | double | pPercent | ) |
Converting one key type Segment (time) to Total (percent).
pPercent | Double value (as time) |
double ConvertToSegmentPercentFactor | ( | ) |
Get factor for multiplying the derivative of a key for segment mode.
double ConvertToTotalPercentFactor | ( | ) |
Get factor for multiplying the derivative of a key for total mode.
void UpdateGeometry | ( | ) |
Update path geometry explicitly.
Read Only Property: Path Length In Centimeter.
Definition at line 112 of file fbmodelpath3d.h.
Read Only Property: Path Length Display String According To The Current Unit.
Definition at line 113 of file fbmodelpath3d.h.
Read Write Property: Path Length Unit.
Definition at line 114 of file fbmodelpath3d.h.
Read Write Property: Path length label display or not.
Definition at line 115 of file fbmodelpath3d.h.
Read Write Property: Path Length label display scale.
Definition at line 116 of file fbmodelpath3d.h.
Read Write Property: Path Length label display background color.
Definition at line 117 of file fbmodelpath3d.h.
Read Write Property: Path end cap display style.
Definition at line 118 of file fbmodelpath3d.h.
Read Write Property: Path end cap display scale.
Definition at line 119 of file fbmodelpath3d.h.
Read Write Property: Path display color in viewport.
Definition at line 120 of file fbmodelpath3d.h.