| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /** @file Base class of all import post processing steps */
- #ifndef AI_BASEPROCESS_H_INC
- #define AI_BASEPROCESS_H_INC
- struct aiScene;
- namespace Assimp
- {
- // ---------------------------------------------------------------------------
- /** The BaseProcess defines a common interface for all post processing steps.
- * A post processing step is run after a successful import if the caller
- * specified the corresponding flag when calling ReadFile(). Enum #aiPostProcessSteps
- * defines which flags are available.
- * After a successful import the Importer iterates over its internal array of processes
- * and calls IsActive() on each process to evaluate if the step should be executed.
- * If the function returns true, the class' Execute() function is called subsequently.
- */
- class BaseProcess
- {
- friend class Importer;
- protected:
- /** Constructor to be privately used by Importer */
- BaseProcess();
- /** Destructor, private as well */
- virtual ~BaseProcess();
- public:
- // -------------------------------------------------------------------
- /** Returns whether the processing step is present in the given flag field.
- * @param pFlags The processing flags the importer was called with. A bitwise
- * combination of #aiPostProcessSteps.
- * @return true if the process is present in this flag fields, false if not.
- */
- virtual bool IsActive( unsigned int pFlags) const = 0;
- // -------------------------------------------------------------------
- /** Executes the post processing step on the given imported data.
- * At the moment a process is not supposed to fail.
- * @param pScene The imported data to work at.
- */
- virtual void Execute( aiScene* pScene) = 0;
- };
- /** Constructor, dummy implementation to keep the compiler from complaining */
- inline BaseProcess::BaseProcess()
- {
- }
- /** Destructor */
- inline BaseProcess::~BaseProcess()
- {
- }
- } // end of namespace Assimp
- #endif // AI_BASEPROCESS_H_INC
|