コード例 #1
0
    EXPORT_API int nmlsBuildLayers(nmgBuildContext* ctx
        , rcCompactHeightfield* chf
        , const int borderSize
        , const int walkableHeight
        , rcHeightfieldLayerSet** resultSet)
    {
        if (!ctx || !chf)
            return -1;

        rcHeightfieldLayerSet* lset = rcAllocHeightfieldLayerSet();
        if (!lset)
            return -1;

        if (!rcBuildHeightfieldLayers(ctx
            , *chf
            , borderSize
            , walkableHeight
            , *lset))
        {
            rcFreeHeightfieldLayerSet(lset);
            return -1;
        }

        if (lset->nlayers == 0)
        {
            rcFreeHeightfieldLayerSet(lset);
            return -1;
        }

        *resultSet = lset;
        return lset->nlayers;
    }
コード例 #2
0
ファイル: NavBuildData.cpp プロジェクト: 1vanK/Urho3D
DynamicNavBuildData::~DynamicNavBuildData()
{
    dtFreeTileCacheContourSet(alloc_, contourSet_);
    contourSet_ = nullptr;
    dtFreeTileCachePolyMesh(alloc_, polyMesh_);
    polyMesh_ = nullptr;
    rcFreeHeightfieldLayerSet(heightFieldLayers_);
    heightFieldLayers_ = nullptr;
}
コード例 #3
0
	~RasterizationContext()
	{
		rcFreeHeightField(solid);
		delete [] triareas;
		rcFreeHeightfieldLayerSet(lset);
		rcFreeCompactHeightfield(chf);
		for (int i = 0; i < MAX_LAYERS; ++i)
		{
			dtFree(tiles[i].data);
			tiles[i].data = 0;
		}
	}
コード例 #4
0
 EXPORT_API void nmlsFreeLayers(rcHeightfieldLayerSet* lset)
 {
     rcFreeHeightfieldLayerSet(lset);
 }