Klamp't  0.8.1
Polygon2DSampler.h
1 #ifndef POLYGON_SAMPLER_H
2 #define POLYGON_SAMPLER_H
3 
4 #include <KrisLibrary/geometry/rayprimitives.h>
5 #include "TriangleSampler.h"
6 using Geometry::PointRay2D;
7 
15 {
16 public:
17  void Set(const vector<Vector2>& poly);
18  void Set(const vector<PointRay2D>& poly,Real rayBound);
19  void Sample(Vector2& x) const { return Triangle2DSampler::SamplePoint(x); }
20  bool IsEmpty() const { return tris.size()==0; }
21  void Clear() { Triangle2DSampler::Clear(); }
22 };
23 
28 {
29 public:
30  void Set(const vector<Vector3>& poly);
31  void Sample(Vector3& x) const { return Triangle3DSampler::SamplePoint(x); }
32  bool IsEmpty() const { return tris.size()==0; }
33  void Clear() { Triangle3DSampler::Clear(); }
34 };
35 
36 
37 #endif
Samples points in a list of 3d triangles.
Definition: TriangleSampler.h:37
Samples points in a list of 2d triangles.
Definition: TriangleSampler.h:16
Samples points in a convex polygon (in 3D).
Definition: Polygon2DSampler.h:27
Samples points in a convex polygon.
Definition: Polygon2DSampler.h:14