Open Reality Reference Guide
|
|
Go to the documentation of this file. 1 #ifndef __FBOPTICAL_H__
2 #define __FBOPTICAL_H__
43 #include <kaydaradef.h>
48 #define FBSDK_DLL K_DLLIMPORT
56 #ifdef FBSDKUseNamespace
57 namespace FBSDKNamespace {
126 void FBOpticalSegmentInitProperties();
143 virtual void Refresh();
182 virtual void Refresh();
271 void FBOpticalGapInitProperties();
288 virtual void RemoveAt(
int pIndex );
289 virtual void Refresh();
336 virtual bool ImportKey(
double pX,
double pY,
double pZ=0.0,
double pOcclusion=0.0 );
358 virtual bool ExportKey(
double *pX,
double *pY,
double *pZ=NULL,
double *pOcclusion=NULL );
388 void FBModelMarkerOpticalInitProperties();
428 virtual int Add(
const char* pName = NULL );
473 virtual int Add(
const char* pName = NULL );
544 void FBRigidBodyInitProperties();
561 virtual void Refresh ();
765 void SetData(
double pX,
double pY,
double pZ=0.0,
double pOcclusion=0.0);
806 virtual int Add(
const char *pName=NULL );
881 #ifdef FBSDKUseNamespace
virtual void AcceptSegment()
Accept current segment.
virtual int GetCount()
Get the marker count.
virtual void ClearSegments(bool pUnUsedOnly=true)
Clear the segments (by default only the unused).
FBPropertySegmentMode SegmentMode
Property: Segment mode.
FBPropertyBool IsUsed
Property: Is marker used?
FBOpticalSegment(const FBOpticalSegment &pSegment)
Constructor.
virtual int Add(const char *pName=NULL)
Add a new optical marker to the list.
FBPropertyBool UseMarkerTimeStamp
Property: Use the individual marker timestamps?
kFbxObjectStore
Description of the different store/retrieve passes of the FBX format.
PropertyList: Device optical marker
@ kFBGapSample
Sampled data.
kDeviceOperations
Types of operations for device.
FBPropertyRigidBodyMode Mode
Property: Rigid body mode.
virtual void DeviceOpticalRecordFrame(FBTime &pTime, FBDeviceNotifyInfo &pDeviceNotifyInfo)
Record a frame of information from device.
FBOpticalSegment(FBModelOptical *pOptical=NULL)
Constructor.
virtual bool ExportSetup()
Setup exportation from optical model.
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
virtual bool ExportEnd()
End exportation from optical model.
FBPropertyControllerMode ControllerMode
Property: Controller mode.
kDeviceIOs
Types of I/O for device.
FBRigidBody & operator=(const FBRigidBody &pValue)
Overloaded = operator.
FBRigidBody CreateRigidBody(const char *pRigidBodyName, FBArrayTemplate< FBModelMarkerOptical * > pMarkers)
Create a new rigid body from the given optical markers.
class K_DLLIMPORT FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
FBOpticalGap(FBModelMarkerOptical *pMarker=NULL)
Constructor.
FBOpticalGap(const FBOpticalGap &pGap)
Constructor (copy).
virtual void Refresh()
Refresh marker list.
@ kFBGapConstant
Constant interpolation.
FBPropertyInsertSegmentMode InsertSegmentMode
Property: Insert segment mode.
FBPropertyBool Used
Property: Is segment used?
FBPropertyInt SmoothWidth
Property: Smoothing width.
virtual int Add(FBModelList &pList, const char *pName=NULL)
Add a new rigid body to the list.
virtual void RecordingDoneAnimation(FBAnimationNode *pAnimationNode) override
When recording, finish animation.
FBRigidBody(const FBRigidBody &pRigidBody)
Constructor.
Base Device class. Cannot be instantiated from Python.
FBPropertyListRigidBodyMarkers Markers
Property: List of markers composing the rigid body.
virtual void Refresh()
Refresh marker list.
@ kFBGapBezier
Bezier interpolation.
virtual FBRigidBody operator[](int pIndex)
[] operator overload.
FBPropertyModel Model
Property: Rigid body model.
FBGenerationMode
Generation modes for optical model.
virtual void InsertSegmentedData(FBAnimationNode *pTData, FBAnimationNode *pOData)
Insert segmented data.
FBPropertyListMarkerSegment Segments
Property: Marker segments.
FBPropertyDouble MaxMatchDistance
Property: Max matching distance.
@ kFBGenerationNone
No re-generation.
FBDeviceOptical(const char *pName, HIObject pObject=NULL)
Constructor.
FBPropertyListModelMarkerOptical Markers
List: Markers.
class K_DLLIMPORT FBPropertyBase< double, kFBPT_double > FBPropertyDouble
Property: double
virtual FBOpticalSegment operator[](int pIndex)
[] operator overload.
FBPropertyBool ForceOpticalSamplingRate
Property: Force the use of the optical sampling rate?
FBPropertyGapMode Interpolation
Property: Gap mode.
virtual void DeviceOpticalEvalAllMarkers(FBDeviceNotifyInfo &pDeviceNotifyInfo)
Evaluate all optical markers for the device.
FBPropertyTime MarkerTimeStamp
Property: TimeStamp for marker.
@ kFBControllerLabelling
Labelling controller.
virtual FBRigidBody GetRigidBody()
Get the rigid body for the marker.
virtual int Add(FBModelMarkerOptical *pItem)
Add a new optical marker to the list.
FBPropertyModel ModelOptical
Property: Optical model for manipulation.
virtual int ImportBegin()
Begin import of optical data.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
virtual void InsertControlKey(FBTime &pTime)
Insert a control key for the gap.
Device Input and Output Notification information structure.
FBPropertyVector3d Position
Property: Current position of marker.
FBPropertyTimeSpan MarkerTimeSpan
Property: Marker/Segment timespan.
FBRigidBody(FBModelOptical *pOptical=NULL)
Constructor.
class K_DLLIMPORT FBPropertyBase< FBColor, kFBPT_ColorRGB > FBPropertyColor
FBPropertyColor type definition.
FBPropertyModel Model
Property: Model marker access.
virtual FBOpticalGap operator[](int pIndex)
[] operator overload.
virtual FBModelMarkerOptical * operator[](int pIndex)
[] operator overload.
virtual void AutomaticBuild()
Automatic build.
FBPropertyListOpticalGap Gaps
Property: Gaps.
bool operator==(const FBOpticalSegment &pValue) const
Overloaded == operator.
FBPropertyTimeSpan OriginalTimeSpan
Property: Original timespan for segment.
@ kFBInsertSegmentToEnd
Insert to end.
FBPropertyBool AutoAntialiasing
Property: Is it auto-antialiasing?
@ kFBSegmentMarker
Use marker.
virtual bool FBCreate() override
Open Reality Creation function.
FBPropertyListOpticalSegment Segments
List: Segments.
void SetData(double pX, double pY, double pZ=0.0, double pOcclusion=0.0)
Set data for optical marker.
FBPropertyModelMarkerOptical Marker
Property: Optical marker.
Layout for optical device.
@ kFBGapCurve
Cubic/curve interpolation.
virtual void Cut(FBTime &pTime)
Cut the segment for the marker at a given time.
FBPropertyTime SamplingStart
Read Write Property: Sampling start time.
@ kFBGapRigidBody
Use rigid body information.
virtual FBOpticalSegment operator[](int pIndex)
[] operator overload.
FBSegmentMode
Segment modes.
virtual int Add(FBAnimationNode *pData)
Add a segment to the optical model.
@ kFBRigidBodyBest
Best rigid body mode.
virtual void DeviceIONotify(kDeviceIOs pAction, FBDeviceNotifyInfo &pDeviceNotifyInfo) override
Real-Time engine thread: Device I/O.
FBPropertyBool Done
Property: Done?
virtual int GetCount()
Get the number of properties in the list.
virtual bool AnimationNodeNotify(FBAnimationNode *pAnimationNode, FBEvaluateInfo *pEvaluateInfo) override
Notification function for animation thread.
class K_DLLIMPORT FBPropertyBase< FBTime, kFBPT_Time > FBPropertyTime
Property: FBTime
FBPropertyBool PlayToNextSegment
Property: Play to next segment ?
#define FB_DEFINE_ARRAY(DllTag, Type)
Define an array (template) for a component (discard the FB..).
#define __FBClassDeclare(Name, Parent)
For internal use only.
virtual FBDeviceOpticalMarker * operator[](int pIndex)
Get a marker.
FBPropertyColor Color
Property: Marker color.
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
@ kFBGapLinear
Linear interpolation.
FBPropertyAnimationNode QualityData
Property: Quality of rigid body.
Optical model marker class.
class K_DLLIMPORT FBPropertyBase< FBVector3d, kFBPT_Vector3D > FBPropertyVector3d
FBPropertyVector3d type definition.
virtual int Add(const char *pName=NULL)
Add a marker by name.
FBPropertyModelOptical Optical
Property: Optical model.
virtual void RemoveAt(int pIndex)
Remove property at pIndex.
virtual bool IsValid()
Check if valid (if item exists).
FBPropertyBool Done
Property: Done?
FBPropertyTimeSpan TimeSpan
Property: Current segment timespan.
@ kFBInsertSegmentWhole
Insert whole.
PropertyList: Device optical marker
PropertyList: Device optical marker
FBPropertyTime SamplingPeriod
Read Write Property:Sampling period.
void DeviceOpticalBeginSetup()
Begin device setup.
FBPropertyBool Active
Property: Optical engine for model active?
FBOpticalGap & operator=(const FBOpticalGap &pValue)
Overloaded = operator.
FBPropertyAnimationNode Data
Property: Segment curve data.
virtual void RemoveAt(int pIndex)
Remove property at pIndex.
FBPropertyBool AutoPlayToNextSegment
Property: Automatic play to next segment ?
@ kFBInsertSegmentFromStart
Insert from start.
virtual void RemoveAt(int pIndex)
Remove property at pIndex.
FBPropertyAnimationNode Data
Property: Data.
class K_DLLIMPORT FBArrayTemplate< FBModel * > FBModelList
typedef class FBSDK_DLL FBArrayTemplate<FBModel*> FBModelList;
FBRigidBodyMode
Rigid body modes.
virtual int GetCount()
Get the number of properties in the list.
FBPropertyDouble Occlusion
Property: Occulsion data for marker.
bool operator==(const FBRigidBody &pValue) const
Overloaded == operator.
@ kFBControllerSegment
Segment controller.
@ kFBControllerRigidBody
Rigid body controller.
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
@ kFBSegmentRigidBody
Use rigid body.
virtual bool ImportKey(double pX, double pY, double pZ=0.0, double pOcclusion=0.0)
Import a key of optical data.
FBPropertyTake UsedTake
Property: Take used by optical model.
virtual int GetCount()
Get the number of properties in the list.
@ kFBControllerNone
No controller mode.
virtual int GetCount()
Get the number of properties in the list.
virtual bool IsValid()
Check if valid (if item exists).
virtual bool IsValid()
Check if valid (if item exists).
virtual void RemoveAt(int pIndex)
Remove property at pIndex.
virtual void RemoveAt(int pIndex)
Remove a marker.
@ kFBGenerationFast
Fast re-generation.
virtual void RemoveAt(int pIndex)
Remove property at pIndex.
#define FB_DEFINE_LIST(DllTag, Type)
Define a component list.
virtual void Reset()
Reset the marker segment.
virtual bool FbxStore(FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) override
Storage/Retrieval of information into the FBX file format.
PropertyList: ModelOptical.
FBPropertyListRigidBody RigidBodies
List: Rigid bodies.
virtual void ComputeAnimation()
Compute the rigid body animation.
PropertyList: Concrete class for PropertyList of component
virtual int ExportBegin()
Begin export of optical data.
PropertyList: Device optical marker
virtual void RecordingInitAnimation(FBAnimationNode *pAnimationNode) override
When recording, initialize animation.
FBPropertyListDeviceOpticalMarker Markers
List: Markers.
FBModelOpticalAdvanced(FBModelOptical *pOptical)
Constructor.
virtual FBModelMarkerOptical * operator[](int pIndex)
[] operator overload.
FBModelOptical * operator[](int pIndex)
Get the ModelOptical at pIndex.
FBPropertyBool ShowRigidQuality
Property: Show the rigid quality?
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
virtual int GetCount()
Get the number of properties in the list.
virtual void Snap()
Snap the rigid body.
virtual bool ImportEnd()
End importation and clean up data.
PropertyList: Device optical marker
FBPropertyTimeSpan TimeSpan
Property: Current timespan.
FB_DEFINE_COMPONENT(K_DLLIMPORT, AnimationNode)
Animation node class.
virtual void CropSegmentsAnimation()
Crop segment animation.
virtual int GetCount()
Get the number of properties in the list.
FBControllerMode
Controller modes for optical model.
FBPropertyBool SkipFrame
Property: Skip Record Frame
virtual void SetModelOptical(FBModelOptical *pOptical)
Set the current optical model.
virtual int Add(FBModelMarkerOptical *pItem)
Add a new optical marker to the list.
class K_DLLIMPORT FBPropertyBase< FBTimeSpan, kFBPT_TimeSpan > FBPropertyTimeSpan
Property: FBTimeSpan
virtual int GetIndexAt(FBTime &pTime)
Get the segment index at a given time.
FBPropertyDouble MarkerSize
Read Write Property: Size of markers.
PropertyList: Device optical marker
FBPropertyDouble OpticalSamplingRate
Property: Resampling rate for optical device.
FBInsertSegmentMode
Insert segment modes.
PropertyList: Device optical marker
AnimationNodeNotify evaluation information.
FBPropertyBool SupportOcclusion
Property: Does the device support occulsion?
FBPropertyAnimationNode Data
Property: Gap curve data.
void DeviceOpticalEndSetup()
End device setup.
FBOpticalSegment & operator=(const FBOpticalSegment &pValue)
Overloaded = operator.
MotionBuilder SDK base class.
FBModelOptical(const char *pName, HIObject pObject=NULL)
Constructor.
FBPropertyTime SamplingStop
Read Write Property:Sampling stop time.
@ kFBRigidBodyFast
Fast rigid body mode.
Advanced optical model information.
virtual bool ImportSetup()
Setup importation for optical model.
virtual int Add(const char *pName=NULL)
Add a new optical marker to the list.
virtual bool DeviceOperation(kDeviceOperations pOperation) override
Operate device.
FBDeviceOpticalMarker(const char *pName)
Constructor.
bool operator==(const FBOpticalGap &pValue) const
Overloaded == operator.
FBModelMarkerOptical(const char *pName=NULL, FBModelOptical *pOptical=NULL, HIObject pObject=NULL)
Constructor.
virtual void FBDestroy() override
Open Reality destruction function.
FBPropertyDouble DampingTime
Property: Damping time for device.
FBPropertyGenerationMode GenerationMode
Property: Optical genration mode.
virtual void SkipSegment()
Skip segment.
FBGapMode
Gap interpolation modes.
virtual bool ExportKey(double *pX, double *pY, double *pZ=NULL, double *pOcclusion=NULL)
Export a key of optical data.
FBPropertyAnimationNode Quality
Property: Rigid body quality.
virtual void AcceptAllSegments()
Accept all segments.