- move importer and postprocessing step construction chain to separate files to make them available to the exporter part.
+ introduce aiScene::mPrivate. This is a potentially breaking API change. The new member is added at the end of the structure though, so serious regressions are not to be expected. + add a mPreprocessing parameter to all Export API calls. Allow exporters to specify further PP steps to be executed prior to handing control to them. The entire export API now operates on a copy of the scene that the user passed in. - mass refactoring: all constructors of BaseProcess/BaseImporter inherited classes are public now and Importer will perhaps feel a bit sad after having loft all of its friends. # fix const correctness in SceneCombiner git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1060 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
This commit is contained in:
@@ -882,7 +882,7 @@ void SceneCombiner::MergeMeshes(aiMesh** _out,unsigned int /*flags*/,
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
template <typename Type>
|
||||
inline void CopyPtrArray (Type**& dest, Type** src, unsigned int num)
|
||||
inline void CopyPtrArray (Type**& dest, const Type* const * src, unsigned int num)
|
||||
{
|
||||
if (!num)
|
||||
{
|
||||
@@ -890,8 +890,9 @@ inline void CopyPtrArray (Type**& dest, Type** src, unsigned int num)
|
||||
return;
|
||||
}
|
||||
dest = new Type*[num];
|
||||
for (unsigned int i = 0; i < num;++i)
|
||||
for (unsigned int i = 0; i < num;++i) {
|
||||
SceneCombiner::Copy(&dest[i],src[i]);
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
@@ -906,7 +907,7 @@ inline void GetArrayCopy (Type*& dest, unsigned int num )
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
void SceneCombiner::CopySceneFlat(aiScene** _dest,aiScene* src)
|
||||
void SceneCombiner::CopySceneFlat(aiScene** _dest,const aiScene* src)
|
||||
{
|
||||
// reuse the old scene or allocate a new?
|
||||
if (*_dest)(*_dest)->~aiScene();
|
||||
@@ -916,7 +917,7 @@ void SceneCombiner::CopySceneFlat(aiScene** _dest,aiScene* src)
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
void SceneCombiner::CopyScene(aiScene** _dest,aiScene* src)
|
||||
void SceneCombiner::CopyScene(aiScene** _dest,const aiScene* src)
|
||||
{
|
||||
ai_assert(NULL != _dest && NULL != src);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user