| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- /** @file Defines a post processing step to calculate tangents and bitangents on all imported meshes.*/
- #ifndef AI_CALCTANGENTSPROCESS_H_INC
- #define AI_CALCTANGENTSPROCESS_H_INC
- #include "BaseProcess.h"
- struct aiMesh;
- namespace Assimp
- {
- // ---------------------------------------------------------------------------
- /** The CalcTangentsProcess calculates the tangent and bitangent for any vertex
- * of all meshes. It is expected to be run before the JoinVerticesProcess runs
- * because the joining of vertices also considers tangents and bitangents for uniqueness.
- */
- class CalcTangentsProcess : public BaseProcess
- {
- friend class Importer;
- protected:
- /** Constructor to be privately used by Importer */
- CalcTangentsProcess();
- /** Destructor, private as well */
- ~CalcTangentsProcess();
- 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.
- */
- bool IsActive( unsigned int pFlags) const;
- // -------------------------------------------------------------------
- /** 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.
- */
- void Execute( aiScene* pScene);
- protected:
- // -------------------------------------------------------------------
- /** Calculates tangents and bitangents for the given mesh
- * @param pMesh The mesh to process.
- */
- void ProcessMesh( aiMesh* pMesh);
- };
- } // end of namespace Assimp
- #endif // AI_CALCTANGENTSPROCESS_H_INC
|