DepthSortList
Engine/source/collision/depthSortList.h
Classes:
Private Types
Parent
Public Types
PolyExtentsList
Public Attributes
Public Functions
getExtents(U32 idx)
bool
getMapping(MatrixF * , Box3F * )
Return list transform and bounds in list space.
getOrderedPoly(U32 ith, Poly ** poly, PolyExtents ** polyExtent)
handleOverlap(Poly * testPoly, Point3F & testNormal, F32 testDot, S32 & testOffset, bool & switched)
setExtents(Poly & , PolyExtents & )
bool
sortNext()
Detailed Description
Private Types
typedef ClippedPolyList Parent
Public Types
typedef Vector< PolyExtents > PolyExtentsList
typedef Vector< U32 > PolyIndexList
Public Attributes
S32 mBase
F32 mBaseDot
PolyExtents * mBaseExtents
Point3F * mBaseNormal
Poly * mBasePoly
F32 mBaseYMax
Point3F mExtent
S32 mMaxTouched
PolyExtentsList mPolyExtentsList
PolyIndexList mPolyIndexList
Public Functions
DepthSortList()
~DepthSortList()
clear()
clearSort()
cookieCutter(Poly & cutter, Poly & cuttee, Vector< Poly > & scraps, Vector< Poly > & cookies, Vector< Point3F > & cookieVerts)
depthPartition(const Point3F * sourceVerts, U32 numVerts, Vector< Poly > & partition, Vector< Point3F > & partitionVerts)
end()
Reimplemented from: ClippedPolyList
getExtents(U32 idx)
getMapping(MatrixF * , Box3F * )
Reimplemented from: AbstractPolyList
getOrderedPoly(U32 ith, Poly ** poly, PolyExtents ** polyExtent)
getPoly(U32 idx)
handleOverlap(Poly * testPoly, Point3F & testNormal, F32 testDot, S32 & testOffset, bool & switched)
overlap(Poly * , Poly * )
set(const MatrixF & mat, Point3F & extents)
setBase(S32 )
setExtents(Poly & , PolyExtents & )
sort()
sortByYExtents()
sortNext()
splitPoly(const Poly & sourcePoly, Point3F & normal, F32 k, Poly & front, Poly & back)