29 explicit ccPolyline(GenericIndexedCloudPersist* associatedCloud);
60 void set2DMode(
bool state);
63 inline bool is2DMode()
const {
return m_mode2D; }
76 void setForeground(
bool state);
116 std::vector<ccPolyline*>& parts);
150 void importParametersFrom(
const ccPolyline& poly);
156 unsigned segmentCount()
const;
160 double samplingParameter,
169 unsigned iterationCount)
const;
177 bool createNewPolylinesFromSelection(std::vector<ccPolyline*>& output);
186 unsigned resolution = 48);
189 virtual Eigen::Vector3d
GetMinBound()
const override;
190 virtual Eigen::Vector3d
GetMaxBound()
const override;
191 virtual Eigen::Vector3d
GetCenter()
const override;
195 const Eigen::Matrix4d& transformation)
override;
197 bool relative =
true)
override;
199 const Eigen::Vector3d& center)
override;
201 const Eigen::Vector3d& center)
override;
242 bool toFile_MeOnly(QFile& out,
short dataVersion)
const override;
247 LoadedIDMap& oldToNewIDMap)
override;
float PointCoordinateType
Type of the coordinates of a (N-D) point.
int64_t CV_CLASS_ENUM
Type of object type flags (64 bits)
const QCPVector2D operator+(const QCPVector2D &vec1, const QCPVector2D &vec2)
virtual bool hasColors() const
Returns whether colors are enabled or not.
virtual void enableTempColor(bool state)
Set temporary color activation state.
Float version of ccGLMatrixTpl.
A 3D cloud interface with associated features (color, normals, octree, etc.)
virtual ecvOrientedBBox GetOrientedBoundingBox() const
virtual ccHObject & Scale(const double s, const Eigen::Vector3d ¢er)
Apply scaling to the geometry coordinates. Given a scaling factor , and center , a given point is tr...
virtual void drawMeOnly(CC_DRAW_CONTEXT &context)
Draws the entity only (not its children)
virtual short minimumFileVersion_MeOnly() const
virtual bool fromFile_MeOnly(QFile &in, short dataVersion, int flags, LoadedIDMap &oldToNewIDMap)
Loads own object data.
virtual Eigen::Vector3d GetCenter() const
Returns the center of the geometry coordinates.
virtual ccHObject & Translate(const Eigen::Vector3d &translation, bool relative=true)
Apply translation to the geometry coordinates.
virtual ccHObject & Rotate(const Eigen::Matrix3d &R, const Eigen::Vector3d ¢er)
Apply rotation to the geometry coordinates and normals. Given a rotation matrix , and center ,...
virtual bool toFile_MeOnly(QFile &out, short dataVersion) const
Save own object data.
virtual void drawBB(CC_DRAW_CONTEXT &context, const ecvColor::Rgb &col)
Draws the entity (and its children) bounding-box.
virtual unsigned getUniqueIDForDisplay() const
Returns object unqiue ID used for display.
virtual void applyGLTransformation(const ccGLMatrix &trans)
Applies a GL transformation to the entity.
virtual Eigen::Vector3d GetMaxBound() const
Returns max bounds for geometry coordinates.
virtual Eigen::Vector3d GetMinBound() const
Returns min bounds for geometry coordinates.
virtual ccHObject & Transform(const Eigen::Matrix4d &transformation)
Apply transformation (4x4 matrix) to the geometry coordinates.
virtual ccBBox getOwnBB(bool withGLFeatures=false)
Returns the entity's own bounding-box.
virtual ccBBox GetAxisAlignedBoundingBox() const
Returns an axis-aligned bounding box of the geometry.
A 3D cloud and its associated features (color, normals, scalar fields, etc.)
void setTransformFlag(bool state)
Defines if the polyline is considered as processed polyline.
ccPolyline & PaintUniformColor(const Eigen::Vector3d &color)
Assigns each line in the LineSet the same color.
PointCoordinateType getArrowLength() const
bool m_needTransform
Whether polyline should be considered as processed polyline.
virtual ~ccPolyline() override=default
Destructor.
bool verticesShown() const
Whether the polyline vertices should be displayed or not.
unsigned m_arrowIndex
Arrow index.
PointCoordinateType m_width
Width of the line.
bool needTransform() const
Returns whether the polyline is considered as 2D or 3D.
static QString MetaKeyPrefixDirection()
static QString MetaKeyUpDir()
bool is2DMode() const
Returns whether the polyline is considered as 2D or 3D.
bool m_showArrow
Whether to show an arrow or not.
ecvColor::Rgb m_rgbColor
Unique RGB color.
const ecvColor::Rgb & getColor() const
Returns the polyline color.
void setVertexMarkerWidth(int width)
Sets the width of vertex markers.
unsigned getArrowIndex() const
virtual CV_CLASS_ENUM getClassID() const override
Returns class ID.
virtual bool isSerializable() const override
Returns whether object is serializable of not.
static QString MetaKeyConstAltitude()
Meta data key: contour plot constant altitude (for contour plots, etc.)
static QString MetaKeyAbscissa()
Meta data key: profile abscissa along generatrix.
void showVertices(bool state)
Sets whether to display or hide the polyline vertices.
static QString MetaKeyPrefixCenter()
virtual bool IsEmpty() const override
PointCoordinateType m_arrowLength
Arrow length.
int m_vertMarkWidth
Vertex marker width.
bool m_showVertices
Whether vertices should be displayed or not.
PointCoordinateType getWidth() const
Returns the width of the line.
int getVertexMarkerWidth() const
Returns the width of vertex markers.
bool m_mode2D
Whether polyline should be considered as 2D (true) or 3D (false)
virtual void drawBB(CC_DRAW_CONTEXT &context, const ecvColor::Rgb &col) override
Draws the entity (and its children) bounding-box.
void setColor(const ecvColor::Rgb &col)
Sets the polyline color.
Shifted entity interface.
virtual void setGlobalShift(double x, double y, double z)
Sets shift applied to original coordinates (information storage only)
virtual void setGlobalScale(double scale)
virtual bool hasPoints() const
bool add(const ReferenceCloud &cloud)
Add another reference cloud.
constexpr static RgbTpl FromEigen(const Eigen::Vector3d &t)
bool setColor(ccHObject::Container selectedEntities, bool colorize, QWidget *parent)
void operator+=(MiniVec< T, N > &a, const MiniVec< T, N > &b)