Open Reality Reference Guide
fboptical.h
Go to the documentation of this file.
1#ifndef __FBOPTICAL_H__
2#define __FBOPTICAL_H__
3/**************************************************************************
4Copyright (c) 1994 - 2009 Autodesk, Inc. and/or its licensors.
5All Rights Reserved.
6
7The coded instructions, statements, computer programs, and/or related
8material (collectively the "Data") in these files contain unpublished
9information proprietary to Autodesk, Inc. and/or its licensors, which is
10protected by Canada and United States of America federal copyright law
11and by international treaties.
12
13The Data may not be disclosed or distributed to third parties, in whole
14or in part, without the prior written consent of Autodesk, Inc.
15("Autodesk").
16
17THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY.
18ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO
19WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR
20ARISING BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES
21OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
22PURPOSE OR USE. WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT
23WARRANT THAT THE OPERATION OF THE DATA WILL BE UNINTERRUPTED OR ERROR
24FREE.
25
26IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS
27OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR
28EXPENSES OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE
29DAMAGES OR OTHER SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS
30OF PROFITS, REVENUE OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR
31DAMAGES OF ANY KIND), HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF
32LIABILITY, WHETHER DERIVED FROM CONTRACT, TORT (INCLUDING, BUT NOT
33LIMITED TO, NEGLIGENCE), OR OTHERWISE, ARISING OUT OF OR RELATING TO THE
34DATA OR ITS USE OR ANY OTHER PERFORMANCE, WHETHER OR NOT AUTODESK HAS
35BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE.
36
37**************************************************************************/
38
43#include <kaydaradef.h>
44#ifndef FBSDK_DLL
48#define FBSDK_DLL K_DLLIMPORT
49#endif
50
51#ifndef FB_KERNEL
52
53#include <fbsdk/fbcomponent.h>
54#include <fbsdk/fbmodel.h>
55
56#ifdef FBSDKUseNamespace
57namespace FBSDKNamespace {
58#endif
59
61
62 FB_DEFINE_COMPONENT( FBSDK_DLL, ModelOptical );
63 FB_DEFINE_COMPONENT( FBSDK_DLL, ModelMarkerOptical );
64 FB_DEFINE_COMPONENT( FBSDK_DLL, RigidBody );
66
68 // FBOpticalSegement
73 {
75 public:
80
85
90 bool operator==(const FBOpticalSegment &pValue) const;
91
97
100 virtual void Reset();
101
105 virtual void Cut( FBTime& pTime );
106
110 virtual bool IsValid();
111
112 // original
115 FBPropertyAnimationNode Data;
117
118 // from marker
119 FBPropertyModelMarkerOptical Marker;
121
122 friend class FBPropertyListOpticalSegment;
123 friend class FBPropertyListMarkerSegment;
124
125 private:
126 void FBOpticalSegmentInitProperties();
127 };
128 FB_DEFINE_COMPONENT ( FBSDK_DLL, OpticalSegment );
129 FB_DEFINE_ARRAY ( FBSDK_DLL, OpticalSegment );
130 FB_DEFINE_LIST ( FBSDK_DLL, OpticalSegment );
131
133 // FBPropertyListMarkerSegment
136
139 {
140 private:
142 virtual int Add( FBOpticalSegment pItem );
143 virtual void Refresh();
144 public:
150 virtual void RemoveAt ( int pIndex );
151
156 virtual FBOpticalSegment operator[]( int pIndex );
157
161 virtual int GetCount();
162
167 virtual int GetIndexAt( FBTime& pTime );
168 };
169
171 // FBPropertyListOpticalSegment
174 FB_DEFINE_LIST( FBSDK_DLL, OpticalSegment );
175
178 {
179 private:
181 virtual int Add( FBOpticalSegment pItem );
182 virtual void Refresh();
183 public:
189 virtual void RemoveAt( int pIndex );
190
195 virtual FBOpticalSegment operator[]( int pIndex );
196
200 virtual int GetCount();
201
206 virtual int Add( FBAnimationNode* pData );
207 };
208
210 // Gap mode
220 };
221 FB_DEFINE_ENUM( FBSDK_DLL, GapMode );
222
224 // FBOpticalGap
229 {
231 public:
236
241
246 bool operator==(const FBOpticalGap &pValue) const;
247
253
257 virtual void InsertControlKey( FBTime& pTime );
258
262 virtual bool IsValid();
263
265 FBPropertyGapMode Interpolation;
266 FBPropertyAnimationNode Data;
267
268 friend class FBPropertyListOpticalGap;
269
270 private:
271 void FBOpticalGapInitProperties();
272 };
273 FB_DEFINE_COMPONENT ( FBSDK_DLL, OpticalGap );
274 FB_DEFINE_ARRAY ( FBSDK_DLL, OpticalGap );
275 FB_DEFINE_LIST ( FBSDK_DLL, OpticalGap );
276
278 // FBPropertyListOpticalGap
281
284 {
285 private:
287 virtual int Add( FBOpticalGap pItem );
288 virtual void RemoveAt( int pIndex );
289 virtual void Refresh();
290 public:
297 virtual FBOpticalGap operator[]( int pIndex );
298
302 virtual int GetCount();
303 };
304
306 // FBModelMarkerOptical
311 {
313 public:
320 FBModelMarkerOptical(const char *pName = NULL, FBModelOptical* pOptical=NULL, HIObject pObject=NULL );
321
327 virtual int ImportBegin();
328
336 virtual bool ImportKey( double pX, double pY, double pZ=0.0, double pOcclusion=0.0 );
337
342 virtual bool ImportEnd();
343
349 virtual int ExportBegin();
350
358 virtual bool ExportKey( double *pX, double *pY, double *pZ=NULL, double *pOcclusion=NULL );
359
363 virtual bool ExportEnd();
364
368 virtual void SetModelOptical( FBModelOptical* pOptical );
369
374 virtual void InsertSegmentedData( FBAnimationNode* pTData, FBAnimationNode* pOData );
375
380
381 FBPropertyModelOptical Optical;
386 FBPropertyAnimationNode Data;
387 private:
388 void FBModelMarkerOpticalInitProperties();
389 };
390 FB_DEFINE_ARRAY ( FBSDK_DLL, ModelMarkerOptical );
391 FB_DEFINE_LIST ( FBSDK_DLL, ModelMarkerOptical );
392
394 // FBPropertyListModelMarkerOptical
397
399 class FBSDK_DLL FBPropertyListModelMarkerOptical : public FBPropertyBaseList< FBModelMarkerOptical* >
400 {
401 private:
403 public:
407 virtual void Refresh ();
408
412 virtual void RemoveAt( int pIndex );
413
418 virtual FBModelMarkerOptical* operator[]( int pIndex );
419
423 virtual int GetCount ();
424
428 virtual int Add( const char* pName = NULL );
429
433 virtual int Add( FBModelMarkerOptical* pItem );
434 };
435
437 // FBPropertyListRigidBodyMarkers
440 FB_DEFINE_LIST( FBSDK_DLL, ModelMarkerOptical );
441
443 class FBSDK_DLL FBPropertyListRigidBodyMarkers : public FBPropertyBaseList< FBModelMarkerOptical* >
444 {
445 private:
447 public:
451 virtual void Refresh();
452
456 virtual void RemoveAt( int pIndex );
457
462 virtual FBModelMarkerOptical* operator[]( int pIndex );
463
467 virtual int GetCount ();
468
469 public:
473 virtual int Add( const char* pName = NULL );
478 virtual int Add( FBModelMarkerOptical* pItem );
479 };
480
482 // Rigid body mode
488 };
489 FB_DEFINE_ENUM( FBSDK_DLL, RigidBodyMode );
490
492 // FBRigidBody
497 {
499 public:
504
508 FBRigidBody( const FBRigidBody &pRigidBody );
509
514 bool operator==(const FBRigidBody &pValue) const;
515
521
524 virtual void Snap();
525
528 virtual void ComputeAnimation();
529
533 virtual bool IsValid();
534
536 FBPropertyModel Model;
537 FBPropertyAnimationNode QualityData;
539 FBPropertyRigidBodyMode Mode;
541
542 friend class FBPropertyListRigidBody;
543 private:
544 void FBRigidBodyInitProperties();
545
546 };
547 FB_DEFINE_ARRAY ( FBSDK_DLL, RigidBody );
548 FB_DEFINE_LIST ( FBSDK_DLL, RigidBody );
549
551 // FBPropertyListRigidBody
554
557 {
558 private:
560 virtual int Add ( FBRigidBody pItem );
561 virtual void Refresh ();
562 public:
564 virtual ~FBPropertyListRigidBody();
568 virtual void RemoveAt( int pIndex );
569
574 virtual FBRigidBody operator[]( int pIndex );
575
579 virtual int GetCount();
580
586 virtual int Add( FBModelList& pList, const char* pName=NULL);
587 };
588
590 // FBModelOptical
595 {
597 public:
602 FBModelOptical(const char * pName, HIObject pObject=NULL);
603
607 virtual bool ImportSetup();
608
612 virtual bool ExportSetup();
613
617 virtual void ClearSegments( bool pUnUsedOnly = true );
618
625
630
634 };
635
636
638 // FBPropertyListModelOptical
640 FB_DEFINE_LIST( FBSDK_DLL, ModelOptical );
642
645 {
646 public:
653 };
654
655
657 // FBGenerationMode
663 };
664 FB_DEFINE_ENUM( FBSDK_DLL, GenerationMode );
665
667 // FBControllerMode
675 };
676 FB_DEFINE_ENUM( FBSDK_DLL, ControllerMode );
677
679 // FBSegmentMode
686 };
687 FB_DEFINE_ENUM( FBSDK_DLL, SegmentMode );
688
690 // FBInsertSegmentMode
697 };
698 FB_DEFINE_ENUM( FBSDK_DLL, InsertSegmentMode );
699
701 // FBModelOpticalAdvanced
706 {
708 public:
713
715 virtual void AcceptAllSegments();
716
718 virtual void AcceptSegment();
719
721 virtual void SkipSegment();
722
724 virtual void AutomaticBuild();
725
727 virtual void CropSegmentsAnimation();
728
729 FBPropertyAnimationNode Quality;
731 FBPropertyGenerationMode GenerationMode;
732 FBPropertyControllerMode ControllerMode;
733 FBPropertySegmentMode SegmentMode;
734 FBPropertyInsertSegmentMode InsertSegmentMode;
739 FBPropertyTake UsedTake;
740 };
741
743 // FBDeviceOpticalMarker
753 public:
757 FBDeviceOpticalMarker(const char *pName);
758
765 void SetData(double pX, double pY, double pZ=0.0, double pOcclusion=0.0);
766
770 FBPropertyModel Model;
771 };
772 FB_DEFINE_ARRAY ( FBSDK_DLL, DeviceOpticalMarker );
773 FB_DEFINE_LIST ( FBSDK_DLL, DeviceOpticalMarker );
774
776 // FBPropertyListDeviceOpticalMarker
779
781 class FBSDK_DLL FBPropertyListDeviceOpticalMarker : public FBPropertyBaseList< FBDeviceOpticalMarker* >
782 {
784 virtual int Add ( FBDeviceOpticalMarker* pItem );
785 public:
791 virtual void RemoveAt( int pIndex );
796 virtual FBDeviceOpticalMarker* operator[](int pIndex);
800 virtual int GetCount();
801
806 virtual int Add( const char *pName=NULL );
807 };
808
810 // FBDeviceOptical
815 {
817 public:
818 friend class FBDeviceOpticalLayout;
819 //IObject_Declare ( override );
824 FBDeviceOptical(const char* pName, HIObject pObject=NULL);
825
830 FBPropertyModel ModelOptical;
831
835
838
839 //----Does marker management----
844
850 virtual void DeviceOpticalEvalAllMarkers(FBDeviceNotifyInfo &pDeviceNotifyInfo);
851
857 virtual void DeviceOpticalRecordFrame(FBTime &pTime,FBDeviceNotifyInfo &pDeviceNotifyInfo);
858
859 //--- See base class ---
860
861 // Standard FBX interface functions
862 virtual bool FbxStore(FBFbxObject* pFbxObject,kFbxObjectStore pStoreWhat) override;
863 virtual bool FbxRetrieve(FBFbxObject* pFbxObject,kFbxObjectStore pStoreWhat) override;
864
865 // Standard device virtual functions creation/destruction
866 virtual bool FBCreate() override;
867 virtual void FBDestroy() override;
868
869 // Standard device virtual functions evaluation
870 virtual bool AnimationNodeNotify(FBAnimationNode* pAnimationNode,FBEvaluateInfo* pEvaluateInfo) override;
871 virtual void DeviceIONotify(kDeviceIOs pAction,FBDeviceNotifyInfo &pDeviceNotifyInfo) override;
872
873 // Standard device virtual functions recording for animation.
874 virtual void RecordingInitAnimation(FBAnimationNode* pAnimationNode) override;
875 virtual void RecordingDoneAnimation(FBAnimationNode* pAnimationNode) override;
876 };
877
878#ifdef FBSDKUseNamespace
879}
880#endif
881
882#endif
883#endif
MotionBuilder SDK base class.
Definition: fbcomponent.h:651
Base Device class.
Definition: fbcore.h:805
kDeviceIOs
Types of I/O for device.
Definition: fbcore.h:823
Device Input and Output Notification information structure.
Definition: fbcore.h:597
Optical device class.
Definition: fboptical.h:815
FBPropertyBool SupportOcclusion
Property: Does the device support occulsion?
Definition: fboptical.h:827
virtual bool AnimationNodeNotify(FBAnimationNode *pAnimationNode, FBEvaluateInfo *pEvaluateInfo) override
Notification function for animation thread.
virtual void DeviceOpticalRecordFrame(FBTime &pTime, FBDeviceNotifyInfo &pDeviceNotifyInfo)
Record a frame of information from device.
virtual void FBDestroy() override
Open Reality destruction function.
FBPropertyDouble DampingTime
Property: Damping time for device.
Definition: fboptical.h:829
virtual void RecordingDoneAnimation(FBAnimationNode *pAnimationNode) override
When recording, finish animation.
FBPropertyTime MarkerTimeStamp
Property: TimeStamp for marker.
Definition: fboptical.h:837
FBPropertyDouble OpticalSamplingRate
Property: Resampling rate for optical device.
Definition: fboptical.h:833
virtual void DeviceIONotify(kDeviceIOs pAction, FBDeviceNotifyInfo &pDeviceNotifyInfo) override
Real-Time engine thread: Device I/O.
void DeviceOpticalBeginSetup()
Begin device setup.
virtual bool FbxStore(FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) override
Storage/Retrieval of information into the FBX file format.
FBPropertyListDeviceOpticalMarker Markers
List: Markers.
Definition: fboptical.h:826
FBPropertyBool UseMarkerTimeStamp
Property: Use the individual marker timestamps?
Definition: fboptical.h:834
FBPropertyBool ForceOpticalSamplingRate
Property: Force the use of the optical sampling rate?
Definition: fboptical.h:832
virtual bool FBCreate() override
Open Reality Creation function.
FBPropertyBool SkipFrame
Property: Skip Record Frame
Definition: fboptical.h:836
FBDeviceOptical(const char *pName, HIObject pObject=NULL)
Constructor.
void DeviceOpticalEndSetup()
End device setup.
virtual void RecordingInitAnimation(FBAnimationNode *pAnimationNode) override
When recording, initialize animation.
FBPropertyModel ModelOptical
Property: Optical model for manipulation.
Definition: fboptical.h:830
FBPropertyBool AutoAntialiasing
Property: Is it auto-antialiasing?
Definition: fboptical.h:828
virtual void DeviceOpticalEvalAllMarkers(FBDeviceNotifyInfo &pDeviceNotifyInfo)
Evaluate all optical markers for the device.
Layout for optical device.
Device optical marker.
Definition: fboptical.h:751
FBPropertyVector3d Position
Property: Current position of marker.
Definition: fboptical.h:768
FBPropertyDouble Occlusion
Property: Occulsion data for marker.
Definition: fboptical.h:769
void SetData(double pX, double pY, double pZ=0.0, double pOcclusion=0.0)
Set data for optical marker.
FBPropertyModel Model
Property: Model marker access.
Definition: fboptical.h:770
FBPropertyBool IsUsed
Property: Is marker used?
Definition: fboptical.h:767
FBDeviceOpticalMarker(const char *pName)
Constructor.
AnimationNodeNotify evaluation information.
FBX file interface.
Definition: fbfbx.h:80
Model class.
Definition: fbmodel.h:274
Model marker class.
Definition: fbmodel.h:872
Optical model marker class.
Definition: fboptical.h:311
FBPropertyAnimationNode Data
Property: Data.
Definition: fboptical.h:386
FBModelMarkerOptical(const char *pName=NULL, FBModelOptical *pOptical=NULL, HIObject pObject=NULL)
Constructor.
virtual void InsertSegmentedData(FBAnimationNode *pTData, FBAnimationNode *pOData)
Insert segmented data.
virtual int ExportBegin()
Begin export of optical data.
FBPropertyBool Done
Property: Done?
Definition: fboptical.h:385
virtual bool ExportKey(double *pX, double *pY, double *pZ=NULL, double *pOcclusion=NULL)
Export a key of optical data.
virtual int ImportBegin()
Begin import of optical data.
virtual FBRigidBody GetRigidBody()
Get the rigid body for the marker.
virtual bool ImportKey(double pX, double pY, double pZ=0.0, double pOcclusion=0.0)
Import a key of optical data.
FBPropertyModelOptical Optical
Property: Optical model.
Definition: fboptical.h:381
virtual bool ExportEnd()
End exportation from optical model.
FBPropertyColor Color
Property: Marker color.
Definition: fboptical.h:384
virtual bool ImportEnd()
End importation and clean up data.
virtual void SetModelOptical(FBModelOptical *pOptical)
Set the current optical model.
FBPropertyListOpticalGap Gaps
Property: Gaps.
Definition: fboptical.h:383
FBPropertyListMarkerSegment Segments
Property: Marker segments.
Definition: fboptical.h:382
Advanced optical model information.
Definition: fboptical.h:706
FBPropertyBool ShowRigidQuality
Property: Show the rigid quality?
Definition: fboptical.h:730
FBPropertyTake UsedTake
Property: Take used by optical model.
Definition: fboptical.h:739
FBPropertyInsertSegmentMode InsertSegmentMode
Property: Insert segment mode.
Definition: fboptical.h:734
FBPropertyControllerMode ControllerMode
Property: Controller mode.
Definition: fboptical.h:732
FBPropertyDouble MaxMatchDistance
Property: Max matching distance.
Definition: fboptical.h:737
FBModelOpticalAdvanced(FBModelOptical *pOptical)
Constructor.
virtual void AutomaticBuild()
Automatic build.
FBPropertyBool AutoPlayToNextSegment
Property: Automatic play to next segment ?
Definition: fboptical.h:736
FBPropertyBool PlayToNextSegment
Property: Play to next segment ?
Definition: fboptical.h:735
FBPropertyAnimationNode Quality
Property: Rigid body quality.
Definition: fboptical.h:729
virtual void SkipSegment()
Skip segment.
virtual void CropSegmentsAnimation()
Crop segment animation.
virtual void AcceptAllSegments()
Accept all segments.
virtual void AcceptSegment()
Accept current segment.
FBPropertySegmentMode SegmentMode
Property: Segment mode.
Definition: fboptical.h:733
FBPropertyBool Active
Property: Optical engine for model active?
Definition: fboptical.h:738
FBPropertyGenerationMode GenerationMode
Property: Optical genration mode.
Definition: fboptical.h:731
Optical model class.
Definition: fboptical.h:595
FBModelOptical(const char *pName, HIObject pObject=NULL)
Constructor.
FBPropertyListRigidBody RigidBodies
List: Rigid bodies.
Definition: fboptical.h:633
virtual bool ExportSetup()
Setup exportation from optical model.
FBPropertyDouble MarkerSize
Read Write Property: Size of markers.
Definition: fboptical.h:626
FBPropertyListOpticalSegment Segments
List: Segments.
Definition: fboptical.h:632
FBRigidBody CreateRigidBody(const char *pRigidBodyName, FBArrayTemplate< FBModelMarkerOptical * > pMarkers)
Create a new rigid body from the given optical markers.
FBPropertyTime SamplingStop
Read Write Property:Sampling stop time.
Definition: fboptical.h:628
virtual bool ImportSetup()
Setup importation for optical model.
FBPropertyTime SamplingStart
Read Write Property: Sampling start time.
Definition: fboptical.h:627
virtual void ClearSegments(bool pUnUsedOnly=true)
Clear the segments (by default only the unused).
FBPropertyListModelMarkerOptical Markers
List: Markers.
Definition: fboptical.h:631
FBPropertyTime SamplingPeriod
Read Write Property:Sampling period.
Definition: fboptical.h:629
Optical Gap class.
Definition: fboptical.h:229
FBPropertyAnimationNode Data
Property: Gap curve data.
Definition: fboptical.h:266
virtual void InsertControlKey(FBTime &pTime)
Insert a control key for the gap.
FBPropertyTimeSpan TimeSpan
Property: Current timespan.
Definition: fboptical.h:264
FBOpticalGap & operator=(const FBOpticalGap &pValue)
Overloaded = operator.
FBOpticalGap(const FBOpticalGap &pGap)
Constructor (copy).
FBOpticalGap(FBModelMarkerOptical *pMarker=NULL)
Constructor.
bool operator==(const FBOpticalGap &pValue) const
Overloaded == operator.
virtual bool IsValid()
Check if valid (if item exists).
FBPropertyGapMode Interpolation
Property: Gap mode.
Definition: fboptical.h:265
Optical segment class.
Definition: fboptical.h:73
FBPropertyAnimationNode Data
Property: Segment curve data.
Definition: fboptical.h:115
FBPropertyTimeSpan TimeSpan
Property: Current segment timespan.
Definition: fboptical.h:114
FBOpticalSegment(const FBOpticalSegment &pSegment)
Constructor.
virtual void Reset()
Reset the marker segment.
FBOpticalSegment(FBModelOptical *pOptical=NULL)
Constructor.
virtual void Cut(FBTime &pTime)
Cut the segment for the marker at a given time.
bool operator==(const FBOpticalSegment &pValue) const
Overloaded == operator.
FBPropertyBool Used
Property: Is segment used?
Definition: fboptical.h:116
FBOpticalSegment & operator=(const FBOpticalSegment &pValue)
Overloaded = operator.
FBPropertyModelMarkerOptical Marker
Property: Optical marker.
Definition: fboptical.h:119
FBPropertyTimeSpan OriginalTimeSpan
Property: Original timespan for segment.
Definition: fboptical.h:113
virtual bool IsValid()
Check if valid (if item exists).
FBPropertyTimeSpan MarkerTimeSpan
Property: Marker/Segment timespan.
Definition: fboptical.h:120
PropertyList: Concrete class for PropertyList of component
Definition: fbcomponent.h:536
PropertyList: Device optical marker
Definition: fboptical.h:782
virtual int Add(const char *pName=NULL)
Add a marker by name.
virtual void RemoveAt(int pIndex)
Remove a marker.
virtual FBDeviceOpticalMarker * operator[](int pIndex)
Get a marker.
virtual int GetCount()
Get the marker count.
PropertyList: Device optical marker
Definition: fboptical.h:139
virtual void RemoveAt(int pIndex)
Remove property at pIndex.
virtual FBOpticalSegment operator[](int pIndex)
[] operator overload.
virtual int GetIndexAt(FBTime &pTime)
Get the segment index at a given time.
virtual int GetCount()
Get the number of properties in the list.
PropertyList: Device optical marker
Definition: fboptical.h:400
virtual int Add(const char *pName=NULL)
Add a new optical marker to the list.
virtual void RemoveAt(int pIndex)
Remove property at pIndex.
virtual void Refresh()
Refresh marker list.
virtual int Add(FBModelMarkerOptical *pItem)
Add a new optical marker to the list.
virtual FBModelMarkerOptical * operator[](int pIndex)
[] operator overload.
virtual int GetCount()
Get the number of properties in the list.
PropertyList: ModelOptical.
Definition: fboptical.h:645
FBModelOptical * operator[](int pIndex)
Get the ModelOptical at pIndex.
PropertyList: Device optical marker
Definition: fboptical.h:284
virtual FBOpticalGap operator[](int pIndex)
[] operator overload.
virtual int GetCount()
Get the number of properties in the list.
PropertyList: Device optical marker
Definition: fboptical.h:178
virtual void RemoveAt(int pIndex)
Remove property at pIndex.
virtual FBOpticalSegment operator[](int pIndex)
[] operator overload.
virtual int Add(FBAnimationNode *pData)
Add a segment to the optical model.
virtual int GetCount()
Get the number of properties in the list.
PropertyList: Device optical marker
Definition: fboptical.h:557
virtual void RemoveAt(int pIndex)
Remove property at pIndex.
virtual FBRigidBody operator[](int pIndex)
[] operator overload.
virtual int Add(FBModelList &pList, const char *pName=NULL)
Add a new rigid body to the list.
virtual int GetCount()
Get the number of properties in the list.
PropertyList: Device optical marker
Definition: fboptical.h:444
virtual int Add(const char *pName=NULL)
Add a new optical marker to the list.
virtual void RemoveAt(int pIndex)
Remove property at pIndex.
virtual void Refresh()
Refresh marker list.
virtual int Add(FBModelMarkerOptical *pItem)
Add a new optical marker to the list.
virtual FBModelMarkerOptical * operator[](int pIndex)
[] operator overload.
virtual int GetCount()
Get the number of properties in the list.
Rigid body class.
Definition: fboptical.h:497
FBRigidBody & operator=(const FBRigidBody &pValue)
Overloaded = operator.
FBPropertyBool Done
Property: Done?
Definition: fboptical.h:538
FBRigidBody(const FBRigidBody &pRigidBody)
Constructor.
FBPropertyAnimationNode QualityData
Property: Quality of rigid body.
Definition: fboptical.h:537
FBPropertyListRigidBodyMarkers Markers
Property: List of markers composing the rigid body.
Definition: fboptical.h:535
FBPropertyModel Model
Property: Rigid body model.
Definition: fboptical.h:536
virtual void Snap()
Snap the rigid body.
bool operator==(const FBRigidBody &pValue) const
Overloaded == operator.
FBPropertyInt SmoothWidth
Property: Smoothing width.
Definition: fboptical.h:540
FBPropertyRigidBodyMode Mode
Property: Rigid body mode.
Definition: fboptical.h:539
virtual bool IsValid()
Check if valid (if item exists).
virtual void ComputeAnimation()
Compute the rigid body animation.
FBRigidBody(FBModelOptical *pOptical=NULL)
Constructor.
Time data structure.
Definition: fbtime.h:88
#define FB_DEFINE_ARRAY(DllTag, Type)
Define an array (template) for a component (discard the FB..).
Definition: fbarray.h:360
class K_DLLIMPORT FBArrayTemplate< FBModel * > FBModelList
typedef class FBSDK_DLL FBArrayTemplate<FBModel*> FBModelList;
Definition: fbcharacter.h:597
Basic class definitions.
#define __FBClassDeclare(Name, Parent)
For internal use only.
Definition: fbcomponent.h:131
FB_DEFINE_COMPONENT(K_DLLIMPORT, AnimationNode)
Animation node class.
Base class for Cameras.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
Definition: fboptical.h:48
FBGenerationMode
Generation modes for optical model.
Definition: fboptical.h:660
@ kFBGenerationFast
Fast re-generation.
Definition: fboptical.h:662
@ kFBGenerationNone
No re-generation.
Definition: fboptical.h:661
FBRigidBodyMode
Rigid body modes.
Definition: fboptical.h:485
@ kFBRigidBodyFast
Fast rigid body mode.
Definition: fboptical.h:486
@ kFBRigidBodyBest
Best rigid body mode.
Definition: fboptical.h:487
FBGapMode
Gap interpolation modes.
Definition: fboptical.h:213
@ kFBGapCurve
Cubic/curve interpolation.
Definition: fboptical.h:218
@ kFBGapRigidBody
Use rigid body information.
Definition: fboptical.h:214
@ kFBGapBezier
Bezier interpolation.
Definition: fboptical.h:217
@ kFBGapSample
Sampled data.
Definition: fboptical.h:219
@ kFBGapConstant
Constant interpolation.
Definition: fboptical.h:215
@ kFBGapLinear
Linear interpolation.
Definition: fboptical.h:216
FBSegmentMode
Segment modes.
Definition: fboptical.h:682
@ kFBSegmentMarker
Use marker.
Definition: fboptical.h:683
@ kFBSegmentAll
Use all.
Definition: fboptical.h:685
@ kFBSegmentRigidBody
Use rigid body.
Definition: fboptical.h:684
FBControllerMode
Controller modes for optical model.
Definition: fboptical.h:670
@ kFBControllerRigidBody
Rigid body controller.
Definition: fboptical.h:674
@ kFBControllerSegment
Segment controller.
Definition: fboptical.h:673
@ kFBControllerNone
No controller mode.
Definition: fboptical.h:671
@ kFBControllerLabelling
Labelling controller.
Definition: fboptical.h:672
FBInsertSegmentMode
Insert segment modes.
Definition: fboptical.h:693
@ kFBInsertSegmentFromStart
Insert from start.
Definition: fboptical.h:696
@ kFBInsertSegmentToEnd
Insert to end.
Definition: fboptical.h:695
@ kFBInsertSegmentWhole
Insert whole.
Definition: fboptical.h:694
class K_DLLIMPORT FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
class K_DLLIMPORT FBPropertyBase< FBVector3d, kFBPT_Vector3D > FBPropertyVector3d
FBPropertyVector3d type definition.
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
#define FB_DEFINE_LIST(DllTag, Type)
Define a component list.
Definition: fbproperties.h:163
class K_DLLIMPORT FBPropertyBase< FBTime, kFBPT_Time > FBPropertyTime
Property: FBTime
class K_DLLIMPORT FBPropertyBase< FBTimeSpan, kFBPT_TimeSpan > FBPropertyTimeSpan
Property: FBTimeSpan
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
Definition: fbproperties.h:150
class K_DLLIMPORT FBPropertyBase< FBColor, kFBPT_ColorRGB > FBPropertyColor
FBPropertyColor type definition.
class K_DLLIMPORT FBPropertyBase< double, kFBPT_double > FBPropertyDouble
Property: double
kFbxObjectStore
Description of the different store/retrieve passes of the FBX format.
Definition: fbtypes.h:74
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition: fbtypes.h:62
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition: fbtypes.h:68