Open Reality Reference Guide
fboptical.h
Go to the documentation of this file.
1 #ifndef __FBOPTICAL_H__
2 #define __FBOPTICAL_H__
3 /**************************************************************************
4 Copyright (c) 1994 - 2009 Autodesk, Inc. and/or its licensors.
5 All Rights Reserved.
6 
7 The coded instructions, statements, computer programs, and/or related
8 material (collectively the "Data") in these files contain unpublished
9 information proprietary to Autodesk, Inc. and/or its licensors, which is
10 protected by Canada and United States of America federal copyright law
11 and by international treaties.
12 
13 The Data may not be disclosed or distributed to third parties, in whole
14 or in part, without the prior written consent of Autodesk, Inc.
15 ("Autodesk").
16 
17 THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY.
18 ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO
19 WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR
20 ARISING BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES
21 OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
22 PURPOSE OR USE. WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT
23 WARRANT THAT THE OPERATION OF THE DATA WILL BE UNINTERRUPTED OR ERROR
24 FREE.
25 
26 IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS
27 OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR
28 EXPENSES OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE
29 DAMAGES OR OTHER SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS
30 OF PROFITS, REVENUE OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR
31 DAMAGES OF ANY KIND), HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF
32 LIABILITY, WHETHER DERIVED FROM CONTRACT, TORT (INCLUDING, BUT NOT
33 LIMITED TO, NEGLIGENCE), OR OTHERWISE, ARISING OUT OF OR RELATING TO THE
34 DATA OR ITS USE OR ANY OTHER PERFORMANCE, WHETHER OR NOT AUTODESK HAS
35 BEEN 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
57 namespace 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 
84  FBOpticalSegment( const FBOpticalSegment &pSegment );
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 
138  class FBSDK_DLL FBPropertyListMarkerSegment : public FBPropertyBaseList< FBOpticalSegment >
139  {
140  private:
142  virtual int Add( FBOpticalSegment pItem );
143  virtual void Refresh();
144  public:
146  virtual ~FBPropertyListMarkerSegment();
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 
177  class FBSDK_DLL FBPropertyListOpticalSegment : public FBPropertyBaseList< FBOpticalSegment >
178  {
179  private:
181  virtual int Add( FBOpticalSegment pItem );
182  virtual void Refresh();
183  public:
185  virtual ~FBPropertyListOpticalSegment();
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
213  enum FBGapMode {
219  kFBGapSample
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:
292  virtual ~FBPropertyListOpticalGap();
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:
503  FBRigidBody(FBModelOptical* pOptical=NULL);
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 
624  FBRigidBody CreateRigidBody( const char* pRigidBodyName, FBArrayTemplate<FBModelMarkerOptical*> pMarkers );
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(const FBOpticalGap &pGap)
Constructor (copy).
FBOpticalGap & operator=(const FBOpticalGap &pValue)
Overloaded = operator.
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.
FBOpticalSegment & operator=(const FBOpticalSegment &pValue)
Overloaded = operator.
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
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 FBModelMarkerOptical * operator[](int pIndex)
[] operator overload.
virtual int Add(FBModelMarkerOptical *pItem)
Add a new optical marker to the list.
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 FBModelMarkerOptical * operator[](int pIndex)
[] operator overload.
virtual int Add(FBModelMarkerOptical *pItem)
Add a new optical marker to the list.
virtual int GetCount()
Get the number of properties in the list.
Rigid body class.
Definition: fboptical.h:497
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
FBRigidBody & operator=(const FBRigidBody &pValue)
Overloaded = operator.
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