FBX C++ API Reference
All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fbxembeddedfilesaccumulator.h
Go to the documentation of this file.
1 /****************************************************************************************
2 
3  Copyright (C) 2015 Autodesk, Inc.
4  All rights reserved.
5 
6  Use of this software is subject to the terms of the Autodesk license agreement
7  provided at the time of installation or download, or which otherwise accompanies
8  this software in either electronic or hard copy form.
9 
10 ****************************************************************************************/
11 
13 #ifndef _FBXSDK_UTILS_EMBEDDED_FILES_ACCUMULATOR_H_
14 #define _FBXSDK_UTILS_EMBEDDED_FILES_ACCUMULATOR_H_
15 
16 #include <fbxsdk/fbxsdk_def.h>
17 
19 
20 #include <fbxsdk/fbxsdk_nsbegin.h>
21 
28 {
29 public:
39  {
41  int mIndex;
42 
43  PropertyUrlIndex() : mIndex(0)
44  {
45  }
46 
47  PropertyUrlIndex(const FbxString& pUrl, int pIndex)
48  : mPropName(pUrl)
49  , mIndex(pIndex)
50  {
51  }
52  };
53 
56  {
57  inline int operator()(const PropertyUrlIndex& pKeyA, const PropertyUrlIndex& pKeyB) const
58  {
59  if( pKeyA.mPropName < pKeyB.mPropName ) return -1;
60  if( pKeyB.mPropName < pKeyA.mPropName ) return 1;
61  if( pKeyA.mIndex < pKeyB.mIndex ) return -1;
62  if( pKeyB.mIndex < pKeyA.mIndex ) return 1;
63  return 0;
64  }
65  };
66 
68 
70 
72  {
74  ObjectPropertyMap mConsumers;
75  };
77 
85 
86  EmbeddedFilesMap mEmbeddedFiles;
88 
89 public:
90 
100  FbxEmbeddedFilesAccumulator(FbxManager& pManager, const char* pName, FbxSet<FbxString>& pPropertyFilter);
101  virtual ~FbxEmbeddedFilesAccumulator();
102 
103 /*****************************************************************************************************************************
104 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
105 *****************************************************************************************************************************/
106 #ifndef DOXYGEN_SHOULD_SKIP_THIS
107 private:
108  virtual bool internal_ProcessObject(FbxObject* pObject);
109  FbxSet<FbxString> mPropertyFilter;
110 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
111 };
112 
113 #include <fbxsdk/fbxsdk_nsend.h>
114 
115 #endif /* _FBXSDK_UTILS_EMBEDDED_FILES_ACCUMULATOR_H_ */
FBX SDK environment definition.
SDK object manager.
Definition: fbxmanager.h:56
Utility class to manipulate strings.
Definition: fbxstring.h:66
Comparer for PropertyUrlIndexSet, which outputs consistent partial orders for PropertyUrlIndex pairs...
int operator()(const PropertyUrlIndex &pKeyA, const PropertyUrlIndex &pKeyB) const
The base class of most FBX objects.
Definition: fbxobject.h:157
This class implements an efficient set based on value comparison, which stores values.
Definition: fbxset.h:25
This processor is used to accumulate the list of file dependencies (embedded files) in a hierarchy of...
FbxSet< PropertyUrlIndex, FbxPropertyUrlIndexCompare > PropertyUrlIndexSet
The class and its derived classes(e.g.
Definition: fbxprocessor.h:27
FbxMap< FbxObject *, PropertyUrlIndexSet > ObjectPropertyMap
FbxMap< FbxString, EmbeddedFileInfo > EmbeddedFilesMap
Map the (absolute filename) to which object/properties use this file.
#define FBXSDK_DLL
Definition: fbxarch.h:173
Map the object to the property&#39;s hierarchical name.