Open Reality Reference Guide
 
Loading...
Searching...
No Matches
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
Template class to contain an array of items.
Definition fbarray.h:78
MotionBuilder SDK base class.
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
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;
Basic class definitions.
#define __FBClassDeclare(Name, Parent)
For internal use only.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
Base class for Cameras.
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.
class K_DLLIMPORT FBPropertyBase< FBTime, kFBPT_Time > FBPropertyTime
Property: FBTime
#define FB_DEFINE_COMPONENT(DllTag, Type)
Define a component and give it the ability to be a property.
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.
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