fbxsdk/core/arch/fbxdebug.h File Reference
 
 
 
fbxsdk/core/arch/fbxdebug.h File Reference

File Description

Debugging macros and functions.

All macros and functions are removed in release builds. To enable asserts, a debug build is required as well as the environment variable "FBXSDK_ASSERT" set to 1 is also required. By default, assertions will pop-up a window. It is possible to disable the pop-up on the Windows platform by calling the following code:

 _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_DEBUG);

Definition in file fbxdebug.h.

Classes

struct   FbxIncompatibleWithArray< T >

Defines

#define  FBXSDK_ASSERT_ENVSTR   "FBXSDK_ASSERT"
  If this environment variable is set to 1, the FBX SDK will assert in debug builds.
#define  FBX_ASSERT(Condition)   ((void)0)
#define  FBX_ASSERT_MSG(Condition, Message)   ((void)0)
#define  FBX_ASSERT_NOW(Message)   ((void)0)
#define  FBX_ASSERT_RETURN(Condition)   if(!(Condition)){return;}
#define  FBX_ASSERT_RETURN_VALUE(Condition, Value)   if(!(Condition)){return Value;}
#define  FBX_ASSERT_STATIC(Condition)
#define  FBXSDK_INCOMPATIBLE_WITH_ARRAY_TEMPLATE(T)
#define  FBXSDK_INCOMPATIBLE_WITH_ARRAY(T)   template<> FBXSDK_INCOMPATIBLE_WITH_ARRAY_TEMPLATE(T)
#define  FBXSDK_IS_INCOMPATIBLE_WITH_ARRAY(T)   ((bool) FbxIncompatibleWithArray<T>::value)

Typedefs

typedef void(*  FbxAssertProc )(const char *pFileName, const char *pFunctionName, const unsigned int pLineNumber, const char *pMessage)
  The assertion procedure signature.

Functions

FBXSDK_DLL void  FbxAssert (const char *pFileName, const char *pFunctionName, const unsigned int pLineNumber, const char *pMessage)
  The assertion function caller. This function is called by most of the assertion macros and should not be called directly.
FBXSDK_DLL void  FbxAssertSetProc (FbxAssertProc pAssertProc)
  Change the procedure used when assertion occurs.
FBXSDK_DLL void  FbxAssertSetDefaultProc ()
  Change the procedure back to the default one.

Define Documentation

#define FBXSDK_ASSERT_ENVSTR   "FBXSDK_ASSERT"

If this environment variable is set to 1, the FBX SDK will assert in debug builds.

Definition at line 30 of file fbxdebug.h.

#define FBX_ASSERT_MSG (   Condition,
  Message 
)    ((void)0)

Definition at line 63 of file fbxdebug.h.

#define FBX_ASSERT_NOW (   Message )    ((void)0)
Examples:
Normals/main.cxx, and StereoCamera/main.cxx.

Definition at line 64 of file fbxdebug.h.

#define FBX_ASSERT_RETURN (   Condition )    if(!(Condition)){return;}

Definition at line 65 of file fbxdebug.h.

#define FBX_ASSERT_RETURN_VALUE (   Condition,
  Value 
)    if(!(Condition)){return Value;}

Definition at line 66 of file fbxdebug.h.

#define FBX_ASSERT_STATIC (   Condition )

Definition at line 67 of file fbxdebug.h.

#define FBXSDK_INCOMPATIBLE_WITH_ARRAY_TEMPLATE (   T )
Value:
struct FbxIncompatibleWithArray< T >{\
                union {\
                        T t();\
                } catcherr;\
                enum {value = 1};}

Definition at line 72 of file fbxdebug.h.

#define FBXSDK_INCOMPATIBLE_WITH_ARRAY (   T )    template<> FBXSDK_INCOMPATIBLE_WITH_ARRAY_TEMPLATE(T)

Definition at line 79 of file fbxdebug.h.

#define FBXSDK_IS_INCOMPATIBLE_WITH_ARRAY (   T )    ((bool) FbxIncompatibleWithArray<T>::value)

Definition at line 82 of file fbxdebug.h.


Typedef Documentation

typedef void(* FbxAssertProc)(const char *pFileName, const char *pFunctionName, const unsigned int pLineNumber, const char *pMessage)

The assertion procedure signature.

If a different assertion procedure must be provided, it should have this signature.

Parameters:
pFileName The file name where the assertion occurred.
pFunctionName The function name where the assertion occurred.
pLineNumber The line number in the file where the assertion occurred.
pMessage The message to display when the assertion occurs.

Definition at line 38 of file fbxdebug.h.


Function Documentation

FBXSDK_DLL void FbxAssert ( const char *  pFileName,
const char *  pFunctionName,
const unsigned int  pLineNumber,
const char *  pMessage 
)

The assertion function caller. This function is called by most of the assertion macros and should not be called directly.

FBXSDK_DLL void FbxAssertSetProc ( FbxAssertProc  pAssertProc )

Change the procedure used when assertion occurs.

Parameters:
pAssertProc The procedure to be called when assertions occurs.
FBXSDK_DLL void FbxAssertSetDefaultProc ( )

Change the procedure back to the default one.

Go to the source code of this file.