fbxprocessor.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /****************************************************************************************
  2. Copyright (C) 2015 Autodesk, Inc.
  3. All rights reserved.
  4. Use of this software is subject to the terms of the Autodesk license agreement
  5. provided at the time of installation or download, or which otherwise accompanies
  6. this software in either electronic or hard copy form.
  7. ****************************************************************************************/
  8. //! \file fbxprocessor.h
  9. #ifndef _FBXSDK_UTILS_PROCESSOR_H_
  10. #define _FBXSDK_UTILS_PROCESSOR_H_
  11. #include <fbxsdk/fbxsdk_def.h>
  12. #include <fbxsdk/core/fbxobject.h>
  13. #include <fbxsdk/fbxsdk_nsbegin.h>
  14. class FbxCollection;
  15. /** The class and its derived classes(e.g. FbxProcessorXRefCopy, FbxProcessorXRefCopyUserLibrary, etc.) are used to process shader, library, asset, etc.
  16. * For example, you could update object property and its value via FbxProcessor::ProcessObject(), FbxProcessor::internal_ProcessObject(), etc.
  17. */
  18. class FBXSDK_DLL FbxProcessor : public FbxObject
  19. {
  20. FBXSDK_OBJECT_DECLARE(FbxProcessor, FbxObject);
  21. public:
  22. /**
  23. * \name Processor management
  24. */
  25. //@{
  26. /** Process the specified collection.
  27. * \param pCollection
  28. */
  29. bool ProcessCollection(FbxCollection *pCollection=0);
  30. /** Process the specified object.
  31. * \param pCollection FbxObject to process
  32. */
  33. bool ProcessObject (FbxObject *pCollection=0);
  34. //@}
  35. /*****************************************************************************************************************************
  36. ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
  37. *****************************************************************************************************************************/
  38. #ifndef DOXYGEN_SHOULD_SKIP_THIS
  39. protected:
  40. virtual bool internal_ProcessCollectionBegin (FbxCollection *pCollection);
  41. virtual bool internal_ProcessCollectionEnd (FbxCollection *pCollection);
  42. virtual bool internal_ProcessObject (FbxObject* pObject);
  43. virtual bool internal_ProcessCollection (FbxCollection* pCollection);
  44. #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
  45. };
  46. #include <fbxsdk/fbxsdk_nsend.h>
  47. #endif /* _FBXSDK_UTILS_PROCESSOR_H_ */