Scene: keep an internal flag whether the scene was copied using aiCopyScene() (and potentially modified by the user afterwards)
parent
3bee2818e4
commit
9d4f7c32e4
|
@ -73,6 +73,7 @@ ASSIMP_API void aiCopyScene(const aiScene* pIn, aiScene** pOut)
|
|||
}
|
||||
|
||||
SceneCombiner::CopyScene(pOut,pIn,true);
|
||||
ScenePriv(*pOut)->mIsCopy = true;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -53,6 +53,7 @@ struct ScenePrivateData {
|
|||
ScenePrivateData()
|
||||
: mOrigImporter()
|
||||
, mPPStepsApplied()
|
||||
, mIsCopy()
|
||||
{}
|
||||
|
||||
// Importer that originally loaded the scene though the C-API
|
||||
|
@ -61,6 +62,13 @@ struct ScenePrivateData {
|
|||
|
||||
// List of postprocessing steps already applied to the scene.
|
||||
unsigned int mPPStepsApplied;
|
||||
|
||||
// true if the scene is a copy made with aiCopyScene()
|
||||
// or the corresponding C++ API. This means that user code
|
||||
// may have made modifications to it, so mPPStepsApplied
|
||||
// and mOrigImporter are no longer safe to rely on and only
|
||||
// serve informative purposes.
|
||||
bool mIsCopy;
|
||||
};
|
||||
|
||||
// Access private data stored in the scene
|
||||
|
|
Loading…
Reference in New Issue