103 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.
i2d::CVector2d GetInterpolatedPosition(double position) const
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 double GetLength() const
Get length of this polyline.
bool GetInterpolatedPosition(double position, i2d::CVector2d &output) const
Get position on this polyline in order to normal position [0..1].
QByteArray GetFactoryId() const override
virtual i2d::CLine2d GetSegmentLine(int segmentIndex) const
Return number of line segments.
std::unique_ptr< istd::IChangeable > CloneMe(CompatibilityMode mode=CM_WITHOUT_REFS) const override
Make a copy of this object.
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.
bool IsEqual(const IChangeable &object) const override
virtual void SetClosed(bool state=true)
Set polyline to be opened or closed.
bool Serialize(iser::IArchive &archive) override
Load or store state of this object as a archive stream.
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.
bool CopyFrom(const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
static QByteArray GetTypeName()
Definition of position or mathematical vector on 2D plane.
Represent input/output persistence archive.
CompatibilityMode
Control how relationship betweeen objects are interpreted.
@ CM_WITHOUT_REFS
External references are simple ignored.