19 #ifndef GEOM_COMPOSITE2_HH
20 #define GEOM_COMPOSITE2_HH
39 Vec2 GetOrigin()
const;
40 Vec2 GetDirection()
const;
49 Real GetWidth()
const;
50 Real GetHeight()
const;
51 Vec2 GetStart()
const;
53 void SetStart(
const Vec2& v);
54 void SetEnd(
const Vec2& v);
56 Vec2 operator[] (
unsigned index)
const;
57 Vec2& operator[] (
unsigned index);
73 Polygon2(
const std::vector<Vec2>& v);
81 void SetNode(
unsigned int i,
const Vec2& v);
82 circular_iterator FindSegment(std::vector<Vec2>::const_iterator start,std::vector<Vec2>::const_iterator
end);
84 void Erase(circular_iterator first,circular_iterator last);
88 Vec2 GetCentroid()
const;
89 void Expand(
Real val);
125 Vec2 At(
Real t,
bool righthalf=
true)
const;
147 void SetCenter(
const Vec2& center);
148 void SetRadius(
Real r);
149 Vec2 GetCenter()
const;
150 Real GetRadius()
const;
151 Real GetCircumference()
const;
152 Real GetArea()
const;
circular_iter< Polygon2 > circular_iterator
const_circular_iter< Polygon2 > const_circular_iterator
Vec2 operator*(const Vec2 &v, const Mat2 &m)
vector matrix multiplication
Vec2 GetNode(unsigned int i) const
DLLEXPORT_OST_IMG_BASE ImageHandle operator+(const ConstImageHandle &h, Real v)
void AddNode(const Vec2 &n)
pointer_it< T > end(const std::vector< T > &values)
pointer_it< T > begin(const std::vector< T > &values)
void SetGamma(Real gamma)
const_circular_iterator cbegin() const
const_circular_iterator cend() const
circular_iterator FindNode(const Vec2 &v)
circular_iterator cbegin()
unsigned int GetNodeCount() const
void SetGamma(Real gamma)
#define DLLEXPORT_OST_GEOM