![]() |
ICF 3.0.5.47
Technical documentation of ICF Libraries
|
Definition of tube region based on polyline. More...
#include <CTubePolyline.h>
Public Types | |
typedef TDataNodePolyline< CTubeNode > | BaseClass |
![]() | |
typedef CDataNodePolylineBase | BaseClass |
![]() | |
typedef CPolyline | BaseClass |
![]() | |
typedef CPolygon | BaseClass |
![]() | |
typedef CPolypoint | BaseClass |
![]() | |
enum | ChangeFlags { CF_OBJECT_POSITION = 0x6ba340 } |
![]() | |
enum | ChangeFlags { CF_ICF_INTERNAL = 0 , CF_ALL_DATA , CF_ANY , CF_DESTROYING , CF_DELEGATED , CF_NO_UNDO } |
Data model change notification flags. More... | |
enum | SupportedOperations { SO_NONE = 0 , SO_OBSERVE = 1 << 0 , SO_COPY = 1 << 1 , SO_CLONE = 1 << 2 , SO_COMPARE = 1 << 3 , SO_RESET = 1 << 4 , SO_CHANGE_LOCK = 1 << 5 } |
Flags for supported operations. More... | |
enum | CompatibilityMode { CM_STRICT , CM_WITHOUT_REFS , CM_WITH_REFS , CM_CONVERT } |
Control how relationship betweeen objects are interpreted. More... | |
Public Member Functions | |
virtual bool | Transform (const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=nullptr) |
Transform this object using some transformation. | |
![]() | |
const CTubeNode & | GetTNodeData (int nodeIndex) const |
Get user data from the given node. | |
CTubeNode & | GetTNodeDataRef (int nodeIndex) |
Get reference of user data in the given node. | |
const iser::ISerializable & | GetNodeData (int nodeIndex) const override |
Get user data from the given node. | |
iser::ISerializable & | GetNodeDataRef (int nodeIndex) override |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
void | Clear () override |
Removes all nodes. | |
void | SetNodesCount (int nodesCount) override |
Set new nodes count. | |
bool | InsertNode (const i2d::CVector2d &position) override |
Insert a node at the end of node table. | |
bool | InsertNode (int index, const i2d::CVector2d &position) override |
Insert a node at specified index. | |
bool | RemoveNode (int index) override |
Remove a node at specified index. | |
bool | CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override |
![]() | |
virtual bool | Serialize (iser::IArchive &archive) |
Load or store state of this object as a archive stream. | |
![]() | |
CPolyline () | |
virtual bool | IsClosed () const |
virtual void | SetClosed (bool state=true) |
Set polyline to be opened or closed. | |
virtual int | GetSegmentsCount () const |
Return number of line segments. | |
virtual i2d::CLine2d | GetSegmentLine (int segmentIndex) const |
Return number of line segments. | |
virtual double | GetLength () const |
Get length of this polyline. | |
virtual i2d::CVector2d | GetKneeVector (int nodeIndex) const |
Return vector for knee, that has the same angle to both neighbor segments. | |
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 | 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 | GetAdjacentNodeIndices (double position, int &previousIndex, int &nextIndex, double &alpha) const |
Get adjacent node indices by position on line, and position of arbitrary point. | |
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 | GetAdjacentLine (double position, i2d::CLine2d &line, double &alpha) const |
Get adjacent segment by position on line, and by position of arbitrary point. | |
bool | GetAdjacentLine (const i2d::CVector2d &position, i2d::CLine2d &line) const |
Get adjacent segment by position on line, and by position of arbitrary point. | |
bool | GetInterpolatedPosition (double position, i2d::CVector2d &output) const |
Get position on this polyline in order to normal position [0..1]. | |
i2d::CVector2d | GetInterpolatedPosition (double position) const |
bool | Serialize (iser::IArchive &archive) override |
Load or store state of this object as a archive stream. | |
QByteArray | GetFactoryId () const override |
bool | CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override |
std::unique_ptr< istd::IChangeable > | CloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const override |
Make a copy of this object. | |
bool | IsEqual (const IChangeable &object) const override |
![]() | |
CPolygon (const QPolygonF &qpolygon=QPolygonF()) | |
operator QPolygonF () const | |
bool | Contains (const i2d::CVector2d &point) const |
Check if the polygon contains a given point. | |
virtual double | GetOutlineLength () const |
Get outline length of this polygon. | |
virtual void | FlipByX () |
Flip object by X-axis. | |
virtual void | FlipByY () |
Flip object by Y-axis. | |
virtual void | Rotate (double radians) |
Rotate object around its center. | |
virtual void | ReverseNodes () |
Reverses nodes order. | |
double | GetArea (bool oriented=false) const |
Get area of the polygon. | |
double | GetPerimeter () const |
Get perimeter of the polygon. | |
bool | CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override |
![]() | |
virtual int | GetNodesCount () const |
Return size of node table. | |
bool | IsEmpty () const |
Return true if there are no points. | |
virtual const i2d::CVector2d & | GetNodePos (int index) const |
Return position of node at specified index. | |
i2d::CVector2d & | GetNodePosRef (int index) |
Get reference to position object for node. | |
virtual void | SetNodePos (int index, const i2d::CVector2d &position) |
Set node at specified index. | |
CVector2d | GetCenter () const override |
Returns center of this 2D-object. | |
void | MoveCenterTo (const CVector2d &position) override |
Move object to position position . | |
i2d::CRectangle | GetBoundingBox () const override |
Get bounding box of this shape. | |
bool | InvTransform (const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=nullptr) override |
Do inverse transformation of this object. | |
bool | GetTransformed (const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=nullptr) const override |
Calulate transformation of the object into second one. | |
bool | GetInvTransformed (const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=nullptr) const override |
Calulate inverse transformation of the object into second one. | |
QByteArray | GetFactoryId () const override |
bool | Serialize (iser::IArchive &archive) override |
Load or store state of this object as a archive stream. | |
int | GetSupportedOperations () const override |
Get set of flags for supported operations. | |
bool | CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override |
std::unique_ptr< istd::IChangeable > | CloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const override |
Make a copy of this object. | |
bool | IsEqual (const IChangeable &object) const override |
![]() | |
CObject2dBase () | |
CObject2dBase (const CObject2dBase &object2d) | |
CObject2dBase (CObject2dBase &&object2d) | |
const ICalibration2d * | GetCalibration () const override |
Get access to transformation object, which transforms a local logical coordinate system to global one. | |
void | SetCalibration (istd::TOptDelPtr< const ICalibration2d > &&calibrationPtr) override |
Set calibration of this object. | |
bool | CopyFrom (const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override |
Copy this object from another one. | |
bool | ResetData (CompatibilityMode mode=CM_WITHOUT_REFS) override |
Reset data to its default state. | |
CObject2dBase & | operator= (const CObject2dBase &object2d) |
CObject2dBase & | operator= (CObject2dBase &&object2d) |
![]() | |
![]() | |
![]() | |
virtual quint32 | GetMinimalVersion (int versionId) const |
Get minimal needed version to correct storing of this data. | |
![]() | |
virtual bool | IsEqual (const IChangeable &object) const |
Compare this object with another object. | |
virtual QMutex * | GetChangesLock () const |
Get mutex beeing locked during changes, if available. | |
virtual void | BeginChanges (const ChangeSet &changeSet) |
Starts the change transaction. | |
virtual void | EndChanges (const ChangeSet &changeSet) |
Ends the change transaction. | |
virtual void | BeginChangeGroup (const ChangeSet &changeSet) |
Starts group of changes. | |
virtual void | EndChangeGroup (const ChangeSet &changeSet) |
Ends group of changes. | |
![]() |
Additional Inherited Members | |
![]() | |
static QByteArray | GetTypeName () |
![]() | |
static QByteArray | GetTypeName () |
![]() | |
static QByteArray | GetTypeName () |
![]() | |
static const ChangeSet & | GetNoChanges () |
Get empty set of changes. | |
static const ChangeSet & | GetAnyChange () |
Get anonymous change set. | |
static const ChangeSet & | GetAllChanges () |
Get anonymous change set. | |
static const ChangeSet & | GetDelegatedChanges () |
Get delegated change set. | |
![]() | |
virtual void | OnBeginChanges () |
Callback function for begin change event. | |
virtual void | OnEndChanges (const ChangeSet &changeSet) |
Callback function for end change event. | |
![]() | |
static const istd::IChangeable::ChangeSet | s_clearAllNodesChange |
static const istd::IChangeable::ChangeSet | s_createPolygonNodesChange |
static const istd::IChangeable::ChangeSet | s_insertPolygonNodeChange |
static const istd::IChangeable::ChangeSet | s_removePolygonNodeChange |
![]() | |
static const ChangeSet | s_objectMovedChange |
static const ChangeSet | s_objectModifiedChange |
Definition of tube region based on polyline.
Definition at line 21 of file CTubePolyline.h.
Definition at line 24 of file CTubePolyline.h.
|
virtual |
Transform this object using some transformation.
Please note, that this operation transforms logical coordinates, it means that the calibration will be ignored.
mode | controls needed transformation exactness. |
errorFactorPtr | optional output where approximated length of transformation error vector will be stored. Value 0 means that transformation is exactly done. |
Reimplemented from i2d::CPolypoint.
© Witold Gantzke and Kirill Lepskiy