瀏覽代碼

- remove aiAssert, use a plain assert instead. This removes the exit() call in Assimp.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@943 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
aramis_acg 14 年之前
父節點
當前提交
2c83543b39
共有 5 個文件被更改,包括 4 次插入94 次删除
  1. 0 2
      code/CMakeLists.txt
  2. 1 1
      code/ValidateDataStructure.cpp
  3. 0 68
      code/aiAssert.cpp
  4. 3 19
      include/aiAssert.h
  5. 0 4
      workspaces/vc9/assimp.vcproj

+ 0 - 2
code/CMakeLists.txt

@@ -80,7 +80,6 @@ SOURCE_GROUP( Logging FILES
 )
 )
 
 
 SOURCE_GROUP( Common FILES
 SOURCE_GROUP( Common FILES
-	aiAssert.cpp
 	fast_atof.h
 	fast_atof.h
 	qnan.h
 	qnan.h
 	BaseImporter.cpp
 	BaseImporter.cpp
@@ -672,7 +671,6 @@ ADD_LIBRARY( assimp SHARED
 	XFileImporter.h
 	XFileImporter.h
 	XFileParser.cpp
 	XFileParser.cpp
 	XFileParser.h
 	XFileParser.h
-	aiAssert.cpp
 	fast_atof.h
 	fast_atof.h
 	irrXMLWrapper.h
 	irrXMLWrapper.h
 	qnan.h
 	qnan.h

+ 1 - 1
code/ValidateDataStructure.cpp

@@ -87,7 +87,7 @@ AI_WONT_RETURN void ValidateDSProcess::ReportError(const char* msg,...)
 
 
 	va_end(args);
 	va_end(args);
 #ifdef _DEBUG
 #ifdef _DEBUG
-	aiAssert( szBuffer,__LINE__,__FILE__ );
+	ai_assert( false );
 #endif
 #endif
 	throw DeadlyImportError("Validation failed: " + std::string(szBuffer,iLen));
 	throw DeadlyImportError("Validation failed: " + std::string(szBuffer,iLen));
 }
 }

+ 0 - 68
code/aiAssert.cpp

@@ -1,68 +0,0 @@
-/*
-Open Asset Import Library (ASSIMP)
-----------------------------------------------------------------------
-
-Copyright (c) 2006-2008, ASSIMP Development Team
-All rights reserved.
-
-Redistribution and use of this software in source and binary forms, 
-with or without modification, are permitted provided that the 
-following conditions are met:
-
-* Redistributions of source code must retain the above
-  copyright notice, this list of conditions and the
-  following disclaimer.
-
-* Redistributions in binary form must reproduce the above
-  copyright notice, this list of conditions and the
-  following disclaimer in the documentation and/or other
-  materials provided with the distribution.
-
-* Neither the name of the ASSIMP team, nor the names of its
-  contributors may be used to endorse or promote products
-  derived from this software without specific prior
-  written permission of the ASSIMP Development Team.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-----------------------------------------------------------------------
-*/
-#include "AssimpPCH.h"
-#include "../include/aiAssert.h"
-#ifdef _WIN32
-#ifndef __GNUC__
-#  include "crtdbg.h"
-#endif // ndef gcc
-#endif // _WIN32
-
-// Set a breakpoint using win32, else line, file and message will be returned and progam ends with 
-// errrocode = 1
-AI_WONT_RETURN void Assimp::aiAssert (const std::string &message, unsigned int uiLine, const std::string &file)
-{
-  // moved expression testing out of the function and into the macro to avoid constructing
-  // two std::string on every single ai_assert test
-//	if (!expression) 
-  {
-    // FIX (Aramis): changed std::cerr to std::cout that the message appears in VS' output window ...
-	  std::cout << "File :" << file << ", line " << uiLine << " : " << message << std::endl;
-
-#ifdef _WIN32
-#ifndef __GNUC__
-		// Set breakpoint
-		__debugbreak();
-#endif //ndef gcc
-#else
-		exit (1);
-#endif
-	}
-}

+ 3 - 19
include/aiAssert.h

@@ -3,28 +3,12 @@
 #ifndef AI_DEBUG_H_INC
 #ifndef AI_DEBUG_H_INC
 #define AI_DEBUG_H_INC
 #define AI_DEBUG_H_INC
 
 
-#include <string>
-
-#ifndef __cplusplus
-#error This header requires C++ to be used.
-#endif
-
-namespace Assimp {
-
-//!	\brief	ASSIMP specific assertion test, only works in debug mode
-//!	\param	uiLine	Line in file
-//!	\param	file	Source file
-ASSIMP_API AI_WONT_RETURN void aiAssert(const std::string &message, unsigned int uiLine, const std::string &file);
-
-
-//!	\def	ai_assert
-//!	\brief	ASSIMP specific assertion test
 #ifdef _DEBUG  
 #ifdef _DEBUG  
-#  define	ai_assert(expression) if( !(expression)) Assimp::aiAssert( #expression, __LINE__, __FILE__);
+#	include <assert.h>
+#	define	ai_assert(expression) assert(expression)
 #else
 #else
-#  define	ai_assert(expression)
+#	define	ai_assert(expression)
 #endif
 #endif
 
 
-}	// Namespace Assimp
 
 
 #endif
 #endif

+ 0 - 4
workspaces/vc9/assimp.vcproj

@@ -2298,10 +2298,6 @@
 			<Filter
 			<Filter
 				Name="core_import"
 				Name="core_import"
 				>
 				>
-				<File
-					RelativePath="..\..\code\aiAssert.cpp"
-					>
-				</File>
 				<File
 				<File
 					RelativePath="..\..\code\Assimp.cpp"
 					RelativePath="..\..\code\Assimp.cpp"
 					>
 					>