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