1 #ifndef __FBMODEL_PATH3D_H__
2 #define __FBMODEL_PATH3D_H__
43 #include <kaydaradef.h>
46 #define FBSDK_DLL K_DLLIMPORT
53 #ifdef FBSDKUseNamespace
54 namespace FBSDKNamespace {
410 #ifdef FBSDKUseNamespace
AnimationNodeNotify evaluation information.
FBVector4d Total_GlobalPathEvaluateDerivative(double pTotalPercent, FBEvaluateInfo *pEvaluateInfo=NULL)
Get the path's derivative at a particular point within the curve, in global coordinates.
FBVector4d Total_LocalPathEvaluate(double pTotalPercent, FBEvaluateInfo *pEvaluateInfo=NULL)
Get the path's vector at a particular point within the curve, in local coordinates.
void PathKeySetXDerivative(int pKeyIndex, double pDerivative, bool pUpdate)
Set derivative in X coordinate for a path tangent.
FBPropertyColorAndAlpha TextBackground
Read Write Property: Path Length label display background color.
void PathKeyClear()
Clear the path keys.
void PathKeyRemoveSelected()
Remove the selected keys from the path.
FBVector4d Segment_LocalPathEvaluate(double pSegmentPercent, FBEvaluateInfo *pEvaluateInfo=NULL)
Get the path's vector at a particular point within the curve, in local coordinates.
int PathKeyInsertAfter(int pKeyIndex, FBVector4d pTLocal)
Adds a new key immediately after the specified key ID (with time gap of 1 sec).
int InsertNewEndKey()
Insert a new key at the end of the path.
void PathKeySetYDerivative(int pKeyIndex, double pDerivative, bool pUpdate)
Set derivative in Y coordinate for a path tangent.
void ShowCurveControls(bool pShow)
Enable or disable displaying Curve Controls for the 3D model path.
FBVector4d PathKeyGetXYZDerivative(int pKeyIndex)
Get vector in XYZ coordinates for a path tangent.
int PathKeyEndAdd(FBVector4d pTLocal)
Adds a new key to the end of the path (with time gap of 1 sec).
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.
FBPropertyDouble PathLength
Read Only Property: Path Length In Centimeter.
void ShowCurvePoints(bool pShow)
Enable or disable displaying Curve Points for the 3D model path.
void UpdateGeometry()
Update path geometry explicitly.
FBVector4d Segment_GlobalPathEvaluate(double pSegmentPercent, FBEvaluateInfo *pEvaluateInfo=NULL)
Get the path's vector at a particular point within the curve, in global coordinates.
void PathKeyRemove(int pKeyIndex)
Remove key at a particular index.
FBVector4d PathKeyGet(int pKeyIndex)
Get path's key vector for at a particular key index.
double ConvertSegmentPercentToTotalPercent(double pPercent, FBEvaluateInfo *pEvaluateInfo=NULL)
Converting one key type Segment (time) to Total (percent).
FBPropertyString PathLengthInString
Read Only Property: Path Length Display String According To The Current Unit.
FBPropertyBool PathLengthShow
Read Write Property: Path length label display or not.
ELengthUnitType
Path Length Unit enum.
void PathKeySetXYZDerivative(int pKeyIndex, FBVector4d pDerivative, bool pUpdate)
Set derivative in XYZ coordinates for a path tangent.
double ConvertToTotalPercentFactor()
Get factor for multiplying the derivative of a key for total mode.
EKeyPropertyBehavior
Key property behavior.
@ eLegacyVector4
2014, 2015, 2016. Key property type is Vector4.
FBVector4d Total_GlobalPathEvaluate(double pTotalPercent, FBEvaluateInfo *pEvaluateInfo=NULL)
Get the path's vector at a particular point within the curve, in global coordinates.
void PathKeySetLeftTangent(int pKeyIndex, FBVector4d pTLocal, bool pUpdate=true)
Set path's key left tangent vector for designated index.
int Total_IsPathKey(double pTotalPercent, FBEvaluateInfo *pEvaluateInfo=NULL)
Query whether a percentage value has a key associated at that point in the path.
double PathKeyGetLeftTangentLength(int pKeyIndex)
Query the length of the left tangent.
FBPropertyDouble PathEndCapScale
Read Write Property: Path end cap display scale.
FBVector4d PathKeyGetRightTangent(int pKeyIndex)
Get the path key right tangent's vector value for designated index.
void PathKeySetRightTangent(int pKeyIndex, FBVector4d pTLocal, bool pUpdate=true)
Set 3D path's key right tangent vector for designated index.
int PathKeyStartAdd(FBVector4d pTLocal)
Adds a new key to the start of the path (with time gap of 1 sec).
FBVector4d Segment_GlobalPathEvaluateDerivative(double pSegmentPercent, FBEvaluateInfo *pEvaluateInfo=NULL)
Get the path's derivative at a particular point within the curve, in global coordinates.
double PathKeyGetRightTangentLength(int pKeyIndex)
Query the value of the right tangent.
FBProperty * PathKeyGetProperty(int pKeyIndex)
Get the path key's corresponding property.
int PathKeyGetCount()
Query the number of keys present in the path.
void PathKeySetZDerivative(int pKeyIndex, double pDerivative, bool pUpdate)
Set derivative in Z coordinate for a path tangent.
FBVector4d PathKeyGetLeftTangent(int pKeyIndex)
Get the path key left tangent's vector value for designated index.
int Segment_IsPathKey(double pSegmentPercent, FBEvaluateInfo *pEvaluateInfo=NULL)
Query whether a percentage value has a key associated at that point in the path.
EPathEndCapStyle
Path end cap style enum.
PropertyUnitType PathLengthUnit
Read Write Property: Path Length Unit.
FBPropertyAnimatableColor Color
Read Write Property: Path display color in viewport.
FBVector4d Segment_LocalPathEvaluateDerivative(double pSegmentPercent, FBEvaluateInfo *pEvaluateInfo=NULL)
Get the path's derivative at a particular point within the curve, in local coordinates.
double ConvertToSegmentPercentFactor()
Get factor for multiplying the derivative of a key for segment mode.
int InsertNewStartKey()
Insert a new key at the start of the path.
FBPropertyBool AutoControlNode
Read Write Property: Automatically create key control nodes.
double ConvertTotalPercentToSegmentPercent(double pPercent, FBEvaluateInfo *pEvaluateInfo=NULL)
Converting one key type Total (percent) to Segment (time).
PropertyKeyPropertyBehavior KeyPropertyBehavior
Read Only Property: Key property behavior.
int GetSelectedPathKeyCount()
Query the number of keys present in the selected path.
FBPropertyDouble TextScale
Read Write Property: Path Length label display scale.
PropertyPathEndCapStyle PathEndCapStyle
Read Write Property: Path end cap display style.
FBModel * PathKeyGetControlNode(int pKeyIndex)
Get the path key's control node.
FBVector4d Total_LocalPathEvaluateDerivative(double pTotalPercent, FBEvaluateInfo *pEvaluateInfo=NULL)
Get the path's derivative at a particular point within the curve, in local coordinates.
FBModelPath3D(const char *pName, HIObject pObject=NULL)
Constructor.
bool PathKeySetControlNode(int pKeyIndex, FBModel *pControlNode)
Set the path key's control node.
Property: Base property class.
Property class: const char * (String).
#define __FBClassDeclare(Name, Parent)
For internal use only.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
Contains definitions for devices, boxes and models.
class K_DLLIMPORT FBPropertyBaseAnimatable< FBColor, kFBPT_ColorRGB > FBPropertyAnimatableColor
FBPropertyAnimatableColor type definition.
class K_DLLIMPORT FBPropertyBase< FBColorAndAlpha, kFBPT_ColorRGBA > FBPropertyColorAndAlpha
FBPropertyColorAndAlpha type definition.
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
class K_DLLIMPORT FBPropertyBase< double, kFBPT_double > FBPropertyDouble
Property: double
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
class K_DLLIMPORT FBVector4< double > FBVector4d
4D vector