100 virtual bool IsEqual(
const IChangeable&
object)
const override;
Definition of a line in 2D-space.
Definition of the data model for a polygon.
2D-object representing a polyline.
virtual istd::TUniqueInterfacePtr< istd::IChangeable > CloneMe(CompatibilityMode mode=CM_WITHOUT_REFS) const override
Make a copy of this object.
i2d::CVector2d GetInterpolatedPosition(double position) const
virtual bool Serialize(iser::IArchive &archive) override
Load or store state of this object as a archive stream.
bool GetAdjacentNodeIndices(const i2d::CVector2d &position, int &previousIndex, int &nextIndex) const
Get adjacent node indices by position on line, and position of arbitrary point.
bool GetAdjacentNodes(double atPositionNormalized, i2d::CVector2d &previous, i2d::CVector2d &next, double &alpha) const
Get adjacent nodes by position on line, and by position of arbitrary point.
bool GetAdjacentNodeIndices(double position, int &previousIndex, int &nextIndex, double &alpha) const
Get adjacent node indices by position on line, and position of arbitrary point.
virtual bool IsEqual(const IChangeable &object) const override
virtual double GetLength() const
Get length of this polyline.
virtual QByteArray GetFactoryId() const override
bool GetInterpolatedPosition(double position, i2d::CVector2d &output) const
Get position on this polyline in order to normal position [0..1].
virtual i2d::CLine2d GetSegmentLine(int segmentIndex) const
Return number of line segments.
virtual bool CopyFrom(const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
bool GetAdjacentNodes(const i2d::CVector2d &position, i2d::CVector2d &previous, i2d::CVector2d &next) const
Get adjacent nodes by position on line, and by position of arbitrary point.
virtual void SetClosed(bool state=true)
Set polyline to be opened or closed.
bool GetAdjacentLine(const i2d::CVector2d &position, i2d::CLine2d &line) const
Get adjacent segment by position on line, and by position of arbitrary point.
bool GetAdjacentLine(double position, i2d::CLine2d &line, double &alpha) const
Get adjacent segment by position on line, and by position of arbitrary point.
virtual i2d::CVector2d GetKneeVector(int nodeIndex) const
Return vector for knee, that has the same angle to both neighbor segments.
virtual bool IsClosed() const
virtual int GetSegmentsCount() const
Return number of line segments.
static QByteArray GetTypeName()
bool GetAdjacentNodeIndices(double position, int &previousIndex, int &nextIndex) const
Definition of position or mathematical vector on 2D plane.
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.