Assimp  v3.1.1 (June 2014)
Assimp::BaseProcess Class Referenceabstract

The BaseProcess defines a common interface for all post processing steps. More...

Inherited by Assimp::CalcTangentsProcess, Assimp::ComputeSpatialSortProcess, Assimp::ComputeUVMappingProcess, Assimp::DeboneProcess, Assimp::DestroySpatialSortProcess, Assimp::FindDegeneratesProcess, Assimp::FindInstancesProcess, Assimp::FindInvalidDataProcess, Assimp::FixInfacingNormalsProcess, Assimp::FlipUVsProcess, Assimp::FlipWindingOrderProcess, Assimp::GenFaceNormalsProcess, Assimp::GenVertexNormalsProcess, Assimp::ImproveCacheLocalityProcess, Assimp::JoinVerticesProcess, Assimp::LimitBoneWeightsProcess, Assimp::MakeLeftHandedProcess, Assimp::MakeVerboseFormatProcess, Assimp::OptimizeGraphProcess, Assimp::OptimizeMeshesProcess, Assimp::PretransformVertices, Assimp::RemoveRedundantMatsProcess, Assimp::RemoveVCProcess, Assimp::SortByPTypeProcess, Assimp::SplitByBoneCountProcess, Assimp::SplitLargeMeshesProcess_Triangle, Assimp::SplitLargeMeshesProcess_Vertex, Assimp::TextureTransformStep, Assimp::TriangulateProcess, and Assimp::ValidateDSProcess.

Public Member Functions

 BaseProcess ()
 Constructor to be privately used by Importer. More...
 
virtual void Execute (aiScene *pScene)=0
 Executes the post processing step on the given imported data. More...
 
void ExecuteOnScene (Importer *pImp)
 Executes the post processing step on the given imported data. More...
 
SharedPostProcessInfoGetSharedData ()
 Get the shared data that is assigned to the step. More...
 
virtual bool IsActive (unsigned int pFlags) const =0
 Returns whether the processing step is present in the given flag. More...
 
virtual bool RequireVerboseFormat () const
 Check whether this step expects its input vertex data to be in verbose format. More...
 
void SetSharedData (SharedPostProcessInfo *sh)
 Assign a new SharedPostProcessInfo to the step. More...
 
virtual void SetupProperties (const Importer *pImp)
 Called prior to ExecuteOnScene(). More...
 
virtual ~BaseProcess ()
 Destructor, private as well. More...
 

Protected Attributes

ProgressHandlerprogress
 Currently active progress handler. More...
 
SharedPostProcessInfoshared
 See the doc of #SharedPostProcessInfo for more details. More...
 

Friends

class Importer
 

Detailed Description

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.

Constructor & Destructor Documentation

BaseProcess::BaseProcess ( )

Constructor to be privately used by Importer.

BaseProcess::~BaseProcess ( )
virtual

Destructor, private as well.

Member Function Documentation

void BaseProcess::ExecuteOnScene ( Importer pImp)

Executes the post processing step on the given imported data.

The function deletes the scene if the postprocess step fails ( the object pointer will be set to NULL).

Parameters
pImpImporter instance (pImp->mScene must be valid)
SharedPostProcessInfo* Assimp::BaseProcess::GetSharedData ( )
inline

Get the shared data that is assigned to the step.

bool BaseProcess::RequireVerboseFormat ( ) const
virtual

Check whether this step expects its input vertex data to be in verbose format.

void Assimp::BaseProcess::SetSharedData ( SharedPostProcessInfo sh)
inline

Assign a new SharedPostProcessInfo to the step.

This object allows multiple postprocess steps to share data.

Parameters
shMay be NULL

Friends And Related Function Documentation

friend class Importer
friend

Member Data Documentation

ProgressHandler* Assimp::BaseProcess::progress
protected

Currently active progress handler.

SharedPostProcessInfo* Assimp::BaseProcess::shared
protected

See the doc of #SharedPostProcessInfo for more details.


The documentation for this class was generated from the following files: