CAnnulusSegment.h
Go to the documentation of this file.
1 #ifndef i2d_CAnnulusSegment_included
2 #define i2d_CAnnulusSegment_included
3 
4 
5 // ACF includes
6 #include <i2d/CAnnulus.h>
7 
8 
9 namespace i2d
10 {
11 
12 
17 {
18 public:
20 
23  const i2d::CVector2d& center,
24  double innerRadius,
25  double outerRadius,
26  double beginAngle,
27  double endAngle);
28 
29  double GetBeginAngle() const;
30  void SetBeginAngle(double angle);
31  double GetEndAngle() const;
32  void SetEndAngle(double angle);
33 
37  bool Contains(const i2d::CVector2d& point) const;
38 
39  // reimplemented (i2d::IObject2d)
40  virtual CRectangle GetBoundingBox() const;
41  virtual bool Transform(
42  const ITransformation2d& transformation,
44  double* errorFactorPtr = NULL);
45  virtual bool InvTransform(
46  const ITransformation2d& transformation,
48  double* errorFactorPtr = NULL);
49 
50  // reimplemented (istd::IChangeable)
51  virtual int GetSupportedOperations() const;
52  virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS);
54 
55  // reimplemented (iser::ISerializable)
56  virtual bool Serialize(iser::IArchive& archive);
57 
58 private:
59  istd::CRange m_angleRange;
60 };
61 
62 
63 } // namespace i2d
64 
65 
66 #endif // !i2d_CAnnulusSegment_included
67 
68 
External references are simple ignored.
Definition: IChangeable.h:197
CompatibilityMode
Control how relationship betweeen objects are interpreted.
Definition: IChangeable.h:186
Common interface for all calibration objects.
virtual bool CopyFrom(const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS)
virtual CRectangle GetBoundingBox() const
Get bounding box of this shape.
bool Contains(const i2d::CVector2d &point) const
Return true if a given point is inside of annulus segment area.
Definition of graphical annulus object.
Definition: CAnnulus.h:19
There are no preferences, should be automatically selected.
virtual bool InvTransform(const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL)
Do inverse transformation of this object.
double GetEndAngle() const
Represent input/output persistence archive.
Definition: IArchive.h:30
Common interface for data model objects, which can be changed.
Definition: IChangeable.h:24
Definition of rectangle area orthogonal to axis of coordination system.
Definition: CRectangle.h:26
Definition of position or mathematical vector on 2D plane.
Definition: CVector2d.h:28
void SetBeginAngle(double angle)
virtual bool Transform(const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL)
Transform this object using some transformation.
void SetEndAngle(double angle)
#define NULL
Definition: istd.h:64
double GetBeginAngle() const
virtual istd::IChangeable * CloneMe(CompatibilityMode mode=CM_WITHOUT_REFS) const
Make a copy of this object.
virtual int GetSupportedOperations() const
Get set of flags for supported operations.
virtual bool Serialize(iser::IArchive &archive)
Load or store state of this object as a archive stream.
Radial segment of the annulus object.

© 2007-2017 Witold Gantzke and Kirill Lepskiy