3. Polylines

3.1. ccPolyline

All the inherited members are given here for convenience. Most of the time, this class is used rather than the bases classes.

class cloudComPy.ccPolyline

Bases: Polyline, ccShiftedObject

The polyline is considered as a cloud of points (in a specific order) with a open/closed state information.

__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: _cloudComPy.ccPolyline, arg0: _cloudComPy.GenericIndexedCloudPersist) -> None

polyline Constructor from a point cloud.

Parameters

associatedCloud (GenericIndexedCloudPersist) – the associated point cloud (i.e. the vertices)

  1. __init__(self: _cloudComPy.ccPolyline, arg0: list[Vector2Tpl<T>], arg1: bool) -> None

polyline Constructor from an array of 2D coordinates.

Parameters
  • points (list[tuple]) – array of 2D coordinates

  • isClosed (bool) – whether the polyline is closed

  1. __init__(self: _cloudComPy.ccPolyline, arg0: list[Vector3Tpl<T>], arg1: bool) -> None

polyline Constructor from an array of 3D coordinates.

Parameters
  • points (list[tuple]) – array of 3D coordinates

  • isClosed (bool) – whether the polyline is closed

addChild(self: _cloudComPy.ccHObject, child: _cloudComPy.ccHObject, dependencyFlags: int = <DEPENDENCY_FLAGS.DP_NONE: 0>, insertIndex: int = -1) bool

Adds a child.

warning the C++ default for DEPENDENCY_FLAGS (DP_PARENT_OF_OTHER) is replaced by DP_NONE in Python: The other values may induce a delete of the original child object in C++, not handled correctly on the Python side.

Parameters
  • child (ccHObject) – child instance to append to the child list

  • dependencyFlags (DEPENDENCY_FLAGS,optional) – dependency flags, default DP_NONE

  • insertIndex (int,optional) – insertion index, default -1: if <0, child is simply appended to the children list.

Returns

success

Return type

bool

addPointIndex(self: _cloudComPy.ReferenceCloud, arg0: int, arg1: int) bool

Point global index insertion mechanism (range), thread safe.

Parameters
  • firstIndex (int) – first point global index of range

  • lastIndex (int) – last point global index of range (excluded)

Returns

false if not enough memory

Return type

bool

addPointIndexGlobal(self: _cloudComPy.ReferenceCloud, arg0: int) bool

Point global index insertion mechanism, Thread safe.

Parameters

globalIndex (int) – a point global index

Returns

false if not enough memory

Return type

bool

colorsShown(self: _cloudComPy.ccHObject) bool

Returns True if the colors are shown, False otherwise. It is used to prepare the state of the entity when it is saved in a .bin format, for reopening in the GUI in a predefined state (colors, normal, scalarFields).

Returns

whether the colors are shown.

Return type

bool

computeLength(self: _cloudComPy.ccPolyline) float

Computes the polyline length.

Returns

sum of segments length

Return type

float

countRef(self: object) int

Get the value of the Python reference counter. Do not use, for debug and tests only.

decRef(self: object) None

Decrement the Python reference counter. Do not use, for debug and tests only.

enableScalarField(self: _cloudComPy.ReferenceCloud) bool

Enables the scalar field associated to the cloud.

If the scalar field structure is not yet initialized/allocated, this method gives the signal for its creation. Otherwise, if possible the structure size should be pre-reserved with the same number of elements as the point cloud.

Warning If the cloud is empty, the scalar field will be empty as well. The scalar field will be reserved with the same capacity as the cloud.

Returns

success

Return type

bool

forwardIterator(self: _cloudComPy.ReferenceCloud) None

Forwards the local element iterator.

generateOrthoSections(self: _cloudComPy.ccPolyline, orthoSectionStep: float, orthoSectionWidth: float, vertDim: int = 2) list[_cloudComPy.ccPolyline]

Generate orthogonal sections (lines) along a polyline.

Parameters
  • orthoSectionStep (double) – distance between two sections

  • orthoSectionWidth (double) – length of the section

  • vertDim (int,optional) – vertical direction, value in O (oX), 1, (oY), 2 (oZ), default 2

Returns

list of sections

Return type

list of ccPolyline

getAssociatedCloud(self: _cloudComPy.ReferenceCloud) _cloudComPy.GenericIndexedCloudPersist

Returns the associated (source) cloud.

Returns

the source cloud

Return type

GenericIndexedCloudPersist

getBoundingBox(self: _cloudComPy.ReferenceCloud) list[Vector3Tpl<T>]

Returns the octree bounding box.

Method to request the octree bounding box limits.

Return limits

((Xmin,Ymin,Zmin), (Xmax,Ymax,Zmax))

Return type

tuple

getChild(self: _cloudComPy.ccHObject, arg0: int) _cloudComPy.ccHObject

Get child by index.

Parameters

index (int) – index of child, see getChildrenNumber().

Returns

child object

Return type

ccHObject

getChildCountRecursive(self: _cloudComPy.ccHObject) int

Get the number of children of this object, recursively.

