Assimp  v4.1. (December 2018)
Assimp::SplitLargeMeshesProcess_Triangle Class Reference

Post-processing filter to split large meshes into sub-meshes. More...

Inherits Assimp::BaseProcess.

Public Member Functions

void Execute (aiScene *pScene)
 Executes the post processing step on the given imported data. More...
 
unsigned int GetLimit () const
 Get the split limit. More...
 
bool IsActive (unsigned int pFlags) const
 Returns whether the processing step is present in the given flag. More...
 
void SetLimit (unsigned int l)
 Set the split limit - needed for unit testing. More...
 
virtual void SetupProperties (const Importer *pImp)
 Called prior to ExecuteOnScene(). More...
 
 SplitLargeMeshesProcess_Triangle ()
 
void SplitMesh (unsigned int a, aiMesh *pcMesh, std::vector< std::pair< aiMesh *, unsigned int > > &avList)
 Apply the algorithm to a given mesh. More...
 
 ~SplitLargeMeshesProcess_Triangle ()
 
- Public Member Functions inherited from Assimp::BaseProcess
 BaseProcess ()
 Constructor to be privately used by Importer. 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 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 ~BaseProcess ()
 Destructor, private as well. More...
 

Static Public Member Functions

static void UpdateNode (aiNode *pcNode, const std::vector< std::pair< aiMesh *, unsigned int > > &avList)
 Update a node in the asset after a few of its meshes have been split. More...
 

Public Attributes

unsigned int LIMIT
 Triangle limit. More...
 

Friends

class SplitLargeMeshesProcess_Vertex
 

Additional Inherited Members

- Protected Attributes inherited from Assimp::BaseProcess
ProgressHandlerprogress
 Currently active progress handler. More...
 
SharedPostProcessInfoshared
 See the doc of #SharedPostProcessInfo for more details. More...
 

Detailed Description

Post-processing filter to split large meshes into sub-meshes.

Applied BEFORE the JoinVertices-Step occurs. Returns NON-UNIQUE vertices, splits by triangle number.

Constructor & Destructor Documentation

◆ SplitLargeMeshesProcess_Triangle()

SplitLargeMeshesProcess_Triangle::SplitLargeMeshesProcess_Triangle ( )

◆ ~SplitLargeMeshesProcess_Triangle()

SplitLargeMeshesProcess_Triangle::~SplitLargeMeshesProcess_Triangle ( )

Member Function Documentation

◆ Execute()

void SplitLargeMeshesProcess_Triangle::Execute ( aiScene pScene)
virtual

Executes the post processing step on the given imported data.

At the moment a process is not supposed to fail.

Parameters
pSceneThe imported data to work at.

Implements Assimp::BaseProcess.

◆ GetLimit()

unsigned int Assimp::SplitLargeMeshesProcess_Triangle::GetLimit ( ) const
inline

Get the split limit.

◆ IsActive()

bool SplitLargeMeshesProcess_Triangle::IsActive ( unsigned int  pFlags) const
virtual

Returns whether the processing step is present in the given flag.

Parameters
pFlagsThe processing flags the importer was called with. A bitwise combination of aiPostProcessSteps.
Returns
true if the process is present in this flag fields, false if not.

Implements Assimp::BaseProcess.

◆ SetLimit()

void Assimp::SplitLargeMeshesProcess_Triangle::SetLimit ( unsigned int  l)
inline

Set the split limit - needed for unit testing.

◆ SetupProperties()

void SplitLargeMeshesProcess_Triangle::SetupProperties ( const Importer pImp)
virtual

Called prior to ExecuteOnScene().

The function is a request to the process to update its configuration basing on the Importer's configuration property list.

Reimplemented from Assimp::BaseProcess.

◆ SplitMesh()

void SplitLargeMeshesProcess_Triangle::SplitMesh ( unsigned int  a,
aiMesh pcMesh,
std::vector< std::pair< aiMesh *, unsigned int > > &  avList 
)

Apply the algorithm to a given mesh.

◆ UpdateNode()

void SplitLargeMeshesProcess_Triangle::UpdateNode ( aiNode pcNode,
const std::vector< std::pair< aiMesh *, unsigned int > > &  avList 
)
static

Update a node in the asset after a few of its meshes have been split.

Friends And Related Function Documentation

◆ SplitLargeMeshesProcess_Vertex

friend class SplitLargeMeshesProcess_Vertex
friend

Member Data Documentation

◆ LIMIT

unsigned int Assimp::SplitLargeMeshesProcess_Triangle::LIMIT

Triangle limit.


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