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.
__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)
__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
__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:
- 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:
- 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:
- 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:
- 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:
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