godot/thirdparty/recastnavigation/Recast/Source/Recast.cpp

//
// Copyright (c) 2009-2010 Mikko Mononen [email protected]
//
// This software is provided 'as-is', without any express or implied
// warranty.  In no event will the authors be held liable for any damages
// arising from the use of this software.
// Permission is granted to anyone to use this software for any purpose,
// including commercial applications, and to alter it and redistribute it
// freely, subject to the following restrictions:
// 1. The origin of this software must not be misrepresented; you must not
//    claim that you wrote the original software. If you use this software
//    in a product, an acknowledgment in the product documentation would be
//    appreciated but is not required.
// 2. Altered source versions must be plainly marked as such, and must not be
//    misrepresented as being the original software.
// 3. This notice may not be removed or altered from any source distribution.
//

#include "Recast.h"
#include "RecastAlloc.h"
#include "RecastAssert.h"

#include <math.h>
#include <string.h>
#include <stdio.h>
#include <stdarg.h>

namespace
{
/// Allocates and constructs an object of the given type, returning a pointer.
/// @param[in]		allocLifetime	Allocation lifetime hint
template<typename T>
T* rcNew(const rcAllocHint allocLifetime)
{}

/// Destroys and frees an object allocated with rcNew.
/// @param[in]     ptr    The object pointer to delete.
template<typename T>
void rcDelete(T* ptr)
{}
} // anonymous namespace

float rcSqrt(float x)
{}

void rcContext::log(const rcLogCategory category, const char* format, ...)
{}

void rcContext::doResetLog()
{}

rcHeightfield* rcAllocHeightfield()
{}

void rcFreeHeightField(rcHeightfield* heightfield)
{}

rcHeightfield::rcHeightfield()
:{}

rcHeightfield::~rcHeightfield()
{}

rcCompactHeightfield* rcAllocCompactHeightfield()
{}

void rcFreeCompactHeightfield(rcCompactHeightfield* compactHeightfield)
{}

rcCompactHeightfield::rcCompactHeightfield()
:{}

rcCompactHeightfield::~rcCompactHeightfield()
{}

rcHeightfieldLayerSet* rcAllocHeightfieldLayerSet()
{}

void rcFreeHeightfieldLayerSet(rcHeightfieldLayerSet* layerSet)
{}

rcHeightfieldLayerSet::rcHeightfieldLayerSet()
:{}

rcHeightfieldLayerSet::~rcHeightfieldLayerSet()
{}


rcContourSet* rcAllocContourSet()
{}

void rcFreeContourSet(rcContourSet* contourSet)
{}

rcContourSet::rcContourSet()
:{}

rcContourSet::~rcContourSet()
{}

rcPolyMesh* rcAllocPolyMesh()
{}

void rcFreePolyMesh(rcPolyMesh* polyMesh)
{}

rcPolyMesh::rcPolyMesh()
:{}

rcPolyMesh::~rcPolyMesh()
{}

rcPolyMeshDetail* rcAllocPolyMeshDetail()
{}

void rcFreePolyMeshDetail(rcPolyMeshDetail* detailMesh)
{}

rcPolyMeshDetail::rcPolyMeshDetail()
:{}

void rcCalcBounds(const float* verts, int numVerts, float* minBounds, float* maxBounds)
{}

void rcCalcGridSize(const float* minBounds, const float* maxBounds, const float cellSize, int* sizeX, int* sizeZ)
{}

bool rcCreateHeightfield(rcContext* context, rcHeightfield& heightfield, int sizeX, int sizeZ,
                         const float* minBounds, const float* maxBounds,
                         float cellSize, float cellHeight)
{}

static void calcTriNormal(const float* v0, const float* v1, const float* v2, float* faceNormal)
{}

void rcMarkWalkableTriangles(rcContext* context, const float walkableSlopeAngle,
                             const float* verts, const int numVerts,
                             const int* tris, const int numTris,
                             unsigned char* triAreaIDs)
{}

void rcClearUnwalkableTriangles(rcContext* context, const float walkableSlopeAngle,
                                const float* verts, int numVerts,
                                const int* tris, int numTris,
                                unsigned char* triAreaIDs)
{}

int rcGetHeightFieldSpanCount(rcContext* context, const rcHeightfield& heightfield)
{}

bool rcBuildCompactHeightfield(rcContext* context, const int walkableHeight, const int walkableClimb,
                               const rcHeightfield& heightfield, rcCompactHeightfield& compactHeightfield)
{}