From 580b35c8ea59187d5197e712022b706df3655f86 Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Mon, 1 Apr 2019 20:22:25 +0300 Subject: SL-307 Display in-viewer all warning messages logged by the mesh uploader --- indra/llprimitive/llmodelloader.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'indra/llprimitive/llmodelloader.h') diff --git a/indra/llprimitive/llmodelloader.h b/indra/llprimitive/llmodelloader.h index 643c45a6d8..8dde176b54 100644 --- a/indra/llprimitive/llmodelloader.h +++ b/indra/llprimitive/llmodelloader.h @@ -185,6 +185,9 @@ public: return name != NULL && mJointMap.find(name) != mJointMap.end(); } + std::string logOut() { return mWarningStream.str(); } + void clearLog() { mWarningStream.clear(); } + protected: LLModelLoader::load_callback_t mLoadCallback; @@ -201,6 +204,8 @@ protected: JointTransformMap mJointTransformMap; + std::ostringstream mWarningStream; // preview floater will pull logs from here + static std::list sActiveLoaderList; static bool isAlive(LLModelLoader* loader) ; }; -- cgit v1.2.3 From 1840868178cbf3577ffa9757f093207f3bb10fd7 Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Wed, 27 Nov 2019 20:34:26 +0200 Subject: SL-304 [Mesh Uploader] Localization support for logs, better warnings for joints --- indra/llprimitive/llmodelloader.h | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'indra/llprimitive/llmodelloader.h') diff --git a/indra/llprimitive/llmodelloader.h b/indra/llprimitive/llmodelloader.h index 8dde176b54..fbc74554a0 100644 --- a/indra/llprimitive/llmodelloader.h +++ b/indra/llprimitive/llmodelloader.h @@ -42,6 +42,10 @@ typedef std::deque JointNameSet; const S32 SLM_SUPPORTED_VERSION = 3; const S32 NUM_LOD = 4; +const U32 LEGACY_RIG_OK = 0; +const U32 LEGACY_RIG_FLAG_TOO_MANY_JOINTS = 1; +const U32 LEGACY_RIG_FLAG_UNKNOWN_JOINT = 2; + class LLModelLoader : public LLThread { public: @@ -166,7 +170,7 @@ public: void critiqueRigForUploadApplicability( const std::vector &jointListFromAsset ); //Determines if a rig is a legacy from the joint list - bool isRigLegacy( const std::vector &jointListFromAsset ); + U32 determineRigLegacyFlags( const std::vector &jointListFromAsset ); //Determines if a rig is suitable for upload bool isRigSuitableForJointPositionUpload( const std::vector &jointListFromAsset ); @@ -174,8 +178,9 @@ public: const bool isRigValidForJointPositionUpload( void ) const { return mRigValidJointUpload; } void setRigValidForJointPositionUpload( bool rigValid ) { mRigValidJointUpload = rigValid; } - const bool isLegacyRigValid( void ) const { return mLegacyRigValid; } - void setLegacyRigValid( bool rigValid ) { mLegacyRigValid = rigValid; } + const bool isLegacyRigValid(void) const { return mLegacyRigFlags == 0; } + U32 getLegacyRigFlags() const { return mLegacyRigFlags; } + void setLegacyRigFlags( U32 rigFlags ) { mLegacyRigFlags = rigFlags; } //----------------------------------------------------------------------------- // isNodeAJoint() @@ -185,8 +190,8 @@ public: return name != NULL && mJointMap.find(name) != mJointMap.end(); } - std::string logOut() { return mWarningStream.str(); } - void clearLog() { mWarningStream.clear(); } + const LLSD logOut() const { return mWarningsArray; } + void clearLog() { mWarningsArray.clear(); } protected: @@ -197,14 +202,14 @@ protected: void* mOpaqueData; bool mRigValidJointUpload; - bool mLegacyRigValid; + U32 mLegacyRigFlags; bool mNoNormalize; bool mNoOptimize; JointTransformMap mJointTransformMap; - std::ostringstream mWarningStream; // preview floater will pull logs from here + LLSD mWarningsArray; // preview floater will pull logs from here static std::list sActiveLoaderList; static bool isAlive(LLModelLoader* loader) ; -- cgit v1.2.3