mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-13 07:34:45 +00:00
update recast
This commit is contained in:
parent
e079536122
commit
8aa48ff21b
34 changed files with 1138 additions and 407 deletions
|
|
@ -293,6 +293,9 @@ struct rcSpanPool
|
|||
/// @ingroup recast
|
||||
struct rcHeightfield
|
||||
{
|
||||
rcHeightfield();
|
||||
~rcHeightfield();
|
||||
|
||||
int width; ///< The width of the heightfield. (Along the x-axis in cell units.)
|
||||
int height; ///< The height of the heightfield. (Along the z-axis in cell units.)
|
||||
float bmin[3]; ///< The minimum bounds in world space. [(x, y, z)]
|
||||
|
|
@ -302,6 +305,11 @@ struct rcHeightfield
|
|||
rcSpan** spans; ///< Heightfield of spans (width*height).
|
||||
rcSpanPool* pools; ///< Linked list of span pools.
|
||||
rcSpan* freelist; ///< The next free span.
|
||||
|
||||
private:
|
||||
// Explicitly-disabled copy constructor and copy assignment operator.
|
||||
rcHeightfield(const rcHeightfield&);
|
||||
rcHeightfield& operator=(const rcHeightfield&);
|
||||
};
|
||||
|
||||
/// Provides information on the content of a cell column in a compact heightfield.
|
||||
|
|
@ -886,7 +894,7 @@ bool rcRasterizeTriangles(rcContext* ctx, const float* verts, const int nv,
|
|||
bool rcRasterizeTriangles(rcContext* ctx, const float* verts, const unsigned char* areas, const int nt,
|
||||
rcHeightfield& solid, const int flagMergeThr = 1);
|
||||
|
||||
/// Marks non-walkable spans as walkable if their maximum is within @p walkableClimp of a walkable neihbor.
|
||||
/// Marks non-walkable spans as walkable if their maximum is within @p walkableClimp of a walkable neighbor.
|
||||
/// @ingroup recast
|
||||
/// @param[in,out] ctx The build context to use during the operation.
|
||||
/// @param[in] walkableClimb Maximum ledge height that is considered to still be traversable.
|
||||
|
|
|
|||
|
|
@ -123,7 +123,6 @@ public:
|
|||
template<class T> class rcScopedDelete
|
||||
{
|
||||
T* ptr;
|
||||
inline T* operator=(T* p);
|
||||
public:
|
||||
|
||||
/// Constructs an instance with a null pointer.
|
||||
|
|
|
|||
|
|
@ -23,11 +23,34 @@
|
|||
// Feel free to change the file and include your own implementation instead.
|
||||
|
||||
#ifdef NDEBUG
|
||||
|
||||
// From http://cnicholson.net/2009/02/stupid-c-tricks-adventures-in-assert/
|
||||
# define rcAssert(x) do { (void)sizeof(x); } while((void)(__LINE__==-1),false)
|
||||
# define rcAssert(x) do { (void)sizeof(x); } while((void)(__LINE__==-1),false)
|
||||
|
||||
#else
|
||||
|
||||
/// An assertion failure function.
|
||||
// @param[in] expression asserted expression.
|
||||
// @param[in] file Filename of the failed assertion.
|
||||
// @param[in] line Line number of the failed assertion.
|
||||
/// @see rcAssertFailSetCustom
|
||||
typedef void (rcAssertFailFunc)(const char* expression, const char* file, int line);
|
||||
|
||||
/// Sets the base custom assertion failure function to be used by Recast.
|
||||
/// @param[in] assertFailFunc The function to be used in case of failure of #dtAssert
|
||||
void rcAssertFailSetCustom(rcAssertFailFunc *assertFailFunc);
|
||||
|
||||
/// Gets the base custom assertion failure function to be used by Recast.
|
||||
rcAssertFailFunc* rcAssertFailGetCustom();
|
||||
|
||||
# include <assert.h>
|
||||
# define rcAssert assert
|
||||
# define rcAssert(expression) \
|
||||
{ \
|
||||
rcAssertFailFunc* failFunc = rcAssertFailGetCustom(); \
|
||||
if(failFunc == NULL) { assert(expression); } \
|
||||
else if(!(expression)) { (*failFunc)(#expression, __FILE__, __LINE__); } \
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif // RECASTASSERT_H
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue