33 CArc(
double startAngle,
double endAngle,
const double radius,
const CVector2d& center);
81 double* errorFactorPtr =
NULL)
override;
85 double* errorFactorPtr =
NULL)
override;
90 double* errorFactorPtr =
NULL)
const override;
95 double* errorFactorPtr =
NULL)
const override;
Represents a circular arc defined by a center point, radius, and start/end angles.
virtual bool Serialize(iser::IArchive &archive) override
Load or store state of this object as a archive stream.
CVector2d GetPositionFromAlpha(double alpha) const
Get position of point using normed 'alpha' value.
virtual int GetSupportedOperations() const override
Get set of flags for supported operations.
virtual bool Transform(const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) override
Transform this object using some transformation.
void SetEndAngle(double angle)
Set the ending angle of the arc.
virtual bool InvTransform(const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) override
Do inverse transformation of this object.
bool operator!=(const CArc &arc) const
Compare this arc with another arc for inequality.
virtual bool GetTransformed(const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const override
Calulate transformation of the object into second one.
void SetStartAngle(double angle)
Set the starting angle of the arc.
double GetEndAngle() const
Get the ending angle of the arc.
double GetStartAngle() const
Get the starting angle of the arc.
virtual istd::TUniqueInterfacePtr< istd::IChangeable > CloneMe(CompatibilityMode mode=CM_WITHOUT_REFS) const override
Make a copy of this object.
CArc()
Construct an empty arc object.
virtual bool CopyFrom(const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
virtual bool GetInvTransformed(const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const override
Calulate inverse transformation of the object into second one.
CArc(double startAngle, double endAngle, const double radius, const CVector2d ¢er)
Construct an arc with specified parameters.
virtual CRectangle GetBoundingBox() const override
Get bounding box of this shape.
bool operator==(const CArc &arc) const
Compare this arc with another arc for equality.
Definition of graphical circle object.
Definition of rectangle area orthogonal to axis of coordination system.
Definition of position or mathematical vector on 2D plane.
Common interface for describing the 2D-objects.
Represents an input/output persistence archive for object serialization.
CompatibilityMode
Control how relationship betweeen objects are interpreted.
@ CM_WITHOUT_REFS
External references are simple ignored.
Unique ownership smart pointer for interface types.