Returns

number of children, recursively

Return type

int

getChildrenNumber(self: _cloudComPy.ccHObject) int

Get the number of direct children of this object.

Returns

number of direct children

Return type

int

getClassID(self: _cloudComPy.ccHObject) int

Get the type of this object.

Returns

type

Return type

CC_TYPE

getCurrentPointCoordinates(self: _cloudComPy.ReferenceCloud) Vector3Tpl<T>

Returns the coordinates of the point pointed by the current element.

Returns

coordinates

Return type

tuple

getCurrentPointGlobalIndex(self: _cloudComPy.ReferenceCloud) int

Returns the global index of the point pointed by the current element.

Returns

global index in the cloud

Return type

int

getCurrentPointScalarValue(self: _cloudComPy.ReferenceCloud) float

Returns the current point associated scalar value.

Returns

scalar value

Return type

float

getGlobalScale(self: _cloudComPy.ccShiftedObject) float

Returns the scale applied to original coordinates.

Returns

the scale applied to original coordinates.

Return type

double

getGlobalShift(self: _cloudComPy.ccShiftedObject) Vector3Tpl<T>

Returns the shift applied to original coordinates.

Original coordinates are equal to ‘(P/scale - shift)’ The shift is typically used when saving to a file.

Returns

applied shift (x, y, z)

Return type

tuple

getName(self: _cloudComPy.ccPolyline) QString

Get the name of the polyline.

Returns

name

Return type

str

getNextPoint(self: _cloudComPy.ReferenceCloud) Vector3Tpl<T>

Returns the next point (relatively to the global iterator position).

Virtual method to handle the cloud global iterator. Global iterator position should be increased by one each time this method is called.

Warning:

  • the returned object may not be persistent!

  • THIS METHOD MAY NOT BE COMPATIBLE WITH PARALLEL STRATEGIES

(see the DgmOctree::executeFunctionForAllCellsAtLevel_MT and DgmOctree::executeFunctionForAllCellsAtStartingLevel_MT methods).

Returns

coordinates of next point (TODO: what if no more?)

Return type

tuple

getParent(self: _cloudComPy.ccHObject) _cloudComPy.ccHObject

Get the parent of this object.

Returns

parent object

Return type

ccHObject

getPoint(self: _cloudComPy.ReferenceCloud, arg0: int) Vector3Tpl<T>

Returns the ith point.

Method to request a point with a specific index.

WARNINGS:

  • the returned object may not be persistent!

  • THIS METHOD MAY NOT BE COMPATIBLE WITH PARALLEL STRATEGIES

(see the DgmOctree::executeFunctionForAllCellsAtLevel_MT and DgmOctree::executeFunctionForAllCellsAtStartingLevel_MT methods). Consider the other version of getPoint instead or the GenericIndexedCloudPersist class.

Parameters

index (int) – index of the requested point (between 0 and the cloud size minus 1)

Returns

the requested point coordinates (undefined behavior if index is invalid)

Return type

tuple

getPointGlobalIndex(self: _cloudComPy.ReferenceCloud, arg0: int) int

Returns global index (i.e. relative to the associated cloud) of a given element.

Parameters

localIndex (int) – local index (i.e. relative to the internal index container)

Returns

global index

Return type

int

getPointScalarValue(self: _cloudComPy.ReferenceCloud, arg0: int) float

Returns the ith point associated scalar value.

Parameters

index (int) – local index

Returns

scalar value

Return type

float

hasColors(self: _cloudComPy.ccHObject) bool

Returns True if the entity has colors, False otherwise.

Returns

whether the entity has colors

Return type

bool

hasNormals(self: _cloudComPy.ccHObject) bool

Returns True if the entity has normals, False otherwise.

Returns

whether the entity has normals

Return type

bool

hasScalarFields(self: _cloudComPy.ccHObject) bool

Returns True if the entity has ScalarFields, False otherwise.

Returns

whether the entity has ScalarFields

Return type

bool

incRef(self: object) None

Increment the Python reference counter. Do not use, for debug and tests only.

is2DMode(self: _cloudComPy.ccPolyline) bool

Returns whether the polyline is considered as 2D or 3D.

Returns

whether the polyline is considered as 2D

Return type

bool

isA(self: _cloudComPy.ccHObject, arg0: int) bool

Check the type of object.

Parameters

type (CC_TYPES) – type to check

Returns

OK if object is of this type

Return type

bool

isClosed(self: _cloudComPy.Polyline) bool

Returns whether the polyline is closed or not.

Returns

whether the polyline is closed

Return type

bool

isKindOf(self: _cloudComPy.ccHObject, arg0: int) bool

Check the type of object.

Parameters

type (CC_TYPES) – type to check

Returns

OK if object is a kind of this type

Return type

bool

isScalarFieldEnabled(self: _cloudComPy.ReferenceCloud) bool

Returns True if the scalar field is enabled, False otherwise

Returns

is the ScalarField enabled?

Return type

bool

isShifted(self: _cloudComPy.ccShiftedObject) bool

