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 | |
12 | //! \file fbxprocessor.h |
13 | #ifndef _FBXSDK_UTILS_PROCESSOR_H_ |
14 | #define _FBXSDK_UTILS_PROCESSOR_H_ |
15 | |
16 | #include <fbxsdk/fbxsdk_def.h> |
17 | |
18 | #include <fbxsdk/core/fbxobject.h> |
19 | |
20 | #include <fbxsdk/fbxsdk_nsbegin.h> |
21 | |
22 | class FbxCollection; |
23 | |
24 | /** The class and its derived classes(e.g. FbxProcessorXRefCopy, FbxProcessorXRefCopyUserLibrary, etc.) are used to process shader, library, asset, etc. |
25 | * For example, you could update object property and its value via FbxProcessor::ProcessObject(), FbxProcessor::internal_ProcessObject(), etc. |
26 | */ |
27 | class FBXSDK_DLL FbxProcessor : public FbxObject |
28 | { |
29 | FBXSDK_OBJECT_DECLARE(FbxProcessor, FbxObject); |
30 | |
31 | public: |
32 | /** |
33 | * \name Processor management |
34 | */ |
35 | //@{ |
36 | /** Process the specified collection. |
37 | * \param pCollection |
38 | */ |
39 | bool ProcessCollection(FbxCollection *pCollection=0); |
40 | |
41 | /** Process the specified object. |
42 | * \param pCollection FbxObject to process |
43 | */ |
44 | bool ProcessObject (FbxObject *pCollection=0); |
45 | //@} |
46 | |
47 | /***************************************************************************************************************************** |
48 | ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! ** |
49 | *****************************************************************************************************************************/ |
50 | #ifndef DOXYGEN_SHOULD_SKIP_THIS |
51 | protected: |
52 | virtual bool internal_ProcessCollectionBegin (FbxCollection *pCollection); |
53 | virtual bool internal_ProcessCollectionEnd (FbxCollection *pCollection); |
54 | virtual bool internal_ProcessObject (FbxObject* pObject); |
55 | virtual bool internal_ProcessCollection (FbxCollection* pCollection); |
56 | #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/ |
57 | }; |
58 | |
59 | #include <fbxsdk/fbxsdk_nsend.h> |
60 | |
61 | #endif /* _FBXSDK_UTILS_PROCESSOR_H_ */ |
62 | |