kfcurveglobal.h File Reference
Detailed Description
Definition in file kfcurveglobal.h.
#include <fbxfilesdk/components/kfcurve/kfcurve_h.h>
#include
<fbxfilesdk/components/kbaselib/kaydara.h>
#include <fbxfilesdk/components/kbaselib/klib/karrayul.h>
#include <fbxfilesdk/components/kbaselib/klib/ktime.h>
#include <fbxfilesdk/components/kfcurve/kfcurve_forward.h>
#include <fbxfilesdk/components/kfcurve/kfcurve.h>
#include <fbxfilesdk/fbxfilesdk_nsbegin.h>
#include <fbxfilesdk/fbxfilesdk_nsend.h>
Go to the source code of this
file.
|
Classes
|
class |
KSmartPlotOptions |
|
KSmartPlotOptions. More...
|
class |
KMergeLayerOptions |
|
KMergeLayerOptions. More...
|
Functions
|
KFBX_DLL void |
KFCurve_PlotInLayers
(HKFCurveNode pParentNode,
KArrayTemplate< int > *pSourceLayers, int pDestLayer, kUInt
pOptions, KTime pStart,
KTime pStop, KTime pPlotPeriod, HKFCurveNode pDestinationNode, HKFCurveNode pTotalNode, bool pUseTimeWarp,
HKSmartPlotOptions pSmartPlotOptions=NULL) |
|
Plots inside a curvenode.
|
KFBX_DLL bool |
AxisAlignmentInEulerAngle
(double pAB[3], double pA[3], double pB[3], double pAngles[3]) |
|
Calculate the euler rotation required to
align axis pAB-pA on pAB-pB.
|
KFBX_DLL void |
KFCURVE_BreakTangents
(HKFCurveNode pFCurveNode,
HKFCurveNode
pReferenceFCurveNode, KTime
pEpsilonTime, double pTangentThreshold) |
|
Compare the FCurve with the reference FCurve
and break the tangents when necessary so that both FCurves match.
|
KFBX_DLL void |
KFCURVE_IncreaseFidelity
(HKFCurveNode pFCurveNode,
HKFCurveNode
pReferenceFCurveNode, double pFidelityThreshold, int pSegmentCount,
bool pBreakTangents, KTime
pEpsilonTime, double pTangentThreshold, bool pSyncAddedKeys=false,
KArrayTemplate< HKFCurve
> *pSyncWithFCurves=NULL, KArrayTemplate< HKFCurve >
*pSyncWithReferenceFCurves=NULL) |
|
Compare the FCurve with the reference FCurve
and add keys when necessary so that both FCurves match.
|
KFBX_DLL bool |
KFCURVE_IsAllSameInterpolation
(HKFCurveNode pFCurveNode,
kFCurveInterpolation pInterpolation, bool pAllLayer) |
|
Determined if all the keys in the underlying
KFCurveNode have the same interpolation type.
|
KFBX_DLL void |
KFCURVE_ConstantCurveMerge
(HKFCurveNode pDstNode,
HKFCurveNode pSrcNode,
KTime pStart, KTime pStop) |
|
Smart merge version for curves that have
only constant keys.
|
Function Documentation
KFBX_DLL bool AxisAlignmentInEulerAngle |
( |
double |
pAB[3], |
|
|
double |
pA[3], |
|
|
double |
pB[3], |
|
|
double |
pAngles[3] |
|
|
) |
|
|
|
Calculate the euler rotation required to align axis pAB-pA on
pAB-pB.
- Parameters:
-
|
pAB |
The intersection of the 2 axis. |
|
pA |
A point on axis to be aligned. |
|
pB |
A point on reference axis. |
|
pAngles |
Resulting euler angles. |
- Returns:
- how the operation succeed.
KFBX_DLL void KFCURVE_BreakTangents |
( |
HKFCurveNode |
pFCurveNode, |
|
|
HKFCurveNode |
pReferenceFCurveNode, |
|
|
KTime |
pEpsilonTime, |
|
|
double |
pTangentThreshold |
|
|
) |
|
|
|
Compare the FCurve with the reference FCurve and break the
tangents when necessary so that both FCurves match.
- Parameters:
-
|
pFCurveNode |
FCurveNode to modify. |
|
pReferenceFCurveNode |
FCurveNode we use as the reference. |
|
pEpsilonTime |
Epsilon time used to evaluate the tangents. |
|
pTangentThreshold |
Threshold used when comparing tangents. If the difference is
over the threshold, we break the tangent. |
Smart merge version for curves that have only constant keys.
The current implementation of SmartMerge does not work very well
with different types of constant keys.
- Parameters:
-
|
pDstNode |
The Destination
KFCurveNode in which all layers will be merged. |
|
pSrcNode |
Multi-layered
KFCurveNode that has to be merged |
|
pStart |
Merge start time |
|
pStop |
Merge stop time |
KFBX_DLL void KFCURVE_IncreaseFidelity |
( |
HKFCurveNode |
pFCurveNode, |
|
|
HKFCurveNode |
pReferenceFCurveNode, |
|
|
double |
pFidelityThreshold, |
|
|
int |
pSegmentCount, |
|
|
bool |
pBreakTangents, |
|
|
KTime |
pEpsilonTime, |
|
|
double |
pTangentThreshold, |
|
|
bool |
pSyncAddedKeys =
false , |
|
|
KArrayTemplate< HKFCurve > * |
pSyncWithFCurves =
NULL , |
|
|
KArrayTemplate< HKFCurve > * |
pSyncWithReferenceFCurves =
NULL |
|
|
) |
|
|
|
Compare the FCurve with the reference FCurve and add keys when
necessary so that both FCurves match.
- Parameters:
-
|
pFCurveNode |
FCurveNode to modify. |
|
pReferenceFCurveNode |
FCurveNode we use as the reference. |
|
pFidelityThreshold |
Threshold used when comparing values. If the difference is over
the threshold, we add a new key. |
|
pSegmentCount |
Number of segments we divide the curve between every pairs of
keys. |
|
pBreakTangents |
True if we should break the tangents when they don't match the
reference. |
|
pEpsilonTime |
Epsilon time used to evaluate the tangents. |
|
pTangentThreshold |
Threshold used when comparing tangents. If the difference is
over the threshold, we break the tangent. |
|
pSyncAddedKeys |
True if fidelity keys should be added to all FCurves of a
vector. |
|
pSyncWithFCurves |
For internal use, leave to NULL. |
|
pSyncWithReferenceFCurves |
For internal use, leave to NULL. |
KFBX_DLL bool
KFCURVE_IsAllSameInterpolation |
( |
HKFCurveNode |
pFCurveNode, |
|
|
kFCurveInterpolation |
pInterpolation, |
|
|
bool |
pAllLayer |
|
|
) |
|
|
|
Determined if all the keys in the underlying
KFCurveNode have the same interpolation type.
- Parameters:
-
|
pFCurveNode |
FCurveNode to check. |
|
pInterpolation |
The interpolation type we are querying for. |
|
pAllLayer |
True if check is in all layers. |
- Returns:
- True if the all all have pInterpolation type.
KFBX_DLL void KFCurve_PlotInLayers |
( |
HKFCurveNode |
pParentNode, |
|
|
KArrayTemplate< int > * |
pSourceLayers, |
|
|
int |
pDestLayer, |
|
|
kUInt |
pOptions, |
|
|
KTime |
pStart, |
|
|
KTime |
pStop, |
|
|
KTime |
pPlotPeriod, |
|
|
HKFCurveNode |
pDestinationNode, |
|
|
HKFCurveNode |
pTotalNode, |
|
|
bool |
pUseTimeWarp, |
|
|
HKSmartPlotOptions |
pSmartPlotOptions =
NULL |
|
|
) |
|
|
|
Plots inside a curvenode.
Plot is risky for rotations because they are not commutative, so
make sure layers to be plot are successive !!!
- Parameters:
-
|
pParentNode |
The node containing all layers. |
|
pSourceLayers |
Layers to be plotted. |
|
pDestLayer |
Layers to be plotted on this layer. |
|
pOptions |
Flags to set the behaviour. |
|
pStart |
Start time of the plot. |
|
pStop |
Stop time of the plot. |
|
pPlotPeriod |
|
|
pDestinationNode |
|
|
pTotalNode |
|
|
pUseTimeWarp |
|
|
pSmartPlotOptions |
|