Returns whether the cloud is shifted or not

Returns

whether the cloud is shifted or not

Return type

bool

normalsShown(self: _cloudComPy.ccHObject) bool

Returns True if the normals are shown, False otherwise. It is used to prepare the state of the entity when it is saved in a .bin format, for reopening in the GUI in a predefined state (colors, normal, scalarFields).

Returns

whether the normals are shown

Return type

bool

placeIteratorAtBeginning(self: _cloudComPy.ReferenceCloud) None

Sets the cloud iterator at the beginning.

Virtual method to handle the cloud global iterator

samplePoints(self: _cloudComPy.ccPolyline, densityBased: bool, samplingParameter: float, withRGB: bool = True) ccPointCloud

Sample points on a polyline.

Parameters
  • densityBased (bool) – whether samplingParameter is used as a density (number of points per length unit) or as the total number of points.

  • samplingParameter (double) – number of points (density or total, following densityBased

  • withRGB (bool,optional) – default True

Returns

a cloud of points

Return type

ccPointCloud

segmentCount(self: _cloudComPy.ccPolyline) int

Returns the number of segments.

Returns

the number of segments

Return type

int

set2DMode(self: _cloudComPy.ccPolyline, arg0: bool) None

Defines if the polyline is considered as 2D or 3D.

Parameters

state (bool) – if True, the polyline is set 2D

setClosed(self: _cloudComPy.Polyline, arg0: bool) None

Sets whether the polyline is closed or not.

Parameters

state (bool) – if True, the polyline is set closed

setCurrentPointScalarValue(self: _cloudComPy.ReferenceCloud, arg0: float) None

Sets the current point associated scalar value.

Parameters

value (float) – scalar value

setGlobalScale(self: _cloudComPy.ccShiftedObject, arg0: float) None

Sets the scale applied to original coordinates (information storage only).

Parameters

scale (double) – scale applied

setGlobalShift(self: _cloudComPy.ccShiftedObject, arg0: float, arg1: float, arg2: float) None

Sets shift applied to original coordinates (information storage only)

Such a shift can typically be applied at loading time. Original coordinates are equal to ‘(P/scale - shift)’

Parameters
  • x (double) – x shift

  • y (double) – y shift

  • z (double) – z shift

setName(self: _cloudComPy.ccPolyline, arg0: QString) None

Defines the polyline name.

Parameters

name (str) – the name to give to the polyline

setPointScalarValue(self: _cloudComPy.ReferenceCloud, arg0: int, arg1: float) None

Sets the ith point associated scalar value.

Parameters
  • index (int) – local index

  • value (float) – scalar value

sfShown(self: _cloudComPy.ccHObject) bool

Returns True if the scalar fields are shown, False otherwise. It is used to prepare the state of the entity when it is saved in a .bin format, for reopening in the GUI in a predefined state (colors, normal, scalarFields).

Returns

whether the scalar fields are shown

Return type

bool

showColors(self: _cloudComPy.ccHObject, arg0: bool) None

Prepare the state of the entity when it is saved in a .bin format, for reopening in the GUI in a predefined state (colors, normal, scalarFields).

Parameters

isShown (bool) – whether to show or not the colors.

showNormals(self: _cloudComPy.ccHObject, arg0: bool) None

Prepare the state of the entity when it is saved in a .bin format, for reopening in the GUI in a predefined state (colors, normal, scalarFields).

Parameters

isShown (bool) – whether to show or not the normals.

showSF(self: _cloudComPy.ccHObject, arg0: bool) None

Prepare the state of the entity when it is saved in a .bin format, for reopening in the GUI in a predefined state (colors, normal, scalarFields).

Parameters

isShown (bool) – whether to show or not the ScalarFields.

size(self: _cloudComPy.ccPolyline) int

Return the number of points.

Returns

the number of points in the polyline

Return type

int

smoothChaikin(self: _cloudComPy.ccPolyline, arg0: float, arg1: int) _cloudComPy.ccPolyline

Smoothes the polyline (Chaikin algorithm).

Parameters
  • ratio (float) – between 0 and 0.5 (excluded)

  • iteration (int) – Count of iteration

Returns

smoothed polyline

Return type

ccPolyline

3.2. bases classes for ccPolyline

class cloudComPy.Polyline

Bases: ReferenceCloud

A simple polyline class (base class)

The polyline is considered as a cloud of points (in a specific order) with a open/closed state information.

__init__(self: _cloudComPy.Polyline, arg0: _cloudComPy.GenericIndexedCloudPersist) None

polyline Constructor from a point cloud.

Parameters

associatedCloud (GenericIndexedCloudPersist) – the associated point cloud (i.e. the vertices)

isClosed(self: _cloudComPy.Polyline) bool

Returns whether the polyline is closed or not.

Returns

whether the polyline is closed

Return type

bool

setClosed(self: _cloudComPy.Polyline, arg0: bool) None

Sets whether the polyline is closed or not.

Parameters

state (bool) – if True, the polyline is set closed