MAINT-5678 Improvement: ImporterPreprocessDAE debug setting to disable DAE preprocessing when needed

master
AndreyL ProductEngine 2016-02-17 03:01:04 +02:00
parent 72685fe1cb
commit 8920beabc4
4 changed files with 30 additions and 5 deletions

View File

@ -816,7 +816,8 @@ LLDAELoader::LLDAELoader(
void* opaque_userdata,
JointTransformMap& jointMap,
JointSet& jointsFromNodes,
U32 modelLimit)
U32 modelLimit,
bool preprocess)
: LLModelLoader(
filename,
lod,
@ -827,7 +828,8 @@ LLDAELoader::LLDAELoader(
opaque_userdata,
jointMap,
jointsFromNodes),
mGeneratedModelLimit(modelLimit)
mGeneratedModelLimit(modelLimit),
mPreprocessDAE(preprocess)
{
}
@ -851,7 +853,16 @@ bool LLDAELoader::OpenFile(const std::string& filename)
{
//no suitable slm exists, load from the .dae file
DAE dae;
domCOLLADA* dom = dae.openFromMemory(filename, preprocessDAE(filename).c_str());
domCOLLADA* dom;
if (mPreprocessDAE)
{
dom = dae.openFromMemory(filename, preprocessDAE(filename).c_str());
}
else
{
LL_INFOS() << "Skipping dae preprocessing" << LL_ENDL;
dom = dae.open(filename);
}
if (!dom)
{

View File

@ -56,7 +56,8 @@ public:
void* opaque_userdata,
JointTransformMap& jointMap,
JointSet& jointsFromNodes,
U32 modelLimit);
U32 modelLimit,
bool preprocess);
virtual ~LLDAELoader() ;
virtual bool OpenFile(const std::string& filename);
@ -104,6 +105,7 @@ protected:
private:
U32 mGeneratedModelLimit; // Attempt to limit amount of generated submodels
bool mPreprocessDAE;
};
#endif // LL_LLDAELLOADER_H

View File

@ -34,6 +34,17 @@
<string>U32</string>
<key>Value</key>
<integer>768</integer>
</map>
<key>ImporterPreprocessDAE</key>
<map>
<key>Comment</key>
<string>Enable preprocessing for DAE files to fix some ColladaDOM related problems (like support for space characters within names and ids).</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>IMShowTime</key>
<map>

View File

@ -1766,7 +1766,8 @@ void LLModelPreview::loadModel(std::string filename, S32 lod, bool force_disable
this,
mJointTransformMap,
mJointsFromNode,
gSavedSettings.getU32("ImporterModelLimit"));
gSavedSettings.getU32("ImporterModelLimit"),
gSavedSettings.getBOOL("ImporterPreprocessDAE"));
if (force_disable_slm)
{