HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FBX_AnimationUtils.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: FBX_SceneProxy.h (FBX Library, C++)
7  *
8  * COMMENTS:
9  *
10  */
11 
12 #ifndef __FBX_SCENEPROXYUTILS_H_INCLUDED__
13 #define __FBX_SCENEPROXYUTILS_H_INCLUDED__
14 
15 #include "FBX_API.h"
16 #include "FBX_SceneProxy.h"
17 
18 #include <UT/UT_Map.h>
19 #include <UT/UT_String.h>
20 #include <UT/UT_StringHolder.h>
21 
22 class CL_Clip;
23 
25 
27 {
28  FBX_BlendShapeInput(int blendshape_idx, int channel_idx,
29  const UT_StringHolder &channel_name)
30  : myBlendShapeIdx(blendshape_idx),
31  myChannelIdx(channel_idx),
32  myChannelName(channel_name)
33  {
34  }
35 
39 };
40 
42 {
44  : myNode()
45  , myName()
46  , myGeometry()
47  , myIsLocomotionNode(false)
48  {
49  }
50 
51  bool
52  operator<(const FBX_RigNodeInfo& other) const
53  {
55  /*case_sensitive*/false);
56  return (r < 0);
57  }
58 
59  FBX_NodeID myNode;
61  FBX_GeometryID myGeometry;
64 };
65 
66 /// Find nodes to bake animation data and geometry for. If minimal_nodes is
67 /// enabled, only joints and visible nodes with geometry will be included in
68 /// the rig. If keep_deforming_shape_xforms is disabled, nodes for deforming
69 /// geometry will be omitted from the rig but still included in the list of
70 /// geometry nodes ('geo_infos').
71 void FBX_API FBXgatherRigNodes(const FBX_SceneProxy &scene, bool minimal_nodes,
72  bool keep_deforming_shape_xforms,
73  FBX_NodeIndexMap &nodes_index_map,
75  UT_Array<FBX_RigNodeInfo> &geo_infos,
76  FBX_ErrorManager &errors);
77 
78 /// Add extra channels to the clip for any user-defined properties.
80  CL_Clip &clip, const FBX_SceneProxy &scene,
81  const UT_Array<FBX_RigNodeInfo> &infos, const UT_FprealArray &eval_times,
82  FBX_ErrorManager &errors);
83 
84 /// Add extra channels to the clip for any geometry nodes with blendshapes.
86  CL_Clip &clip, const FBX_SceneProxy &scene,
87  const UT_Array<FBX_RigNodeInfo> &geo_infos,
88  const UT_FprealArray &eval_times, FBX_ErrorManager &errors);
89 
90 #endif
Unsorted map container.
Definition: UT_Map.h:83
FBX_GeometryID myGeometry
bool FBX_API FBXaddBlendShapeChannels(CL_Clip &clip, const FBX_SceneProxy &scene, const UT_Array< FBX_RigNodeInfo > &geo_infos, const UT_FprealArray &eval_times, FBX_ErrorManager &errors)
Add extra channels to the clip for any geometry nodes with blendshapes.
void FBX_API FBXgatherRigNodes(const FBX_SceneProxy &scene, bool minimal_nodes, bool keep_deforming_shape_xforms, FBX_NodeIndexMap &nodes_index_map, UT_Array< FBX_RigNodeInfo > &infos, UT_Array< FBX_RigNodeInfo > &geo_infos, FBX_ErrorManager &errors)
#define FBX_API
Definition: FBX_API.h:10
UT_StringHolder myChannelName
bool FBX_API FBXaddUserPropertyChannels(CL_Clip &clip, const FBX_SceneProxy &scene, const UT_Array< FBX_RigNodeInfo > &infos, const UT_FprealArray &eval_times, FBX_ErrorManager &errors)
Add extra channels to the clip for any user-defined properties.
FBX_BlendShapeInput(int blendshape_idx, int channel_idx, const UT_StringHolder &channel_name)
static int compareNumberedString(const char *s1, const char *s2, bool case_sensitive=true, bool allow_negatives=false)
IMATH_INTERNAL_NAMESPACE_HEADER_ENTER T clip(const T &p, const Box< T > &box)
Definition: ImathBoxAlgo.h:89
UT_StringHolder myName
GLdouble GLdouble GLdouble r
Definition: glew.h:1406
UT_Array< FBX_BlendShapeInput > myBlendShapeInputs
bool operator<(const FBX_RigNodeInfo &other) const