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
45 
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 function device operation notify
870  virtual bool DeviceOperation( kDeviceOperations pOperation ) override;
871 
872  // Standard device virtual functions evaluation
873  virtual bool AnimationNodeNotify(FBAnimationNode* pAnimationNode,FBEvaluateInfo* pEvaluateInfo) override;
874  virtual void DeviceIONotify(kDeviceIOs pAction,FBDeviceNotifyInfo &pDeviceNotifyInfo) override;
875 
876  // Standard device virtual functions recording for animation.
877  virtual void RecordingInitAnimation(FBAnimationNode* pAnimationNode) override;
878  virtual void RecordingDoneAnimation(FBAnimationNode* pAnimationNode) override;
879  };
880 
881 #ifdef FBSDKUseNamespace
882 }
883 #endif
884 
885 #endif
886 #endif
FBModelOpticalAdvanced::AcceptSegment
virtual void AcceptSegment()
Accept current segment.
FBPropertyListDeviceOpticalMarker::GetCount
virtual int GetCount()
Get the marker count.
FBOpticalSegment
Optical segment class.
Definition: fboptical.h:73
FBModelOptical::ClearSegments
virtual void ClearSegments(bool pUnUsedOnly=true)
Clear the segments (by default only the unused).
FBModelOpticalAdvanced::SegmentMode
FBPropertySegmentMode SegmentMode
Property: Segment mode.
Definition: fboptical.h:733
FBDeviceOpticalMarker::IsUsed
FBPropertyBool IsUsed
Property: Is marker used?
Definition: fboptical.h:767
FBOpticalSegment::FBOpticalSegment
FBOpticalSegment(const FBOpticalSegment &pSegment)
Constructor.
FBModelMarker
Model marker class.
Definition: fbmodel.h:868
FBPropertyListRigidBodyMarkers::Add
virtual int Add(const char *pName=NULL)
Add a new optical marker to the list.
FBDeviceOptical::UseMarkerTimeStamp
FBPropertyBool UseMarkerTimeStamp
Property: Use the individual marker timestamps?
Definition: fboptical.h:834
kFbxObjectStore
kFbxObjectStore
Description of the different store/retrieve passes of the FBX format.
Definition: fbtypes.h:74
FBPropertyListOpticalGap
PropertyList: Device optical marker
Definition: fboptical.h:284
kFBGapSample
@ kFBGapSample
Sampled data.
Definition: fboptical.h:219
FBDevice::kDeviceOperations
kDeviceOperations
Types of operations for device.
Definition: fbcore.h:783
FBRigidBody::Mode
FBPropertyRigidBodyMode Mode
Property: Rigid body mode.
Definition: fboptical.h:539
FBOpticalGap
Optical Gap class.
Definition: fboptical.h:229
FBDeviceOptical::DeviceOpticalRecordFrame
virtual void DeviceOpticalRecordFrame(FBTime &pTime, FBDeviceNotifyInfo &pDeviceNotifyInfo)
Record a frame of information from device.
FBOpticalSegment::FBOpticalSegment
FBOpticalSegment(FBModelOptical *pOptical=NULL)
Constructor.
FBModelOptical::ExportSetup
virtual bool ExportSetup()
Setup exportation from optical model.
FB_DEFINE_ENUM
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
Definition: fbproperties.h:150
FBModelMarkerOptical::ExportEnd
virtual bool ExportEnd()
End exportation from optical model.
FBModelOpticalAdvanced::ControllerMode
FBPropertyControllerMode ControllerMode
Property: Controller mode.
Definition: fboptical.h:732
FBDevice::kDeviceIOs
kDeviceIOs
Types of I/O for device.
Definition: fbcore.h:795
FBRigidBody::operator=
FBRigidBody & operator=(const FBRigidBody &pValue)
Overloaded = operator.
FBAnimationNode
Definition: fbdata.h:1047
FBModelOptical::CreateRigidBody
FBRigidBody CreateRigidBody(const char *pRigidBodyName, FBArrayTemplate< FBModelMarkerOptical * > pMarkers)
Create a new rigid body from the given optical markers.
FBPropertyInt
class K_DLLIMPORT FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
Definition: fbproperties.h:1331
FBOpticalGap::FBOpticalGap
FBOpticalGap(FBModelMarkerOptical *pMarker=NULL)
Constructor.
FBOpticalGap::FBOpticalGap
FBOpticalGap(const FBOpticalGap &pGap)
Constructor (copy).
FBPropertyListModelMarkerOptical::Refresh
virtual void Refresh()
Refresh marker list.
kFBGapConstant
@ kFBGapConstant
Constant interpolation.
Definition: fboptical.h:215
FBModelOpticalAdvanced::InsertSegmentMode
FBPropertyInsertSegmentMode InsertSegmentMode
Property: Insert segment mode.
Definition: fboptical.h:734
FBOpticalSegment::Used
FBPropertyBool Used
Property: Is segment used?
Definition: fboptical.h:116
FBRigidBody::SmoothWidth
FBPropertyInt SmoothWidth
Property: Smoothing width.
Definition: fboptical.h:540
FBPropertyListRigidBody::Add
virtual int Add(FBModelList &pList, const char *pName=NULL)
Add a new rigid body to the list.
FBDeviceOptical::RecordingDoneAnimation
virtual void RecordingDoneAnimation(FBAnimationNode *pAnimationNode) override
When recording, finish animation.
FBRigidBody::FBRigidBody
FBRigidBody(const FBRigidBody &pRigidBody)
Constructor.
FBDevice
Base Device class. Cannot be instantiated from Python.
Definition: fbcore.h:777
FBRigidBody::Markers
FBPropertyListRigidBodyMarkers Markers
Property: List of markers composing the rigid body.
Definition: fboptical.h:535
FBPropertyListRigidBodyMarkers::Refresh
virtual void Refresh()
Refresh marker list.
kFBGapBezier
@ kFBGapBezier
Bezier interpolation.
Definition: fboptical.h:217
FBPropertyListRigidBody::operator[]
virtual FBRigidBody operator[](int pIndex)
[] operator overload.
FBRigidBody::Model
FBPropertyModel Model
Property: Rigid body model.
Definition: fboptical.h:536
FBGenerationMode
FBGenerationMode
Generation modes for optical model.
Definition: fboptical.h:660
FBModelMarkerOptical::InsertSegmentedData
virtual void InsertSegmentedData(FBAnimationNode *pTData, FBAnimationNode *pOData)
Insert segmented data.
FBModelMarkerOptical::Segments
FBPropertyListMarkerSegment Segments
Property: Marker segments.
Definition: fboptical.h:382
FBModelOpticalAdvanced::MaxMatchDistance
FBPropertyDouble MaxMatchDistance
Property: Max matching distance.
Definition: fboptical.h:737
kFBGenerationNone
@ kFBGenerationNone
No re-generation.
Definition: fboptical.h:661
FBDeviceOptical::FBDeviceOptical
FBDeviceOptical(const char *pName, HIObject pObject=NULL)
Constructor.
FBModelOptical::Markers
FBPropertyListModelMarkerOptical Markers
List: Markers.
Definition: fboptical.h:631
FBPropertyDouble
class K_DLLIMPORT FBPropertyBase< double, kFBPT_double > FBPropertyDouble
Property: double
Definition: fbproperties.h:1340
FBPropertyListMarkerSegment::operator[]
virtual FBOpticalSegment operator[](int pIndex)
[] operator overload.
FBDeviceOptical::ForceOpticalSamplingRate
FBPropertyBool ForceOpticalSamplingRate
Property: Force the use of the optical sampling rate?
Definition: fboptical.h:832
FBTime
Time data structure.
Definition: fbtime.h:88
FBOpticalGap::Interpolation
FBPropertyGapMode Interpolation
Property: Gap mode.
Definition: fboptical.h:265
FBDeviceOptical::DeviceOpticalEvalAllMarkers
virtual void DeviceOpticalEvalAllMarkers(FBDeviceNotifyInfo &pDeviceNotifyInfo)
Evaluate all optical markers for the device.
FBDeviceOptical::MarkerTimeStamp
FBPropertyTime MarkerTimeStamp
Property: TimeStamp for marker.
Definition: fboptical.h:837
kFBControllerLabelling
@ kFBControllerLabelling
Labelling controller.
Definition: fboptical.h:672
FBModelMarkerOptical::GetRigidBody
virtual FBRigidBody GetRigidBody()
Get the rigid body for the marker.
FBPropertyListRigidBodyMarkers::Add
virtual int Add(FBModelMarkerOptical *pItem)
Add a new optical marker to the list.
FBDeviceOptical::ModelOptical
FBPropertyModel ModelOptical
Property: Optical model for manipulation.
Definition: fboptical.h:830
FBModelMarkerOptical::ImportBegin
virtual int ImportBegin()
Begin import of optical data.
FBSDK_DLL
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
Definition: fboptical.h:48
FBOpticalGap::InsertControlKey
virtual void InsertControlKey(FBTime &pTime)
Insert a control key for the gap.
FBDeviceNotifyInfo
Device Input and Output Notification information structure.
Definition: fbcore.h:589
FBDeviceOpticalMarker::Position
FBPropertyVector3d Position
Property: Current position of marker.
Definition: fboptical.h:768
FBOpticalSegment::MarkerTimeSpan
FBPropertyTimeSpan MarkerTimeSpan
Property: Marker/Segment timespan.
Definition: fboptical.h:120
FBRigidBody::FBRigidBody
FBRigidBody(FBModelOptical *pOptical=NULL)
Constructor.
FBPropertyColor
class K_DLLIMPORT FBPropertyBase< FBColor, kFBPT_ColorRGB > FBPropertyColor
FBPropertyColor type definition.
Definition: fbproperties.h:1454
FBDeviceOpticalMarker::Model
FBPropertyModel Model
Property: Model marker access.
Definition: fboptical.h:770
FBPropertyListOpticalGap::operator[]
virtual FBOpticalGap operator[](int pIndex)
[] operator overload.
FBPropertyListModelMarkerOptical::operator[]
virtual FBModelMarkerOptical * operator[](int pIndex)
[] operator overload.
FBModelOpticalAdvanced::AutomaticBuild
virtual void AutomaticBuild()
Automatic build.
FBModelMarkerOptical::Gaps
FBPropertyListOpticalGap Gaps
Property: Gaps.
Definition: fboptical.h:383
FBOpticalSegment::operator==
bool operator==(const FBOpticalSegment &pValue) const
Overloaded == operator.
FBOpticalSegment::OriginalTimeSpan
FBPropertyTimeSpan OriginalTimeSpan
Property: Original timespan for segment.
Definition: fboptical.h:113
kFBInsertSegmentToEnd
@ kFBInsertSegmentToEnd
Insert to end.
Definition: fboptical.h:695
FBDeviceOptical::AutoAntialiasing
FBPropertyBool AutoAntialiasing
Property: Is it auto-antialiasing?
Definition: fboptical.h:828
kFBSegmentMarker
@ kFBSegmentMarker
Use marker.
Definition: fboptical.h:683
FBDeviceOptical::FBCreate
virtual bool FBCreate() override
Open Reality Creation function.
FBModelOptical::Segments
FBPropertyListOpticalSegment Segments
List: Segments.
Definition: fboptical.h:632
FBDeviceOpticalMarker::SetData
void SetData(double pX, double pY, double pZ=0.0, double pOcclusion=0.0)
Set data for optical marker.
FBOpticalSegment::Marker
FBPropertyModelMarkerOptical Marker
Property: Optical marker.
Definition: fboptical.h:119
FBDeviceOpticalLayout
Layout for optical device.
Definition: fbdevicelayout.h:138
kFBGapCurve
@ kFBGapCurve
Cubic/curve interpolation.
Definition: fboptical.h:218
FBOpticalSegment::Cut
virtual void Cut(FBTime &pTime)
Cut the segment for the marker at a given time.
FBModelOptical::SamplingStart
FBPropertyTime SamplingStart
Read Write Property: Sampling start time.
Definition: fboptical.h:627
kFBGapRigidBody
@ kFBGapRigidBody
Use rigid body information.
Definition: fboptical.h:214
FBPropertyListOpticalSegment::operator[]
virtual FBOpticalSegment operator[](int pIndex)
[] operator overload.
FBDeviceOptical
Optical device class.
Definition: fboptical.h:815
FBSegmentMode
FBSegmentMode
Segment modes.
Definition: fboptical.h:682
fbmodel.h
Base class for Cameras.
FBPropertyListOpticalSegment::Add
virtual int Add(FBAnimationNode *pData)
Add a segment to the optical model.
FBDeviceOpticalMarker
Device optical marker.
Definition: fboptical.h:751
kFBRigidBodyBest
@ kFBRigidBodyBest
Best rigid body mode.
Definition: fboptical.h:487
FBDeviceOptical::DeviceIONotify
virtual void DeviceIONotify(kDeviceIOs pAction, FBDeviceNotifyInfo &pDeviceNotifyInfo) override
Real-Time engine thread: Device I/O.
FBModelMarkerOptical::Done
FBPropertyBool Done
Property: Done?
Definition: fboptical.h:385
FBPropertyListRigidBodyMarkers::GetCount
virtual int GetCount()
Get the number of properties in the list.
FBDeviceOptical::AnimationNodeNotify
virtual bool AnimationNodeNotify(FBAnimationNode *pAnimationNode, FBEvaluateInfo *pEvaluateInfo) override
Notification function for animation thread.
FBPropertyTime
class K_DLLIMPORT FBPropertyBase< FBTime, kFBPT_Time > FBPropertyTime
Property: FBTime
Definition: fbproperties.h:1346
FBModelOpticalAdvanced::PlayToNextSegment
FBPropertyBool PlayToNextSegment
Property: Play to next segment ?
Definition: fboptical.h:735
FB_DEFINE_ARRAY
#define FB_DEFINE_ARRAY(DllTag, Type)
Define an array (template) for a component (discard the FB..).
Definition: fbarray.h:360
__FBClassDeclare
#define __FBClassDeclare(Name, Parent)
For internal use only.
Definition: fbcomponent.h:131
FBPropertyListDeviceOpticalMarker::operator[]
virtual FBDeviceOpticalMarker * operator[](int pIndex)
Get a marker.
FBModelMarkerOptical::Color
FBPropertyColor Color
Property: Marker color.
Definition: fboptical.h:384
__FB_FORWARD
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition: fbtypes.h:68
FBPropertyBaseList
Definition: fbproperties.h:893
kFBGapLinear
@ kFBGapLinear
Linear interpolation.
Definition: fboptical.h:216
FBRigidBody::QualityData
FBPropertyAnimationNode QualityData
Property: Quality of rigid body.
Definition: fboptical.h:537
FBModelMarkerOptical
Optical model marker class.
Definition: fboptical.h:311
FBPropertyVector3d
class K_DLLIMPORT FBPropertyBase< FBVector3d, kFBPT_Vector3D > FBPropertyVector3d
FBPropertyVector3d type definition.
Definition: fbproperties.h:1469
FBPropertyListDeviceOpticalMarker::Add
virtual int Add(const char *pName=NULL)
Add a marker by name.
FBModelMarkerOptical::Optical
FBPropertyModelOptical Optical
Property: Optical model.
Definition: fboptical.h:381
FBPropertyListOpticalSegment::RemoveAt
virtual void RemoveAt(int pIndex)
Remove property at pIndex.
FBOpticalGap::IsValid
virtual bool IsValid()
Check if valid (if item exists).
FBRigidBody::Done
FBPropertyBool Done
Property: Done?
Definition: fboptical.h:538
FBOpticalSegment::TimeSpan
FBPropertyTimeSpan TimeSpan
Property: Current segment timespan.
Definition: fboptical.h:114
kFBInsertSegmentWhole
@ kFBInsertSegmentWhole
Insert whole.
Definition: fboptical.h:694
FBPropertyListModelMarkerOptical
PropertyList: Device optical marker
Definition: fboptical.h:400
FBPropertyListRigidBodyMarkers
PropertyList: Device optical marker
Definition: fboptical.h:444
FBModelOptical::SamplingPeriod
FBPropertyTime SamplingPeriod
Read Write Property:Sampling period.
Definition: fboptical.h:629
FBDeviceOptical::DeviceOpticalBeginSetup
void DeviceOpticalBeginSetup()
Begin device setup.
FBModelOpticalAdvanced::Active
FBPropertyBool Active
Property: Optical engine for model active?
Definition: fboptical.h:738
FBOpticalGap::operator=
FBOpticalGap & operator=(const FBOpticalGap &pValue)
Overloaded = operator.
FBRigidBody
Rigid body class.
Definition: fboptical.h:497
FBOpticalSegment::Data
FBPropertyAnimationNode Data
Property: Segment curve data.
Definition: fboptical.h:115
FBPropertyListModelMarkerOptical::RemoveAt
virtual void RemoveAt(int pIndex)
Remove property at pIndex.
FBModelOpticalAdvanced::AutoPlayToNextSegment
FBPropertyBool AutoPlayToNextSegment
Property: Automatic play to next segment ?
Definition: fboptical.h:736
kFBInsertSegmentFromStart
@ kFBInsertSegmentFromStart
Insert from start.
Definition: fboptical.h:696
FBPropertyListRigidBodyMarkers::RemoveAt
virtual void RemoveAt(int pIndex)
Remove property at pIndex.
FBModelMarkerOptical::Data
FBPropertyAnimationNode Data
Property: Data.
Definition: fboptical.h:386
FBModelList
class K_DLLIMPORT FBArrayTemplate< FBModel * > FBModelList
typedef class FBSDK_DLL FBArrayTemplate<FBModel*> FBModelList;
Definition: fbcharacter.h:597
FBRigidBodyMode
FBRigidBodyMode
Rigid body modes.
Definition: fboptical.h:485
FBPropertyListRigidBody::GetCount
virtual int GetCount()
Get the number of properties in the list.
FBDeviceOpticalMarker::Occlusion
FBPropertyDouble Occlusion
Property: Occulsion data for marker.
Definition: fboptical.h:769
FBRigidBody::operator==
bool operator==(const FBRigidBody &pValue) const
Overloaded == operator.
kFBControllerSegment
@ kFBControllerSegment
Segment controller.
Definition: fboptical.h:673
kFBControllerRigidBody
@ kFBControllerRigidBody
Rigid body controller.
Definition: fboptical.h:674
FBPropertyBool
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
Definition: fbproperties.h:1308
kFBSegmentRigidBody
@ kFBSegmentRigidBody
Use rigid body.
Definition: fboptical.h:684
FBModelMarkerOptical::ImportKey
virtual bool ImportKey(double pX, double pY, double pZ=0.0, double pOcclusion=0.0)
Import a key of optical data.
FBModelOpticalAdvanced::UsedTake
FBPropertyTake UsedTake
Property: Take used by optical model.
Definition: fboptical.h:739
FBPropertyListOpticalGap::GetCount
virtual int GetCount()
Get the number of properties in the list.
fbcomponent.h
Basic class definitions.
kFBControllerNone
@ kFBControllerNone
No controller mode.
Definition: fboptical.h:671
FBPropertyListModelMarkerOptical::GetCount
virtual int GetCount()
Get the number of properties in the list.
FBRigidBody::IsValid
virtual bool IsValid()
Check if valid (if item exists).
FBOpticalSegment::IsValid
virtual bool IsValid()
Check if valid (if item exists).
FBPropertyListRigidBody::RemoveAt
virtual void RemoveAt(int pIndex)
Remove property at pIndex.
FBPropertyListDeviceOpticalMarker::RemoveAt
virtual void RemoveAt(int pIndex)
Remove a marker.
kFBGenerationFast
@ kFBGenerationFast
Fast re-generation.
Definition: fboptical.h:662
FBPropertyListMarkerSegment::RemoveAt
virtual void RemoveAt(int pIndex)
Remove property at pIndex.
FB_DEFINE_LIST
#define FB_DEFINE_LIST(DllTag, Type)
Define a component list.
Definition: fbproperties.h:163
FBOpticalSegment::Reset
virtual void Reset()
Reset the marker segment.
FBDeviceOptical::FbxStore
virtual bool FbxStore(FBFbxObject *pFbxObject, kFbxObjectStore pStoreWhat) override
Storage/Retrieval of information into the FBX file format.
FBPropertyListModelOptical
PropertyList: ModelOptical.
Definition: fboptical.h:645
FBModelOptical::RigidBodies
FBPropertyListRigidBody RigidBodies
List: Rigid bodies.
Definition: fboptical.h:633
FBRigidBody::ComputeAnimation
virtual void ComputeAnimation()
Compute the rigid body animation.
FBPropertyListComponent
PropertyList: Concrete class for PropertyList of component
Definition: fbcomponent.h:536
FBModelMarkerOptical::ExportBegin
virtual int ExportBegin()
Begin export of optical data.
FBPropertyListMarkerSegment
PropertyList: Device optical marker
Definition: fboptical.h:139
FBDeviceOptical::RecordingInitAnimation
virtual void RecordingInitAnimation(FBAnimationNode *pAnimationNode) override
When recording, initialize animation.
FBDeviceOptical::Markers
FBPropertyListDeviceOpticalMarker Markers
List: Markers.
Definition: fboptical.h:826
FBArrayTemplate< FBOpticalSegment * >
FBModelOpticalAdvanced::FBModelOpticalAdvanced
FBModelOpticalAdvanced(FBModelOptical *pOptical)
Constructor.
FBPropertyListRigidBodyMarkers::operator[]
virtual FBModelMarkerOptical * operator[](int pIndex)
[] operator overload.
FBPropertyListModelOptical::operator[]
FBModelOptical * operator[](int pIndex)
Get the ModelOptical at pIndex.
FBModelOpticalAdvanced::ShowRigidQuality
FBPropertyBool ShowRigidQuality
Property: Show the rigid quality?
Definition: fboptical.h:730
kFBSegmentAll
@ kFBSegmentAll
Use all.
Definition: fboptical.h:685
FB_FORWARD
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition: fbtypes.h:62
FBPropertyListMarkerSegment::GetCount
virtual int GetCount()
Get the number of properties in the list.
FBRigidBody::Snap
virtual void Snap()
Snap the rigid body.
FBModelMarkerOptical::ImportEnd
virtual bool ImportEnd()
End importation and clean up data.
FBPropertyListDeviceOpticalMarker
PropertyList: Device optical marker
Definition: fboptical.h:782
FBOpticalGap::TimeSpan
FBPropertyTimeSpan TimeSpan
Property: Current timespan.
Definition: fboptical.h:264
FB_DEFINE_COMPONENT
FB_DEFINE_COMPONENT(K_DLLIMPORT, AnimationNode)
Animation node class.
FBModelOpticalAdvanced::CropSegmentsAnimation
virtual void CropSegmentsAnimation()
Crop segment animation.
FBPropertyListOpticalSegment::GetCount
virtual int GetCount()
Get the number of properties in the list.
FBControllerMode
FBControllerMode
Controller modes for optical model.
Definition: fboptical.h:670
FBDeviceOptical::SkipFrame
FBPropertyBool SkipFrame
Property: Skip Record Frame
Definition: fboptical.h:836
FBModelOptical
Optical model class.
Definition: fboptical.h:595
FBModelMarkerOptical::SetModelOptical
virtual void SetModelOptical(FBModelOptical *pOptical)
Set the current optical model.
FBPropertyListModelMarkerOptical::Add
virtual int Add(FBModelMarkerOptical *pItem)
Add a new optical marker to the list.
FBPropertyTimeSpan
class K_DLLIMPORT FBPropertyBase< FBTimeSpan, kFBPT_TimeSpan > FBPropertyTimeSpan
Property: FBTimeSpan
Definition: fbproperties.h:1352
FBPropertyListMarkerSegment::GetIndexAt
virtual int GetIndexAt(FBTime &pTime)
Get the segment index at a given time.
FBModelOptical::MarkerSize
FBPropertyDouble MarkerSize
Read Write Property: Size of markers.
Definition: fboptical.h:626
FBFbxObject
FBX file interface.
Definition: fbfbx.h:80
FBPropertyListOpticalSegment
PropertyList: Device optical marker
Definition: fboptical.h:178
FBDeviceOptical::OpticalSamplingRate
FBPropertyDouble OpticalSamplingRate
Property: Resampling rate for optical device.
Definition: fboptical.h:833
FBInsertSegmentMode
FBInsertSegmentMode
Insert segment modes.
Definition: fboptical.h:693
FBPropertyListRigidBody
PropertyList: Device optical marker
Definition: fboptical.h:557
FBEvaluateInfo
AnimationNodeNotify evaluation information.
Definition: fbevaluateinfo.h:79
FBDeviceOptical::SupportOcclusion
FBPropertyBool SupportOcclusion
Property: Does the device support occulsion?
Definition: fboptical.h:827
FBOpticalGap::Data
FBPropertyAnimationNode Data
Property: Gap curve data.
Definition: fboptical.h:266
FBModel
Model class.
Definition: fbmodel.h:274
FBDeviceOptical::DeviceOpticalEndSetup
void DeviceOpticalEndSetup()
End device setup.
FBOpticalSegment::operator=
FBOpticalSegment & operator=(const FBOpticalSegment &pValue)
Overloaded = operator.
FBComponent
MotionBuilder SDK base class.
Definition: fbcomponent.h:651
FBModelOptical::FBModelOptical
FBModelOptical(const char *pName, HIObject pObject=NULL)
Constructor.
FBModelOptical::SamplingStop
FBPropertyTime SamplingStop
Read Write Property:Sampling stop time.
Definition: fboptical.h:628
kFBRigidBodyFast
@ kFBRigidBodyFast
Fast rigid body mode.
Definition: fboptical.h:486
FBModelOpticalAdvanced
Advanced optical model information.
Definition: fboptical.h:706
FBModelOptical::ImportSetup
virtual bool ImportSetup()
Setup importation for optical model.
FBPropertyListModelMarkerOptical::Add
virtual int Add(const char *pName=NULL)
Add a new optical marker to the list.
FBDeviceOptical::DeviceOperation
virtual bool DeviceOperation(kDeviceOperations pOperation) override
Operate device.
FBDeviceOpticalMarker::FBDeviceOpticalMarker
FBDeviceOpticalMarker(const char *pName)
Constructor.
FBOpticalGap::operator==
bool operator==(const FBOpticalGap &pValue) const
Overloaded == operator.
FBModelMarkerOptical::FBModelMarkerOptical
FBModelMarkerOptical(const char *pName=NULL, FBModelOptical *pOptical=NULL, HIObject pObject=NULL)
Constructor.
FBDeviceOptical::FBDestroy
virtual void FBDestroy() override
Open Reality destruction function.
FBDeviceOptical::DampingTime
FBPropertyDouble DampingTime
Property: Damping time for device.
Definition: fboptical.h:829
FBModelOpticalAdvanced::GenerationMode
FBPropertyGenerationMode GenerationMode
Property: Optical genration mode.
Definition: fboptical.h:731
FBModelOpticalAdvanced::SkipSegment
virtual void SkipSegment()
Skip segment.
FBGapMode
FBGapMode
Gap interpolation modes.
Definition: fboptical.h:213
FBModelMarkerOptical::ExportKey
virtual bool ExportKey(double *pX, double *pY, double *pZ=NULL, double *pOcclusion=NULL)
Export a key of optical data.
FBModelOpticalAdvanced::Quality
FBPropertyAnimationNode Quality
Property: Rigid body quality.
Definition: fboptical.h:729
FBModelOpticalAdvanced::AcceptAllSegments
virtual void AcceptAllSegments()
Accept all segments.