staticCPolyhedron_AllocByNew*Allocate(unsignedshortiVertices,unsignedshortiLines,unsignedshortiIndices,unsignedshortiPolygons);//creates the polyhedron along with enough memory to hold all it's data in a single allocation
private:
CPolyhedron_AllocByNew(void){};//CPolyhedron_AllocByNew::Allocate() is the only way to create one of these.
};
CPolyhedron*GeneratePolyhedronFromPlanes(constfloat*pOutwardFacingPlanes,intiPlaneCount,floatfOnPlaneEpsilon,boolbUseTemporaryMemory=false);//be sure to polyhedron->Release()
CPolyhedron*ClipPolyhedron(constCPolyhedron*pExistingPolyhedron,constfloat*pOutwardFacingPlanes,intiPlaneCount,floatfOnPlaneEpsilon,boolbUseTemporaryMemory=false);//this does NOT modify/delete the existing polyhedron
CPolyhedron*GetTempPolyhedron(unsignedshortiVertices,unsignedshortiLines,unsignedshortiIndices,unsignedshortiPolygons);//grab the temporary polyhedron. Avoids new/delete for quick work. Can only be in use by one chunk of code at a time