|
@@ -22,13 +22,16 @@
|
|
|
/// The value of PI used by Recast.
|
|
|
static const float RC_PI = 3.14159265f;
|
|
|
|
|
|
+/// Used to ignore unused function parameters and silence any compiler warnings.
|
|
|
+template<class T> void rcIgnoreUnused(const T&) { }
|
|
|
+
|
|
|
/// Recast log categories.
|
|
|
/// @see rcContext
|
|
|
enum rcLogCategory
|
|
|
{
|
|
|
RC_LOG_PROGRESS = 1, ///< A progress log entry.
|
|
|
RC_LOG_WARNING, ///< A warning log entry.
|
|
|
- RC_LOG_ERROR, ///< An error log entry.
|
|
|
+ RC_LOG_ERROR ///< An error log entry.
|
|
|
};
|
|
|
|
|
|
/// Recast performance timer categories.
|
|
@@ -101,7 +104,6 @@ enum rcTimerLabel
|
|
|
class rcContext
|
|
|
{
|
|
|
public:
|
|
|
-
|
|
|
/// Contructor.
|
|
|
/// @param[in] state TRUE if the logging and performance timers should be enabled. [Default: true]
|
|
|
inline rcContext(bool state = true) : m_logEnabled(state), m_timerEnabled(state) {}
|
|
@@ -140,31 +142,30 @@ public:
|
|
|
inline int getAccumulatedTime(const rcTimerLabel label) const { return m_timerEnabled ? doGetAccumulatedTime(label) : -1; }
|
|
|
|
|
|
protected:
|
|
|
-
|
|
|
/// Clears all log entries.
|
|
|
- virtual void doResetLog() {}
|
|
|
+ virtual void doResetLog();
|
|
|
|
|
|
/// Logs a message.
|
|
|
/// @param[in] category The category of the message.
|
|
|
/// @param[in] msg The formatted message.
|
|
|
/// @param[in] len The length of the formatted message.
|
|
|
- virtual void doLog(const rcLogCategory /*category*/, const char* /*msg*/, const int /*len*/) {}
|
|
|
+ virtual void doLog(const rcLogCategory category, const char* msg, const int len) { rcIgnoreUnused(category); rcIgnoreUnused(msg); rcIgnoreUnused(len); }
|
|
|
|
|
|
/// Clears all timers. (Resets all to unused.)
|
|
|
virtual void doResetTimers() {}
|
|
|
|
|
|
/// Starts the specified performance timer.
|
|
|
/// @param[in] label The category of timer.
|
|
|
- virtual void doStartTimer(const rcTimerLabel /*label*/) {}
|
|
|
+ virtual void doStartTimer(const rcTimerLabel label) { rcIgnoreUnused(label); }
|
|
|
|
|
|
/// Stops the specified performance timer.
|
|
|
/// @param[in] label The category of the timer.
|
|
|
- virtual void doStopTimer(const rcTimerLabel /*label*/) {}
|
|
|
+ virtual void doStopTimer(const rcTimerLabel label) { rcIgnoreUnused(label); }
|
|
|
|
|
|
/// Returns the total accumulated time of the specified performance timer.
|
|
|
/// @param[in] label The category of the timer.
|
|
|
/// @return The accumulated time of the timer, or -1 if timers are disabled or the timer has never been started.
|
|
|
- virtual int doGetAccumulatedTime(const rcTimerLabel /*label*/) const { return -1; }
|
|
|
+ virtual int doGetAccumulatedTime(const rcTimerLabel label) const { rcIgnoreUnused(label); return -1; }
|
|
|
|
|
|
/// True if logging is enabled.
|
|
|
bool m_logEnabled;
|
|
@@ -564,7 +565,7 @@ static const int RC_AREA_BORDER = 0x20000;
|
|
|
enum rcBuildContoursFlags
|
|
|
{
|
|
|
RC_CONTOUR_TESS_WALL_EDGES = 0x01, ///< Tessellate solid (impassable) edges during contour simplification.
|
|
|
- RC_CONTOUR_TESS_AREA_EDGES = 0x02, ///< Tessellate edges between areas during contour simplification.
|
|
|
+ RC_CONTOUR_TESS_AREA_EDGES = 0x02 ///< Tessellate edges between areas during contour simplification.
|
|
|
};
|
|
|
|
|
|
/// Applied to the region id field of contour vertices in order to extract the region id.
|
|
@@ -595,11 +596,6 @@ static const int RC_NOT_CONNECTED = 0x3f;
|
|
|
/// @name General helper functions
|
|
|
/// @{
|
|
|
|
|
|
-/// Used to ignore a function parameter. VS complains about unused parameters
|
|
|
-/// and this silences the warning.
|
|
|
-/// @param [in] _ Unused parameter
|
|
|
-template<class T> void rcIgnoreUnused(const T&) { }
|
|
|
-
|
|
|
/// Swaps the values of the two parameters.
|
|
|
/// @param[in,out] a Value A
|
|
|
/// @param[in,out] b Value B
|
|
@@ -996,6 +992,7 @@ void rcMarkConvexPolyArea(rcContext* ctx, const float* verts, const int nverts,
|
|
|
/// @ingroup recast
|
|
|
/// @param[in] verts The vertices of the polygon [Form: (x, y, z) * @p nverts]
|
|
|
/// @param[in] nverts The number of vertices in the polygon.
|
|
|
+/// @param[in] offset How much to offset the polygon by. [Units: wu]
|
|
|
/// @param[out] outVerts The offset vertices (should hold up to 2 * @p nverts) [Form: (x, y, z) * return value]
|
|
|
/// @param[in] maxOutVerts The max number of vertices that can be stored to @p outVerts.
|
|
|
/// @returns Number of vertices in the offset polygon or 0 if too few vertices in @p outVerts.
|