Open Reality Reference Guide
 
Loading...
Searching...
No Matches
fbmotionfileexportoptions.h
1#ifndef __FBMOTIONFILEEXPORTOPTIONS_H__
2#define __FBMOTIONFILEEXPORTOPTIONS_H__
3/**************************************************************************
4Copyright (c) 1994 - 2021 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
39#include <kaydaradef.h>
40#ifndef FBSDK_DLL
44#define FBSDK_DLL K_DLLIMPORT
45#endif
46
47#include <fbsdk/fbcomponent.h>
48
49#ifdef FBSDKUseNamespace
50namespace FBSDKNamespace {
51#endif
52
54
56enum FBFileCreation {
57 kFBOverwrite,
58 kFBMerge,
59 kFBCancel,
60 kFBCancelAll,
61};
62FB_DEFINE_ENUM( FBSDK_DLL, FileCreation ); // FBPropertyFileCreation
63
67public:
74 FBMotionFileExportOptions( const char* pFilePath, HIObject pObject = nullptr );
75
76 FBPropertyModelSelection ModelSelection;
77 FBPropertyFileCreation FileCreation;
80
85 const char* GetFilePath() const;
86
93 bool SetFilePath( const char* pFilePath );
94
99
105 bool IsValid() const;
106
110 int GetTakeCount() const;
111
116 bool GetTakeSelect( int pTakeIndex ) const;
117
123 bool SetTakeSelect( int pTakeIndex, bool pSelect );
124
129 const char* GetTakeName( int pTakeIndex ) const;
130
136 const char* GetTakeFilePath( int pTakeIndex ) const;
137
145 bool SetTakeFilePath( int pTakeIndex, const char* pFilePath );
146
151 FBTime GetTakeStart( int pTakeIndex ) const;
152
157 FBTime GetTakeStop( int pTakeIndex ) const;
158
164 FBTimeMode GetTakeTimeMode( int pTakeIndex ) const;
165
170 double GetTakeFrameRate( int pTakeIndex ) const;
171
179 bool SetTakeTimeMode( int pTakeIndex, FBTimeMode pTimeMode, double pCustomFrameRate = 30.0 );
180};
181
182#ifdef FBSDKUseNamespace
183}
184#endif
185
186#endif
MotionBuilder SDK base class.
Customize motion file exporting.
FBPropertyBool OneTakePerFile
Read Write Property: True to export each take in a separated file, false to export all takes in a sin...
FBPropertyFileCreation FileCreation
Read Write Property: Operation to execute when trying to write a file that already exists on disk.
bool ResetTakeInfo()
Reset all the take info hold by this object.
const char * GetTakeName(int pTakeIndex) const
Get the take name of the given take.
bool SetTakeTimeMode(int pTakeIndex, FBTimeMode pTimeMode, double pCustomFrameRate=30.0)
Set the time mode of the given take.
FBTimeMode GetTakeTimeMode(int pTakeIndex) const
Get the time mode of the given take.
bool SetTakeSelect(int pTakeIndex, bool pSelect)
Set the export selection status of the given take.
const char * GetFilePath() const
Get the file path for the motion file(s) to create.
bool SetFilePath(const char *pFilePath)
Set the file path for the motion file(s) to create.
FBMotionFileExportOptions(const char *pFilePath, HIObject pObject=nullptr)
Constructor.
bool GetTakeSelect(int pTakeIndex) const
Get the export selection status of the given take.
FBTime GetTakeStart(int pTakeIndex) const
Get the start time of the given take.
bool SetTakeFilePath(int pTakeIndex, const char *pFilePath)
Set the export file path for given take.
double GetTakeFrameRate(int pTakeIndex) const
Get the actual frame rate of the given take as a double, useful when you have a custom frame rate.
FBPropertyModelSelection ModelSelection
Read Write Property: Specifies the content to export.
const char * GetTakeFilePath(int pTakeIndex) const
Get the export file path for given take.
bool IsValid() const
Is this object valid?
FBTime GetTakeStop(int pTakeIndex) const
Get the stop time of the given take.
int GetTakeCount() const
Get the take count that can be exported (i.e.: the take count in the scene).
FBPropertyBool AddPrefix
Read Write Property: Effective only if the OneTakePerFile property is true. True to prefix the constr...
Time data structure.
Definition fbtime.h:88
Basic class definitions.
#define __FBClassDeclare(Name, Parent)
For internal use only.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
FBTimeMode
Different time modes available.
Definition fbtime.h:63
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition fbtypes.h:68