16 float GetY(
float x)
const{
return intersect+slope*x;}
24 list<GDIClipNode>::const_iterator link;
41 bool operator ==(
const RECT &rect);
46 void Translate(
float dx,
float dy,
float dz=0);
47 void Translate(
const Vector3 &v);
67 bool LineIntersect(
const GDISimpleEdge &edge,vector<Vector3> &outpoint,vector<int> &outedge)
const;
72 bool InsideTest(
const Vector3 &point)
const;
79 int PolygonClip(
const CGDIRegion ®ion,vector<CGDIRegion> &outregions);
91 Vector3 GetPoint(
int index)
const;
92 int PointCount()
const{
return (
int)m_points.size();}
104 bool IsPoint1Closer(
const Vector3 &point,
const Vector3 &point1,
const Vector3 &point2,
int relation=0);
107 void Preprocessing();
108 vector<Vector3> m_points;
109 vector<GDISimpleEdge> m_edges;
110 list<GDIClipNode> m_nodes;
Definition: GDIRegion.h:19
different physics engine has different winding order.
Definition: EventBinding.h:32
Definition: ManagedDef.h:18
Standard 3-dimensional vector.
Definition: ParaVector3.h:16
bool IsInfinite() const
Check if the region is infinite.
Definition: GDIRegion.h:56
Definition: GDIRegion.h:7
We always shape the region points and edges in clockwise.
Definition: GDIRegion.h:29