1. cloudComPy module, functions

cloudComPy is the Python module interfacing cloudCompare library. Python3 access to cloudCompare objects is done like this:

import cloudComPy as cc 
cc.initCC()  # to do once before using plugins
cloud = cc.loadPointCloud("/home/paul/CloudComPy/Data/boule.bin")
cloudComPy.computeApproxLocalDensity(arg0: _cloudComPy.Density, arg1: float, arg2: list[_cloudComPy.ccHObject]) bool

Computes the local density (approximate) on a list of points clouds (create a scalarField).

Old method (based only on the distance to the nearest neighbor).

Warning As only one neighbor is extracted, the DENSITY_KNN type corresponds in fact to the (inverse) distance to the nearest neighbor.

The density output can be:

  • the number of neighbors N (only available in ‘Precise’ mode)

  • a surface density: number of neighbors divided by the neighborhood surface = N / (Pi.R2)

  • a volume density: number of neighbors divided by the neighborhood volume = N / (4/3.Pi.R3)

Parameters:
Returns:

True if OK, else False

Return type:

bool

cloudComPy.computeCurvature(arg0: _cloudComPy.CurvatureType, arg1: float, arg2: list[_cloudComPy.ccHObject]) bool

Compute the curvature on a list of point clouds (create a scalarField).

The curvature at each point is estimated by best fitting a quadric around it. If there’s not enough neighbors to compute a quadric (i.e. less than 6) an invalid scalar value (NaN) is set for this point. This point will appear in grey (or not at all if you uncheck the ‘display NaN values in grey’ option of the scalar field parameters).

Parameters:
  • cvt (CurvatureType) – from CurvatureType.GAUSSIAN_CURV, CurvatureType.MEAN_CURV, CurvatureType.NORMAL_CHANGE_RATE.

  • radius (float) – try value obtained by GetPointCloudRadius().

  • clouds (list of ccHObject) – list of clouds

Returns:

True if OK, else False

Return type:

bool

cloudComPy.computeFeature(arg0: _cloudComPy.GeomFeature, arg1: float, arg2: list[_cloudComPy.ccHObject]) bool

Compute a geometric characteristic on a list of points clouds (create a scalarField).

Geometric feature computed from eigen values/vectors. Most of them are defined in “Contour detection in unstructured 3D point clouds”, Hackel et al, 2016. PCA1 and PCA2 are defined in “3D terrestrial lidar data classification of complex natural scenes using a multi-scale dimensionality criterion: Applications in geomorphology”, Brodu and Lague, 2012.

Parameters:
Returns:

True if OK, else False

Return type:

bool

cloudComPy.computeLocalDensity(arg0: _cloudComPy.Density, arg1: float, arg2: list[_cloudComPy.ccHObject]) bool

Computes the local density on a list of points clouds (create a scalarField).

The density output can be:

  • the number of neighbors N (only available in ‘Precise’ mode)

  • a surface density: number of neighbors divided by the neighborhood surface = N / (Pi.R2)

  • a volume density: number of neighbors divided by the neighborhood volume = N / (4/3.Pi.R3)

Parameters:
Returns:

True if OK, else False

Return type:

bool

cloudComPy.computeMomentOrder1(arg0: float, arg1: list[_cloudComPy.ccHObject]) bool

Computes the first order moment on a list of points clouds (create a scalarField).

Parameters:
Returns:

True if OK, else False

Return type:

bool

cloudComPy.computeNormals(selectedEntities: list[_cloudComPy.ccHObject], model: _cloudComPy.LOCAL_MODEL_TYPES = <LOCAL_MODEL_TYPES.LS: 1>, useScanGridsForComputation: bool = True, defaultRadius: float = 0.0, minGridAngle_deg: float = 1.0, orientNormals: bool = True, useScanGridsForOrientation: bool = True, useSensorsForOrientation: bool = True, preferredOrientation: _cloudComPy.Orientation = <Orientation.UNDEFINED: 255>, orientNormalsMST: bool = True, mstNeighbors: int = 6, computePerVertexNormals: bool = True) bool

Compute normals on a list of clouds and meshes.

Parameters:
  • selectedEntities (list of ccHObject) – list of entities (clouds, meshes)

  • model (LOCAL_MODEL_TYPES,optional) – default = LOCAL_MODEL_TYPES.LS (Least Square best fitting plane)

  • useScanGridsForComputation (bool,optional) – default True, whether to use ScanGrids when available

  • defaultRadius (float,optional) – default 0.0

  • minGridAngle_deg (float,optional) – default 1.0

  • orientNormals (bool,optional) – default True

  • useScanGridsForOrientation (bool,optional) – default True, when ScanGrids available

  • useSensorsForOrientation (bool,optional) – default True, when Sensors available

  • preferredOrientation (Orientation,optional) – default Orientation.UNDEFINED

  • orientNormalsMST (bool,optional) – default True, use Minimum Spanning Tree

  • mstNeighbors (int,optional) – default 6, for Minimum Spanning Tree

  • computePerVertexNormals (bool,optional) – default True, apply on mesh, if True, compute on vertices, if False, compute on triangles

Returns:

success

Return type:

bool

cloudComPy.computeRoughness(radius: float, clouds: list[_cloudComPy.ccHObject], roughnessUpDir: Vector3Tpl<T> = (0.0, 0.0, 0.0)) bool

Computes the roughness on a list of points clouds (create a scalarField).

Roughness estimation is very… simple: for each point, the ‘roughness’ value is equal to the distance between this point and the best fitting plane computed on its nearest neighbors. If there’s not enough neighbors to compute a LS plane (i.e. less than 3) an invalid scalar value (NaN) is set for this point. This point will appear in grey (or not at all if you uncheck the ‘display NaN values in grey’ option in the scalar field properties).

Parameters:
  • radius (float) – try value obtained by GetPointCloudRadius().

  • clouds (list of ccHObject) – list of clouds

  • roughnessUpDir (vector,optional) – when defined, up direction allows a signed value of the roughness (up: positive, down: negative)

Returns:

True if OK, else False

Return type:

bool

cloudComPy.ComputeVolume25D(reportInfo: _cloudComPy.ReportInfoVol, ground: _cloudComPy.ccGenericPointCloud, ceil: _cloudComPy.ccGenericPointCloud, vertDim: int, gridStep: float, groundHeight: float, ceilHeight: float, projectionType: _cloudComPy.ProjectionType = <ProjectionType.PROJ_AVERAGE_VALUE: 1>, groundEmptyCellFillStrategy: _cloudComPy.EmptyCellFillOption = <EmptyCellFillOption.LEAVE_EMPTY: 0>, groundMaxEdgeLength: float = 0.0, ceilEmptyCellFillStrategy: _cloudComPy.EmptyCellFillOption = <EmptyCellFillOption.LEAVE_EMPTY: 0>, ceilMaxEdgeLength: float = 0) bool

Compute a 2.5D volume between a cloud and a ground plane,or two clouds,following a given direction (X, Y or Z).

If only one cloud is given, the direction (X, Y or Z) defines the normal to the plane used for calculation.

Parameters:
  • reportInfo (ReportInfoVol) – the object instance to be completed with results

  • ground (ccPointCloud) – either a point cloud or None

  • ceil (ccPointCloud) – either a point cloud or None

  • vertDim (int) – direction from (0,1,2): 0: X, 1: Y, 2: Z

  • gridStep (float) – size of the grid step

  • groundHeight (float) – altitude of the ground plane along the direction, if ground is None

  • ceilHeight (float) – altitude of the ceil plane along the direction, if ceil is None

  • projectionType (ProjectionType,optional) – default PROJ_AVERAGE_VALUE

  • groundEmptyCellFillStrategy (EmptyCellFillOption,optional) – default LEAVE_EMPTY

  • groundMaxEdgeLength (float,optional) – default 0

  • ceilEmptyCellFillStrategy (EmptyCellFillOption,optional) – default LEAVE_EMPTY

  • ceilMaxEdgeLength (float,optional) – default 0

Returns:

True if success, False if problem detected in parameters

Return type:

bool

cloudComPy.deleteEntity(arg0: _cloudComPy.ccHObject) None

Delete an entity and its children (mesh, cloud…)

Warning No automatic action on the Python side on the variables referencing the C++ object!

cc.deleteEntity(anEntity)
anEntity = None
Parameters:

entity (ccHObject) – the entity to remove

cloudComPy.ExtractConnectedComponents(clouds: list[_cloudComPy.ccHObject], octreeLevel: int = 8, minComponentSize: int = 100, maxNumberComponents: int = 100, randomColors: bool = False) tuple

Extracts connected components from a set of clouds.

There are 2 tools relative to connected components: ExtractConnectedComponents and LabelConnectedComponents. ExtractConnectedComponents Creates separate clouds and LabelConnectedComponents creates a scalar field. ExtractConnectedComponents segments the clouds in smaller parts separated by a minimum distance. Each part is a connected component (i.e. a set of ‘connected’ points). CloudCompare uses a 3D grid to extract the connected components. This grid is deduced from the octree structure. By selecting on octree level you define how small is the minimum gap between two components. If n is the octree level and d the dimension of the clouds (Bounding box side), the gap is roughly d/2**n.

Parameters:
  • clouds (list[ccPointCloud]) – the set of clouds

  • octreeLevel (int,optional) – the octree level used to define the connection between nodes, default 8.

  • minComponentSize (int,optional) – the minimum number of nodes to constitute a component, default 100. The residual nodes are regrouped in a “residual component” (one per input cloud).

  • maxNumberComponents (int,optional) – maximum number of components accepted (default 100): The process stops when this number is reached. The return gives the number of clouds already processed. Check this number to see if some clouds have not been processed.

  • randomColors (bool optional) – whether to color randomly the components or not, default False.

Returns:

a tuple (number of clouds processed, list of components, list of residual components)

Return type:

tuple

cloudComPy.extractPointsAlongSections(clouds: list[_cloudComPy.ccGenericPointCloud], sections: list[_cloudComPy.ccPolyline], defaultSectionThickness: float = -1.0, envelopeMaxEdgeLength: float = 0, extractSectionsAsClouds: bool = False, extractSectionsAsEnvelopes: bool = True, multipass: bool = False, splitEnvelope: bool = False, s_extractSectionsType: _cloudComPy.EnvelopeType = <EnvelopeType.ENV_LOWER: 0>, vertDim: int = 2) list[_cloudComPy.ccHObject]

Extract clouds slices along sections or generate vertical profiles.

Either the points are kept where they are (result are clouds slices), or the points are projected on a plane formed by section and the vertical direction (result are polylines).

Parameters:
  • clouds (list[ccPointCloud]) – list of clouds

  • sections (list[ccPolyline]) – list of sections

  • defaultSectionThickness (double,optional) – point are kept if distance from section < defaultSectionThickness/2 default -1, meaning clouds bounding box / 500

  • envelopeMaxEdgeLength (double,optional) – maximum edge length for split edges operation default 0 meaning clouds bounding box / 500

  • extractSectionsAsClouds (bool,optional) – get the result as clouds, default False

  • extractSectionsAsEnvelopes (bool,optional) – get the result as polylines, default True

  • multipass (bool,optional) – default False

  • splitEnvelope (bool,optional) – default false, split envelope following clouds

  • EnvelopeType (int,optional) – from fCloudComPy.EnvelopeType, default ENV_LOWER

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

Returns:

list of entities (cloud or polyline)

Return type:

list of ccPointClouds or ccPolylines

cloudComPy.ExtractSlicesAndContours(entities: list[_cloudComPy.ccHObject], bbox: _cloudComPy.ccBBox, bboxTrans: _cloudComPy.ccGLMatrix = <_cloudComPy.ccGLMatrix object at 0x14a619ff0>, singleSliceMode: bool = True, processRepeatX: bool = False, processRepeatY: bool = False, processRepeatZ: bool = True, extractEnvelopes: bool = False, maxEdgeLength: float = 0, envelopeType: int = 0, extractLevelSet: bool = False, levelSetGridStep: float = 0, levelSetMinVertCount: int = 0, gap: float = 0, multiPass: bool = False, splitEnvelopes: bool = False, projectOnBestFitPlane: bool = False, generateRandomColors: bool = False) tuple

Extract slices, envelopes and contours from a set of clouds and meshes (Cross section).

Slices are the part of cloud or mesh contained in the bounding box used as a tool to cut. Slicing can be repeated selectively along the 3 directions X, Y, Z, with optional gaps between slices. Optional envelopes are closed polylines defining a concave external boundary of the slices. Optional contours are closed polylines defining boundaries (external and internal) of the slices. The contours are built via a rasterisation process.

Parameters:
  • entities (list[ccHObjects]) – the list of point clouds and meshes to slice.

  • bbox (ccBBox) – the bounding box used as a slice tool.

  • bboxTrans (ccGLMatrix,optional) – optional transformation (rotation translation) of the bounding box, default identity.

  • singleSliceMode (boolean,optional) – whether to cut just one slice or repeat the process, default True, i.e. only one slice.

  • processRepeatX (boolean,optional) – whether to repeat along the X direction (if singleSliceMode False), default False.

  • processRepeatY (boolean,optional) – whether to repeat along the Y direction (if singleSliceMode False), default False.

  • processRepeatZ (boolean,optional) – whether to repeat along the Z direction (if singleSliceMode False), default True.

  • extractEnvelopes (boolean,optional) – whether to extract the envelopes or not, default False.

  • maxEdgeLength (double,optional) – maximum edge length for the envelope, default 0=convex envelope.

  • envelopeType (int,optional) – type of envelope, default 0. 0: envelope built on the lower part of the slice, 1: upper part, 2: all the slice.

  • extractLevelSet (boolean,optional) – whether to extract contours or not, default False.

  • levelSetGridStep (double,optional) – grid step to use for the rasterisation needed to build the contours

  • levelSetMinVertCount (int,optional) – number of points required to define a contour, default 0 (change it!).

  • gap (double,optional) – gap between slices, default 0.

  • multiPass (boolean,optional) – Multi-pass process where longer edges may be temporarily created to obtain a better fit… or a worst one! Default False.

  • splitEnvelopes (boolean,optional) – split the generated contour(s) in smaller parts to avoid creating edges longer than the specified max edge length. Default False.

  • projectOnBestFitPlane (boolean,optional) – Before extracting the contour, points can be projected along the repeat dimension (if only one is defined) or on the best fit plane. Default False.

  • boolean,optionalgenerateRandomColors – whether to define random colors per slice (will overwrite existing colors!) or not. Default False.

Returns:

a tuple of 3 lists ([slices], [envelopes], [contours])

Return type:

tuple

cloudComPy.filterBySFValue(*args, **kwargs)

Overloaded function.

  1. filterBySFValue(arg0: float, arg1: float, arg2: _cloudComPy.ccPointCloud) -> _cloudComPy.ccPointCloud

Create a new point cloud by filtering points using the current out ScalarField (see cloud.setCurrentOutScalarField). Keep the points whose ScalarField value is between the min and max parameters.

Parameters:
  • min (float) – minimum value to keep

  • max (float) – maximum value to keep

  • cloud (ccPointCloud) – the input cloud

Returns:

a ccPointCloud object.

Return type:

ccPointCloud

  1. filterBySFValue(arg0: float, arg1: float, arg2: _cloudComPy.ccMesh) -> _cloudComPy.ccMesh

Create a new mesh by filtering points using the current out ScalarField (see getAssociatedCloud().setCurrentOutScalarField). Keep the points whose ScalarField value is between the min and max parameters.

Parameters:
  • min (float) – minimum value to keep

  • max (float) – maximum value to keep

  • mesh (ccMesh) – the input mesh

Returns:

a ccMesh object.

Return type:

ccMesh

cloudComPy.GetPointCloudRadius(clouds: list[_cloudComPy.ccHObject], nodes: int = 12) float

Compute an estimate radius to use in computeCurvature.

Parameters:
  • clouds (list) – list of clouds(list of ccHObject)

  • nodes (int,optional) – number of nodes wanted within the radius, default 12

Returns:

estimated radius

Return type:

float

cloudComPy.getScalarType() str

Get the scalar type used in cloudCompare under the form defined in Numpy: ‘float32’ or ‘float64’

Returns:

scalar type

Return type:

str

cloudComPy.ICP(data: _cloudComPy.ccHObject, model: _cloudComPy.ccHObject, minRMSDecrease: float = 1e-05, maxIterationCount: int = 20, randomSamplingLimit: int = 50000, removeFarthestPoints: bool = False, method: _cloudComPy.CONVERGENCE_TYPE = <CONVERGENCE_TYPE.MAX_ITER_CONVERGENCE: 1>, adjustScale: bool = False, finalOverlapRatio: float = 1.0, useDataSFAsWeights: bool = False, useModelSFAsWeights: bool = False, transformationFilters: int = <TRANSFORMATION_FILTERS.SKIP_NONE: 0>, maxThreadCount: int = 0, useC2MSignedDistances: bool = False, robustC2MSignedDistances: bool = True, normalMatching: _cloudComPy.normalMatching = <normalMatching.NO_NORMAL: 0>) _cloudComPy.ICPres

Applies ICP registration on two entities.

Parameters:
  • data (ccHObject) – cloud to align.

  • model (ccHObject) – reference cloud.

  • minRMSDecrease (float,optional) – The minimum error (RMS) reduction between two consecutive steps to continue process, if CONVERGENCE_TYPE == MAX_ERROR_CONVERGENCE. Default 1.E-5.

  • maxIterationCount (int,optional) – Stop after this number of iterations, if CONVERGENCE_TYPE == MAX_ITER_CONVERGENCE. Default 20.

  • randomSamplingLimit (int,optional) – Limit above which clouds should be randomly resampled. Default 50000.

  • removeFarthestPoints (bool,optional) – If True, the algorithm will automatically ignore farthest points from the reference. This is a trick to improve registration for slightly different clouds. Default False.

  • method (CONVERGENCE_TYPE,optional) – Mode of convergence, CONVERGENCE_TYPE.MAX_ITER_CONVERGENCE or CONVERGENCE_TYPE.MAX_ERROR_CONVERGENCE. Default CONVERGENCE_TYPE.MAX_ITER_CONVERGENCE

  • adjustScale (bool) – Whether to release the scale parameter during the registration procedure or not. Default False.

  • finalOverlapRatio (float,optional) – Theoretical overlap ratio (at each iteration, only this percentage (between 0 and 1). Will be used for registration (default 1.0).

  • useDataSFAsWeights (bool,optional) – Weights for data points (default False). The scalar field must be the current SF in data (see setCurrentScalarField)

  • useModelSFAsWeights (bool,optional) – Weights for model points (default False). The scalar field must be the current SF in model (see setCurrentScalarField)

  • transformationFilters (TRANSFORMATION_FILTERS,optional) –

    Filters to be applied on the resulting transformation at each step (default 0).

    • SKIP_NONE = 0

    • SKIP_RXY = 1

    • SKIP_RYZ = 2

    • SKIP_RXZ = 4

    • SKIP_ROTATION = 7

    • SKIP_TX = 8

    • SKIP_TY = 16

    • SKIP_TZ = 32

    • SKIP_TRANSLATION = 56

  • maxThreadCount (int,optional) – Maximum number of threads to use (default 0 = max)

  • useC2MSignedDistances (bool,optional) – use signed distances (default False)

  • robustC2MSignedDistances (bool,optional) – use robust signed distances (default True)

  • normalMatching (normalMatching,optional) – type of normal matching, default NO_NORMAL values from (NO_NORMAL, OPPOSITE_NORMALS, SAME_SIDE_NORMALS, DOUBLE_SIDED_NORMALS)

Returns:

ICPres structure ICPres

cloudComPy.importFile(filename: str, mode: _cloudComPy.CC_SHIFT_MODE = <CC_SHIFT_MODE.AUTO: 0>, x: float = 0, y: float = 0, z: float = 0, extraData: QString = '') tuple

Load the entities (cloud or mesh) from a file containing several entities, and get file structure (some files as .E57 provide structured information on content, given here as a list of strings).

WARNING Shift parameters are not always taken into account, depending on the type of file, shift values, following the internal rules of CloudCompare: when using the CloudCompare GUI, shift dialog at import is not always available. When the shift dialog is not proposed in the GUI, shift parameters are likely not taken into account in CloudCompare.

Optional string extraData can be used in ply file, for instance, to select extra fields for import as scalarFields (by default, all extra fields are imported as scalar fields). Here, the filter is a regular expression that works on the field name in uppercase.

Optional string extraData can also be used to filter (regular expression) the scans to import in a .E57 file (without the parameter, all the scans are imported).

Parameters:
  • filename (str) – file Name

  • mode (CC_SHIFT_MODE,optional) – default AUTO, value from AUTO, XYZ, FIRST_GLOBAL_SHIFT, NO_GLOBAL_SHIFT

  • x (float,optional) – default 0

  • y (float,optional) – default 0

  • z (float,optional) – default 0

  • extraData (string,optional) – default empty string

Returns:

a tuple (list of meshes, list of clouds, file structure)

Return type:

tuple

cloudComPy.initCC() None

Done at module init, should be done once before using plugins!

cloudComPy.initCloudCompare() None

Done at module init, should be done once after initCC before using plugins!

cloudComPy.interpolateScalarFieldsFrom(destCloud: _cloudComPy.ccPointCloud, srcCloud: _cloudComPy.ccPointCloud, sfIndexes: list[int], params: _cloudComPy.interpolatorParameters, octreeLevel: int = 0) bool

Interpolate scalar fields from a source cloud to a destination cloud.

Parameters:
  • destCloud (ccPointCloud) – the cloud receiving the interpolatated scalar fields.

  • srcCloud (ccPointCloud) – the source cloud containing the scalar fields to interpolate.

  • sfIndexes (list) – the list of indexes of scalar fields in the source cloud, to interpolate.

  • params (interpolatorParameters) – interpolation parameter structure

  • octreeLevel (int,optional) – octree level, default 0

Returns:

success

Return type:

bool

cloudComPy.invertNormals(arg0: list[_cloudComPy.ccHObject]) bool

Invert normals on a list of clouds and meshes.

Returns:

success

Return type:

bool

cloudComPy.isPluginCanupo() bool

returns True if CloudComPy is built with the CANUPO plugin.

Returns:

True if CloudComPy is built with the CANUPO plugin, False otherwise.

Return type:

bool

cloudComPy.isPluginCSF() bool

returns True if CloudComPy is built with the CSF plugin.

Returns:

True if CloudComPy is built with the CSF plugin, False otherwise.

Return type:

bool

cloudComPy.isPluginCork() bool

returns True if CloudComPy is built with the Cork plugin.

Returns:

True if CloudComPy is built with the Cork plugin, False otherwise.

Return type:

bool

cloudComPy.isPluginDraco() bool

returns True if CloudComPy is built with the Draco plugin.

Returns:

True if CloudComPy is built with the Draco plugin, False otherwise.

Return type:

bool

cloudComPy.isPluginFbx() bool

returns True if CloudComPy is built with the Fbx plugin.

Returns:

True if CloudComPy is built with the Fbx plugin, False otherwise.

Return type:

bool

cloudComPy.isPluginHPR() bool

returns True if CloudComPy is built with the HPR plugin.

Returns:

True if CloudComPy is built with the HPR plugin, False otherwise.

Return type:

bool

cloudComPy.isPluginM3C2() bool

returns True if CloudComPy is built with the M3C2 plugin.

Returns:

True if CloudComPy is built with the M3C2 plugin, False otherwise.

Return type:

bool

cloudComPy.isPluginMeshBoolean() bool

returns True if CloudComPy is built with the MeshBoolean plugin.

Returns:

True if CloudComPy is built with the MeshBoolean plugin, False otherwise.

Return type:

bool

cloudComPy.isPluginPCL() bool

returns True if CloudComPy is built with the PCL plugin.

Returns:

True if CloudComPy is built with the PCL plugin, False otherwise.

Return type:

bool

cloudComPy.isPluginPCV() bool

returns True if CloudComPy is built with the PCV plugin.

Returns:

True if CloudComPy is built with the PCV plugin, False otherwise.

Return type:

bool

cloudComPy.isPluginPoissonRecon() bool

returns True if CloudComPy is built with the PoisssonRecon plugin.

Returns:

True if CloudComPy is built with the PoissonRecon plugin, False otherwise.

Return type:

bool

cloudComPy.isPluginRANSAC_SD() bool

returns True if CloudComPy is built with the RANSAC_SD plugin.

Returns:

True if CloudComPy is built with the RANSAC_SD plugin, False otherwise.

Return type:

bool

cloudComPy.isPluginSRA() bool

returns True if CloudComPy is built with the SRA plugin.

Returns:

True if CloudComPy is built with the SRA plugin, False otherwise.

Return type:

bool

cloudComPy.LabelConnectedComponents(clouds: list[_cloudComPy.ccHObject], octreeLevel: int = 8) int

Label connected components in a set of clouds.

There are 2 tools relative to connected components: ExtractConnectedComponents and LabelConnectedComponents. ExtractConnectedComponents Creates separate clouds and LabelConnectedComponents creates a scalar field in each cloud examined, assigning an integer value to each node. Nodes sharing the same value are connected and form a component. The function returns the number of components. The clouds are segmented in smaller parts separated by a minimum distance. Each part is a connected component (i.e. a set of ‘connected’ points). CloudCompare uses a 3D grid to extract the connected components. This grid is deduced from the octree structure. By selecting on octree level you define how small is the minimum gap between two components. If n is the octree level and d the dimension of the clouds (Bounding box side), the gap is roughly d/2**n.

Parameters:
  • clouds (list[ccPointCloud]) – the set of clouds

  • octreeLevel (int,optional) – the octree level used to define the connection between nodes, default 8.

Returns:

number of found connected components

Return type:

int

cloudComPy.loadMesh(filename: str, mode: _cloudComPy.CC_SHIFT_MODE = <CC_SHIFT_MODE.AUTO: 0>, skip: int = 0, x: float = 0, y: float = 0, z: float = 0, extraData: QString = '') _cloudComPy.ccMesh

Load a Mesh from a file.

WARNING Shift parameters are not always taken into account, depending on the type of file, shift values, following the internal rules of CloudCompare: when using the CloudCompare GUI, shift dialog at import is not always available. When the shift dialog is not proposed in the GUI, shift parameters are likely not taken into account in CloudCompare.

Optional string extraData can be used in ply file, for instance, to select extra fields for import as scalarFields (by default, all extra fields are imported as scalar fields). Here, the filter is a regular expression that works on the field name in uppercase.

Parameters:
  • filename (str) – file name

  • shiftMode (CC_SHIFT_MODE,optional) –

    shift mode from CC_SHIFT_MODE enum, default AUTO.

    • CC_SHIFT_MODE.AUTO: automatic shift of coordinates

    • CC_SHIFT_MODE.XYZ: coordinates shift given by x, y, z parameters

    • CC_SHIFT_MODE.FIRST_GLOBAL_SHIFT: use the first encountered global shift value (if any)

    • CC_SHIFT_MODE.NO_GLOBAL_SHIFT: no shift at all

  • skip (int,optional) – parameter not used yet! default 0

  • x (float,optional) – shift value for coordinates (mode XYZ), default 0

  • y (float,optional) – shift value for coordinates (mode XYZ), default 0

  • z (float,optional) – shift value for coordinates (mode XYZ), default 0

  • extraData (string,optional) – default empty string

Returns:

a ccMesh object. Usage: see ccMesh doc.

Return type:

ccMesh

cloudComPy.loadPointCloud(filename: str, mode: _cloudComPy.CC_SHIFT_MODE = <CC_SHIFT_MODE.AUTO: 0>, skip: int = 0, x: float = 0, y: float = 0, z: float = 0, extraData: QString = '') _cloudComPy.ccPointCloud

Load a 3D cloud from a file.

WARNING Shift parameters are not always taken into account, depending on the type of file, shift values, following the internal rules of CloudCompare: when using the CloudCompare GUI, shift dialog at import is not always available. When the shift dialog is not proposed in the GUI, shift parameters are likely not taken into account in CloudCompare.

Optional string extraData can be used in ply file, for instance, to select extra fields for import as scalarFields (by default, all extra fields are imported as scalar fields). Here, the filter is a regular expression that works on the field name in uppercase.

Parameters:
  • filename (str) – file name

  • shiftMode (CC_SHIFT_MODE,optional) –

    shift mode from CC_SHIFT_MODE enum, default AUTO.

    • CC_SHIFT_MODE.AUTO: automatic shift of coordinates

    • CC_SHIFT_MODE.XYZ: coordinates shift given by x, y, z parameters

    • CC_SHIFT_MODE.FIRST_GLOBAL_SHIFT: use the first encountered global shift value (if any)

    • CC_SHIFT_MODE.NO_GLOBAL_SHIFT: no shift at all

  • skip (int,optional) – parameter not used yet! default 0

  • x (float,optional) – shift value for coordinates (mode XYZ), default 0

  • y (float,optional) – shift value for coordinates (mode XYZ), default 0

  • z (float,optional) – shift value for coordinates (mode XYZ), default 0

  • extraData (string,optional) – default empty string

Returns:

a ccPointCloud object. Usage: see ccPointCloud doc.

Return type:

ccPointCloud

cloudComPy.loadPolyline(filename: str, mode: _cloudComPy.CC_SHIFT_MODE = <CC_SHIFT_MODE.AUTO: 0>, skip: int = 0, x: float = 0, y: float = 0, z: float = 0) _cloudComPy.ccPolyline

Load a polyline from a file.

Parameters:
  • filename (str) – The polyline file.

  • mode (CC_SHIFT_MODE,optional) –

    from (AUTO, XYZ), optional, default AUTO.

    • AUTO: automatic shift of coordinates

    • XYZ: coordinates shift given by x, y, z parameters

  • skip (int,optional) – not used yet! default 0.

  • x (float,optional) – optional shift value for coordinates (mode XYZ), default 0

  • y (float,optional) – optional shift value for coordinates (mode XYZ), default 0

  • z (float,optional) – optional shift value for coordinates (mode XYZ), default 0

Returns:

a ccPolyline object.

Return type:

ccPolyline

Usage: see ccPolyline doc.

cloudComPy.MergeEntities(entities: list[_cloudComPy.ccHObject], deleteOriginalClouds: bool = False, createSFcloudIndex: bool = False, createSubMeshes: bool = False) _cloudComPy.ccHObject

Merge a list of point clouds, or a list of meshes.

Parameters:
  • entities (tuple) – list of clouds or list of meshes (not mixed)

  • deleteOriginalClouds (bool,optional) – whether to delete the original clouds or not, default false WARNING No automatic action on the Python side to disable the variables referencing deleted objects! (same behavior as “deleteEntity” function).

  • createSFcloudIndex (bool,optional) – create a scalar field with the original cloud indexes, default false

  • createSubMeshes (bool,optional) – create submeshes with original meshes, default false

Returns:

merged entity

Return type:

ccHObject (cloud or mesh)

cloudComPy.RasterizeGeoTiffOnly(cloud: _cloudComPy.ccGenericPointCloud, gridStep: float, vertDir: _cloudComPy.CC_DIRECTION = <CC_DIRECTION.Z: 2>, outputRasterZ: bool = False, outputRasterSFs: bool = False, outputRasterRGB: bool = False, pathToImages: str = '.', resample: bool = False, projectionType: _cloudComPy.ProjectionType = <ProjectionType.PROJ_AVERAGE_VALUE: 1>, sfProjectionType: _cloudComPy.ProjectionType = <ProjectionType.PROJ_AVERAGE_VALUE: 1>, emptyCellFillStrategy: _cloudComPy.EmptyCellFillOption = <EmptyCellFillOption.LEAVE_EMPTY: 0>, DelaunayMaxEdgeLength: float = 1.0, KrigingParamsKNN: int = 8, customHeight: float = nan, gridBBox: _cloudComPy.ccBBox = <_cloudComPy.ccBBox object at 0x14a63a9f0>, percentile: float = 50.0, export_perCellCount: bool = False, export_perCellMinHeight: bool = False, export_perCellMaxHeight: bool = False, export_perCellAvgHeight: bool = False, export_perCellHeightStdDev: bool = False, export_perCellHeightRange: bool = False, export_perCellMedian: bool = False, export_perCellPercentile: bool = False, export_perCellUniqueCount: bool = False) _cloudComPy.ccHObject

Compute a GeoTiff file from a point cloud, given a grid step and a direction.

GeoTiff files are only available with the GDAL plugin.

Parameters:
  • cloud (ccGenericPointCloud*) – the original cloud

  • gridStep (float) – the raster grid step

  • vertDir (CC_DIRECTION,optional) – default = CC_DIRECTION.Z, direction of projection

  • outputRasterZ (bool,optional) – default False, create a GeoTiff file (3D tiff with altitude)

  • outputRasterSFs (bool,optional) – default False, add scalar fields to the GeoTiff file (requires outputRasterZ)

  • outputRasterRGB (bool,optional) – default False, create a GeoTiff file with GRB values (choose either Z or RGB, not the two)

  • pathToImages (string,optional) – default “.” for current directory, directory for the GeoTiff file, name basesd on Cloud name plus suffix

  • resample (bool,optional) – default False, resample the point cloud

  • projectionType (ProjectionType,optional) – default ProjectionType.PROJ_AVERAGE_VALUE,

  • sfProjectionType (ProjectionType,optional) – default ProjectionType.PROJ_AVERAGE_VALUE,

  • emptyCellFillStrategy (EmptyCellFillOption,optional) – default EmptyCellFillOption.LEAVE_EMPTY

  • DelaunayMaxEdgeLength (double,optional) – used when EmptyCellFillOption is INTERPOLATE_DELAUNAY: maximum edge length, default 1.0

  • KrigingParamsKNN (int,optional) – used when EmptyCellFillOption is KRIGING: number of neighbour nodes, default 8

  • customHeight (float,optional) – default float(‘nan’)

  • gridBBox (ccBBox,optional) – default ccBBox() the bounding box used for the raster is by default the cloud bounding box

  • percentile (float,optional) – the percentile value to use for export percentile statistics, default 50.

  • export_perCellCount (bool,optional) – export scalarField, default False

  • export_perCellMinHeight (bool,optional) – export scalarField, default False

  • export_perCellMaxHeight (bool,optional) – export scalarField, default False

  • export_perCellAvgHeight (bool,optional) – export scalarField, default False

  • export_perCellHeightStdDev (bool,optional) – export scalarField, default False

  • export_perCellHeightRange (bool,optional) – export scalarField, default False

  • export_perCellMedian (bool,optional) – export scalarField, default False

  • export_perCellPercentile (bool,optional) – export scalarField, default False

  • export_perCellUniqueCount (bool,optional) – export scalarField, default False

Returns:

None

Return type:

None

cloudComPy.RasterizeToCloud(cloud: _cloudComPy.ccGenericPointCloud, gridStep: float, vertDir: _cloudComPy.CC_DIRECTION = <CC_DIRECTION.Z: 2>, outputRasterZ: bool = False, outputRasterSFs: bool = False, outputRasterRGB: bool = False, pathToImages: str = '.', resample: bool = False, projectionType: _cloudComPy.ProjectionType = <ProjectionType.PROJ_AVERAGE_VALUE: 1>, sfProjectionType: _cloudComPy.ProjectionType = <ProjectionType.PROJ_AVERAGE_VALUE: 1>, emptyCellFillStrategy: _cloudComPy.EmptyCellFillOption = <EmptyCellFillOption.LEAVE_EMPTY: 0>, DelaunayMaxEdgeLength: float = 1.0, KrigingParamsKNN: int = 8, customHeight: float = nan, gridBBox: _cloudComPy.ccBBox = <_cloudComPy.ccBBox object at 0x14a63a230>, percentile: float = 50.0, export_perCellCount: bool = False, export_perCellMinHeight: bool = False, export_perCellMaxHeight: bool = False, export_perCellAvgHeight: bool = False, export_perCellHeightStdDev: bool = False, export_perCellHeightRange: bool = False, export_perCellMedian: bool = False, export_perCellPercentile: bool = False, export_perCellUniqueCount: bool = False) _cloudComPy.ccPointCloud

Compute a Raster cloud from a point cloud, given a grid step and a direction, plus an optional GeoTiff file.

GeoTiff files are only available with the GDAL plugin.

Parameters:
  • cloud (ccGenericPointCloud*) – the original cloud

  • gridStep (float) – the raster grid step

  • vertDir (CC_DIRECTION,optional) – default = CC_DIRECTION.Z, direction of projection

  • outputRasterZ (bool,optional) – default False, create also a GeoTiff file (3D tiff with altitude)

  • outputRasterSFs (bool,optional) – default False, add scalar fields to the GeoTiff file (requires outputRasterZ)

  • outputRasterRGB (bool,optional) – default False, create also a GeoTiff file with GRB values (choose either Z or RGB, not the two)

  • pathToImages (string,optional) – default “.” for current directory, directory for the GeoTiff file, name basesd on Cloud name plus suffix

  • resample (bool,optional) – default False, resample the point cloud

  • projectionType (ProjectionType,optional) – default ProjectionType.PROJ_AVERAGE_VALUE,

  • sfProjectionType (ProjectionType,optional) – default ProjectionType.PROJ_AVERAGE_VALUE,

  • emptyCellFillStrategy (EmptyCellFillOption,optional) – default EmptyCellFillOption.LEAVE_EMPTY

  • DelaunayMaxEdgeLength (double,optional) – used when EmptyCellFillOption is INTERPOLATE_DELAUNAY: maximum edge length, default 1.0

  • KrigingParamsKNN (int,optional) – used when EmptyCellFillOption is KRIGING: number of neighbour nodes, default 8

  • customHeight (float,optional) – default float(‘nan’)

  • gridBBox (ccBBox,optional) – default ccBBox() the bounding box used for the raster is by default the cloud bounding box

  • percentile (float,optional) – the percentile value to use for export percentile statistics, default 50.

  • export_perCellCount (bool,optional) – export scalarField, default False

  • export_perCellMinHeight (bool,optional) – export scalarField, default False

  • export_perCellMaxHeight (bool,optional) – export scalarField, default False

  • export_perCellAvgHeight (bool,optional) – export scalarField, default False

  • export_perCellHeightStdDev (bool,optional) – export scalarField, default False

  • export_perCellHeightRange (bool,optional) – export scalarField, default False

  • export_perCellMedian (bool,optional) – export scalarField, default False

  • export_perCellPercentile (bool,optional) – export scalarField, default False

  • export_perCellUniqueCount (bool,optional) – export scalarField, default False

Returns:

the raster cloud

Return type:

ccPointCloud

cloudComPy.RasterizeToMesh(cloud: _cloudComPy.ccGenericPointCloud, gridStep: float, vertDir: _cloudComPy.CC_DIRECTION = <CC_DIRECTION.Z: 2>, outputRasterZ: bool = False, outputRasterSFs: bool = False, outputRasterRGB: bool = False, pathToImages: str = '.', resample: bool = False, projectionType: _cloudComPy.ProjectionType = <ProjectionType.PROJ_AVERAGE_VALUE: 1>, sfProjectionType: _cloudComPy.ProjectionType = <ProjectionType.PROJ_AVERAGE_VALUE: 1>, emptyCellFillStrategy: _cloudComPy.EmptyCellFillOption = <EmptyCellFillOption.LEAVE_EMPTY: 0>, DelaunayMaxEdgeLength: float = 1.0, KrigingParamsKNN: int = 8, customHeight: float = nan, gridBBox: _cloudComPy.ccBBox = <_cloudComPy.ccBBox object at 0x14a63a570>, percentile: float = 50.0, export_perCellCount: bool = False, export_perCellMinHeight: bool = False, export_perCellMaxHeight: bool = False, export_perCellAvgHeight: bool = False, export_perCellHeightStdDev: bool = False, export_perCellHeightRange: bool = False, export_perCellMedian: bool = False, export_perCellPercentile: bool = False, export_perCellUniqueCount: bool = False) _cloudComPy.ccMesh

Compute a Raster mesh from a point cloud, given a grid step and a direction, plus an optional GeoTiff file.

GeoTiff files are only available with the GDAL plugin.

Parameters:
  • cloud (ccGenericPointCloud*) – the original cloud

  • gridStep (float) – the raster grid step

  • vertDir (CC_DIRECTION,optional) – default = CC_DIRECTION.Z, direction of projection

  • outputRasterZ (bool,optional) – default False, create also a GeoTiff file (3D tiff with altitude)

  • outputRasterSFs (bool,optional) – default False, add scalar fields to the GeoTiff file (requires outputRasterZ)

  • outputRasterRGB (bool,optional) – default False, create also a GeoTiff file with GRB values (choose either Z or RGB, not the two)

  • pathToImages (string,optional) – default “.” for current directory, directory for the GeoTiff file, name basesd on Cloud name plus suffix

  • resample (bool,optional) – default False, resample the point cloud

  • projectionType (ProjectionType,optional) – default ProjectionType.PROJ_AVERAGE_VALUE,

  • sfProjectionType (ProjectionType,optional) – default ProjectionType.PROJ_AVERAGE_VALUE,

  • emptyCellFillStrategy (EmptyCellFillOption,optional) – default EmptyCellFillOption.LEAVE_EMPTY

  • DelaunayMaxEdgeLength (double,optional) – used when EmptyCellFillOption is INTERPOLATE_DELAUNAY: maximum edge length, default 1.0

  • KrigingParamsKNN (int,optional) – used when EmptyCellFillOption is KRIGING: number of neighbour nodes, default 8

  • customHeight (float,optional) – default float(‘nan’)

  • gridBBox (ccBBox,optional) – default ccBBox() the bounding box used for the raster is by default the cloud bounding box

  • percentile (float,optional) – the percentile value to use for export percentile statistics, default 50.

  • export_perCellCount (bool,optional) – export scalarField, default False

  • export_perCellMinHeight (bool,optional) – export scalarField, default False

  • export_perCellMaxHeight (bool,optional) – export scalarField, default False

  • export_perCellAvgHeight (bool,optional) – export scalarField, default False

  • export_perCellHeightStdDev (bool,optional) – export scalarField, default False

  • export_perCellHeightRange (bool,optional) – export scalarField, default False

  • export_perCellMedian (bool,optional) – export scalarField, default False

  • export_perCellPercentile (bool,optional) – export scalarField, default False

  • export_perCellUniqueCount (bool,optional) – export scalarField, default False

Returns:

the raster mesh

Return type:

ccMesh

cloudComPy.SaveEntities(arg0: list[_cloudComPy.ccHObject], arg1: QString) _cloudComPy.CC_FILE_ERROR

Save a list of entities (cloud, meshes, primitives…) in a file: use bin format!

Parameters:
  • entities (list of ccHObject) – list of entities

  • filename (str) – The entities file.

Returns:

0 or I/O error.

Return type:

CC_FILE_ERROR

cloudComPy.SaveMesh(arg0: _cloudComPy.ccMesh, arg1: QString) _cloudComPy.CC_FILE_ERROR

Save a 3D mesh in a file.

The file name extension determines the format (.ma .dxf .off .stl .vtk .obj .ply .bin .fbx)

Parameters:
  • mesh (ccMesh) – the mesh to save.

  • filename (str) – The mesh file.

Returns:

0 or I/O error.

Return type:

CC_FILE_ERROR

cloudComPy.SavePointCloud(cloud: _cloudComPy.ccPointCloud, filename: QString, version: QString = '', pointFormat: int = -1, isAscii: bool = True) _cloudComPy.CC_FILE_ERROR

Save a 3D cloud in a file.

The file name extension determines the format (.asc .las .E57 .sbf .ply .vtk .dxf .pcd .pn .pv .bin).

Optional values can be used to specify version and format, with the LAS plugin, for .las or .laz files:

  • version=”1.2” or “1.3” or “1.4” (without version, las or laz file are either saved in the version of the original file or in version 1.2)

  • pointFormat=N with N integer between 0 and 10

Optional ASCII file format, for ply plugin

Parameters:
  • cloud (ccPointCloud) – the cloud to save.

  • filename (str) – The cloud file.

  • version (string,optional) – optional string, default “”, used to specify a particular version. (for las plugin only)

  • pointFormat (int,optional) – optional point format valid values 0 to 10), default -1 (automatically set)(for las plugin only)

  • isAscii (bool,optional) – optional file format, ASCII or BINARY, default False = BINARY (for ply plugin)

Returns:

0 or I/O error.

Return type:

CC_FILE_ERROR

cloudComPy.setTraces(arg0: bool) None

Activate or deactivate trace system.

Parameters:

isActive (bool) – whether to activate or deactivate the trace system.

cloudComPy.unfoldPointsAlongPolylines(clouds: list[_cloudComPy.ccGenericPointCloud], polylines: list[_cloudComPy.ccPolyline], thickness: float, vertDim: int = 2) list[_cloudComPy.ccPointCloud]

Unfold the polylines and the clouds along the polylines, with a given thickness.

Parameters:
  • clouds (list[ccPointCloud]) – list of clouds

  • polylines (list[ccPolyline]) – list of polylines

  • thickness (double) – only points within the given distance to the polyline are kept

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

Returns:

list of clouds

Return type:

list of ccPointClouds

cloudComPy.addToRenderScene(obj: _cloudComPy.ccHObject, showScalar: bool = True) None

RenderViewToFile: add an entity to the scene view.

Parameters:

entity (ccHObject) – the entity to display

cloudComPy.removeFromRenderScene(arg0: _cloudComPy.ccHObject) None

RenderViewToFile: remove an entity from the scene view.

WARNING: the entity is deleted! The Python variable is no more usable (set it to None)

Parameters:

entity (ccHObject) – the entity to remove

cloudComPy.render(filename: QString, width: int = 1500, height: int = 1000, isInteractive: bool = False) None

RenderViewToFile: write the image file from the 3D scene.

Parameters:
  • filename (string) – the filename with it’s path and extension. The extension defines the image format (.png, .jpg, …)

  • width (int,optional) – the width of the image (pixels), default 1500

  • height (int,optional) – the height of the image (pixels), default 1000

  • isInteractive (bool,optional) – default False, whether to keep the IHM viewer active (and suspend Python script).

cloudComPy.setOrthoView() None

RenderViewToFile: set the type of view to ortho (no perspective)

cloudComPy.setCenteredPerspectiveView() None

RenderViewToFile: set the type of perspective to object centered

cloudComPy.setViewerPerspectiveView() None

RenderViewToFile: set the type of perspective to viewer centered

cloudComPy.setGlobalZoom() None

RenderViewToFile: zoom to the whole scene

cloudComPy.zoomOnSelectedEntity() None

RenderViewToFile: zoom on the selected entity

cloudComPy.setFrontView() None

RenderViewToFile: set front view

cloudComPy.setBottomView() None

RenderViewToFile: set bottom view

cloudComPy.setTopView() None

RenderViewToFile: set top view

cloudComPy.setBackView() None

RenderViewToFile: set back view

cloudComPy.setLeftView() None

RenderViewToFile: set left view

cloudComPy.setRightView() None

RenderViewToFile: set right view

cloudComPy.setIsoView1() None

RenderViewToFile: set iso view, first type

cloudComPy.setIsoView2() None

RenderViewToFile: set iso view, second type

cloudComPy.setCustomView(arg0: Vector3Tpl<T>, arg1: Vector3Tpl<T>) None

RenderViewToFile: set a custom view, defining a look vector and an up direction

Parameters:
  • forward (CCVector3d) – direction of view

  • up (CCVector3d) – up direction (to define “up” in the image

cloudComPy.setCameraPos(arg0: Vector3Tpl<T>) None

RenderViewToFile: define a camera position.

Parameters:

P (CCVector3d) – camera position

cloudComPy.setBackgroundColor(gradient: bool = False, r: int = 255, g: int = 255, b: int = 255) None

RenderViewToFile: define a background color.

Parameters:
  • gradient (bool,optional) – default false, draw a background gradient (between rgb and the opposite of foreground color)

  • r (int,optional) – red value (0..255), default 255

  • g (int,optional) – green value (0..255), default 255

  • b (int,optional) – blue value (0..255), default 255

cloudComPy.setTextDefaultCol(r: int = 0, g: int = 0, b: int = 0, a: int = 255) None

RenderViewToFile: define a text default (foreground) color.

Parameters:
  • r (int,optional) – red value (0..255), default 0

  • g (int,optional) – green value (0..255), default 0

  • b (int,optional) – blue value (0..255), default 0

  • a (int,optional) – alpha value (0..255), default 255

cloudComPy.setColorScaleShowHistogram(showHist: bool = True) None

RenderViewToFile: show the color scale histogram, when the color scale itself is shown (see ‘showSFColorsScale’ method of ‘ccPointCloud’).

Parameters:

showHist (bool,optional) – default true, whether to add the histogram to the color scale.

class cloudComPy.ccBBox

BoundingBox object.

Can be initialized with tuples of coordinates and a boolean (minCorner, maxCorner, True)

__init__(self: _cloudComPy.ccBBox, arg0: Vector3Tpl<T>, arg1: Vector3Tpl<T>, arg2: bool) None

BoundingBox constructor, with tuples of coordinates and a boolean (minCorner, maxCorner, True)

Parameters:
  • minCorner (tuple) – min corner of the box

  • maxCorner (tuple) – max corner of the box

  • valid (bool) – use True

maxCorner(self: _cloudComPy.ccBBox) Vector3Tpl<T>

Get the max corner of the bounding box

Returns:

max corner (tuple of coordinates)

Return type:

tuple

minCorner(self: _cloudComPy.ccBBox) Vector3Tpl<T>

Get the min corner of the bounding box

Returns:

min corner (tuple of coordinates)

Return type:

tuple

class cloudComPy.CC_DIRECTION

Members:

X

Y

Z

X = <CC_DIRECTION.X: 0>
Y = <CC_DIRECTION.Y: 1>
Z = <CC_DIRECTION.Z: 2>
__init__(self: _cloudComPy.CC_DIRECTION, value: int) None
property name
property value
class cloudComPy.CC_FILE_ERROR

Members:

CC_FERR_NO_ERROR

CC_FERR_BAD_ARGUMENT

CC_FERR_UNKNOWN_FILE

CC_FERR_WRONG_FILE_TYPE

CC_FERR_WRITING

CC_FERR_READING

CC_FERR_NO_SAVE

CC_FERR_NO_LOAD

CC_FERR_BAD_ENTITY_TYPE

CC_FERR_CANCELED_BY_USER

CC_FERR_NOT_ENOUGH_MEMORY

CC_FERR_MALFORMED_FILE

CC_FERR_CONSOLE_ERROR

CC_FERR_BROKEN_DEPENDENCY_ERROR

CC_FERR_FILE_WAS_WRITTEN_BY_UNKNOWN_PLUGIN

CC_FERR_THIRD_PARTY_LIB_FAILURE

CC_FERR_THIRD_PARTY_LIB_EXCEPTION

CC_FERR_NOT_IMPLEMENTED

CC_FERR_BAD_ARGUMENT = <CC_FILE_ERROR.CC_FERR_BAD_ARGUMENT: 1>
CC_FERR_BAD_ENTITY_TYPE = <CC_FILE_ERROR.CC_FERR_BAD_ENTITY_TYPE: 8>
CC_FERR_BROKEN_DEPENDENCY_ERROR = <CC_FILE_ERROR.CC_FERR_BROKEN_DEPENDENCY_ERROR: 13>
CC_FERR_CANCELED_BY_USER = <CC_FILE_ERROR.CC_FERR_CANCELED_BY_USER: 9>
CC_FERR_CONSOLE_ERROR = <CC_FILE_ERROR.CC_FERR_CONSOLE_ERROR: 12>
CC_FERR_FILE_WAS_WRITTEN_BY_UNKNOWN_PLUGIN = <CC_FILE_ERROR.CC_FERR_FILE_WAS_WRITTEN_BY_UNKNOWN_PLUGIN: 14>
CC_FERR_MALFORMED_FILE = <CC_FILE_ERROR.CC_FERR_MALFORMED_FILE: 11>
CC_FERR_NOT_ENOUGH_MEMORY = <CC_FILE_ERROR.CC_FERR_NOT_ENOUGH_MEMORY: 10>
CC_FERR_NOT_IMPLEMENTED = <CC_FILE_ERROR.CC_FERR_NOT_IMPLEMENTED: 17>
CC_FERR_NO_ERROR = <CC_FILE_ERROR.CC_FERR_NO_ERROR: 0>
CC_FERR_NO_LOAD = <CC_FILE_ERROR.CC_FERR_NO_LOAD: 7>
CC_FERR_NO_SAVE = <CC_FILE_ERROR.CC_FERR_NO_SAVE: 6>
CC_FERR_READING = <CC_FILE_ERROR.CC_FERR_READING: 5>
CC_FERR_THIRD_PARTY_LIB_EXCEPTION = <CC_FILE_ERROR.CC_FERR_THIRD_PARTY_LIB_EXCEPTION: 16>
CC_FERR_THIRD_PARTY_LIB_FAILURE = <CC_FILE_ERROR.CC_FERR_THIRD_PARTY_LIB_FAILURE: 15>
CC_FERR_UNKNOWN_FILE = <CC_FILE_ERROR.CC_FERR_UNKNOWN_FILE: 2>
CC_FERR_WRITING = <CC_FILE_ERROR.CC_FERR_WRITING: 4>
CC_FERR_WRONG_FILE_TYPE = <CC_FILE_ERROR.CC_FERR_WRONG_FILE_TYPE: 3>
__init__(self: _cloudComPy.CC_FILE_ERROR, value: int) None
property name
property value
class cloudComPy.CC_SHIFT_MODE

Members:

AUTO

XYZ

FIRST_GLOBAL_SHIFT

NO_GLOBAL_SHIFT

AUTO = <CC_SHIFT_MODE.AUTO: 0>
FIRST_GLOBAL_SHIFT = <CC_SHIFT_MODE.FIRST_GLOBAL_SHIFT: 2>
NO_GLOBAL_SHIFT = <CC_SHIFT_MODE.NO_GLOBAL_SHIFT: 3>
XYZ = <CC_SHIFT_MODE.XYZ: 1>
__init__(self: _cloudComPy.CC_SHIFT_MODE, value: int) None
property name
property value
class cloudComPy.CurvatureType

Members:

GAUSSIAN_CURV

MEAN_CURV

NORMAL_CHANGE_RATE

GAUSSIAN_CURV = <CurvatureType.GAUSSIAN_CURV: 1>
MEAN_CURV = <CurvatureType.MEAN_CURV: 2>
NORMAL_CHANGE_RATE = <CurvatureType.NORMAL_CHANGE_RATE: 3>
__init__(self: _cloudComPy.CurvatureType, value: int) None
property name
property value
class cloudComPy.EmptyCellFillOption

Members:

LEAVE_EMPTY

FILL_MINIMUM_HEIGHT

FILL_MAXIMUM_HEIGHT

FILL_CUSTOM_HEIGHT

FILL_AVERAGE_HEIGHT

INTERPOLATE_DELAUNAY

KRIGING

FILL_AVERAGE_HEIGHT = <EmptyCellFillOption.FILL_AVERAGE_HEIGHT: 4>
FILL_CUSTOM_HEIGHT = <EmptyCellFillOption.FILL_CUSTOM_HEIGHT: 3>
FILL_MAXIMUM_HEIGHT = <EmptyCellFillOption.FILL_MAXIMUM_HEIGHT: 2>
FILL_MINIMUM_HEIGHT = <EmptyCellFillOption.FILL_MINIMUM_HEIGHT: 1>
INTERPOLATE_DELAUNAY = <EmptyCellFillOption.INTERPOLATE_DELAUNAY: 5>
KRIGING = <EmptyCellFillOption.KRIGING: 6>
LEAVE_EMPTY = <EmptyCellFillOption.LEAVE_EMPTY: 0>
__init__(self: _cloudComPy.EmptyCellFillOption, value: int) None
property name
property value
class cloudComPy.ExportableFields

Members:

PER_CELL_HEIGHT

PER_CELL_COUNT

PER_CELL_MIN_HEIGHT

PER_CELL_MAX_HEIGHT

PER_CELL_AVG_HEIGHT

PER_CELL_HEIGHT_STD_DEV

PER_CELL_HEIGHT_RANGE

PER_CELL_INVALID

PER_CELL_AVG_HEIGHT = <ExportableFields.PER_CELL_AVG_HEIGHT: 4>
PER_CELL_COUNT = <ExportableFields.PER_CELL_COUNT: 1>
PER_CELL_HEIGHT = <ExportableFields.PER_CELL_HEIGHT: 0>
PER_CELL_HEIGHT_RANGE = <ExportableFields.PER_CELL_HEIGHT_RANGE: 6>
PER_CELL_HEIGHT_STD_DEV = <ExportableFields.PER_CELL_HEIGHT_STD_DEV: 5>
PER_CELL_INVALID = <ExportableFields.PER_CELL_INVALID: 10>
PER_CELL_MAX_HEIGHT = <ExportableFields.PER_CELL_MAX_HEIGHT: 3>
PER_CELL_MIN_HEIGHT = <ExportableFields.PER_CELL_MIN_HEIGHT: 2>
__init__(self: _cloudComPy.ExportableFields, value: int) None
property name
property value
class cloudComPy.ICPres

Result values on ICP registration.

Variables:
  • aligned (ccPointCloud) – the point cloud on which the transformation must be applied

  • transMat (ccGLMatrix) – the resulting transformation to apply

  • finalScale (float) – calculated scale if rescale required

  • finalRMS (float) – final error (RMS)

  • finalPointCount (int) – number of points used to compute the final RMS

__init__(self: _cloudComPy.ICPres) None

Default constructor

property aligned
property finalPointCount

Result values on ICP registration.

Variables:
  • aligned (ccPointCloud) – the point cloud on which the transformation must be applied

  • transMat (ccGLMatrix) – the resulting transformation to apply

  • finalScale (float) – calculated scale if rescale required

  • finalRMS (float) – final error (RMS)

  • finalPointCount (int) – number of points used to compute the final RMS

property finalRMS

Result values on ICP registration.

Variables:
  • aligned (ccPointCloud) – the point cloud on which the transformation must be applied

  • transMat (ccGLMatrix) – the resulting transformation to apply

  • finalScale (float) – calculated scale if rescale required

  • finalRMS (float) – final error (RMS)

  • finalPointCount (int) – number of points used to compute the final RMS

property finalScale

Result values on ICP registration.

Variables:
  • aligned (ccPointCloud) – the point cloud on which the transformation must be applied

  • transMat (ccGLMatrix) – the resulting transformation to apply

  • finalScale (float) – calculated scale if rescale required

  • finalRMS (float) – final error (RMS)

  • finalPointCount (int) – number of points used to compute the final RMS

property transMat

Result values on ICP registration.

Variables:
  • aligned (ccPointCloud) – the point cloud on which the transformation must be applied

  • transMat (ccGLMatrix) – the resulting transformation to apply

  • finalScale (float) – calculated scale if rescale required

  • finalRMS (float) – final error (RMS)

  • finalPointCount (int) – number of points used to compute the final RMS

class cloudComPy.interpolatorParameters

Parameters for scalar fields interpolation from a source cloud to a destination cloud.

Variables:
  • method (int) – from INTERPOL_METHOD: NEAREST_NEIGHBOR, K_NEAREST_NEIGHBORS, RADIUS, default NEAREST_NEIGHBOR

  • algos (int) – from INTERPOL_ALGO: AVERAGE, MEDIAN, NORMAL_DIST, default AVERAGE

  • knn (int) – number of neighbors, default 0

  • radius (float) – default 0

  • sigma (float) – default 0

__init__(self: _cloudComPy.interpolatorParameters) None

Default constructor

property algos

Parameters for scalar fields interpolation from a source cloud to a destination cloud.

Variables:
  • method (int) – from INTERPOL_METHOD: NEAREST_NEIGHBOR, K_NEAREST_NEIGHBORS, RADIUS, default NEAREST_NEIGHBOR

  • algos (int) – from INTERPOL_ALGO: AVERAGE, MEDIAN, NORMAL_DIST, default AVERAGE

  • knn (int) – number of neighbors, default 0

  • radius (float) – default 0

  • sigma (float) – default 0

property knn

Parameters for scalar fields interpolation from a source cloud to a destination cloud.

Variables:
  • method (int) – from INTERPOL_METHOD: NEAREST_NEIGHBOR, K_NEAREST_NEIGHBORS, RADIUS, default NEAREST_NEIGHBOR

  • algos (int) – from INTERPOL_ALGO: AVERAGE, MEDIAN, NORMAL_DIST, default AVERAGE

  • knn (int) – number of neighbors, default 0

  • radius (float) – default 0

  • sigma (float) – default 0

property method

Parameters for scalar fields interpolation from a source cloud to a destination cloud.

Variables:
  • method (int) – from INTERPOL_METHOD: NEAREST_NEIGHBOR, K_NEAREST_NEIGHBORS, RADIUS, default NEAREST_NEIGHBOR

  • algos (int) – from INTERPOL_ALGO: AVERAGE, MEDIAN, NORMAL_DIST, default AVERAGE

  • knn (int) – number of neighbors, default 0

  • radius (float) – default 0

  • sigma (float) – default 0

property radius

Parameters for scalar fields interpolation from a source cloud to a destination cloud.

Variables:
  • method (int) – from INTERPOL_METHOD: NEAREST_NEIGHBOR, K_NEAREST_NEIGHBORS, RADIUS, default NEAREST_NEIGHBOR

  • algos (int) – from INTERPOL_ALGO: AVERAGE, MEDIAN, NORMAL_DIST, default AVERAGE

  • knn (int) – number of neighbors, default 0

  • radius (float) – default 0

  • sigma (float) – default 0

property sigma

Parameters for scalar fields interpolation from a source cloud to a destination cloud.

Variables:
  • method (int) – from INTERPOL_METHOD: NEAREST_NEIGHBOR, K_NEAREST_NEIGHBORS, RADIUS, default NEAREST_NEIGHBOR

  • algos (int) – from INTERPOL_ALGO: AVERAGE, MEDIAN, NORMAL_DIST, default AVERAGE

  • knn (int) – number of neighbors, default 0

  • radius (float) – default 0

  • sigma (float) – default 0

class cloudComPy.LOCAL_MODEL_TYPES

Members:

NO_MODEL

LS

TRI

QUADRIC

LS = <LOCAL_MODEL_TYPES.LS: 1>
NO_MODEL = <LOCAL_MODEL_TYPES.NO_MODEL: 0>
QUADRIC = <LOCAL_MODEL_TYPES.QUADRIC: 3>
TRI = <LOCAL_MODEL_TYPES.TRI: 2>
__init__(self: _cloudComPy.LOCAL_MODEL_TYPES, value: int) None
property name
property value
class cloudComPy.Orientation

Members:

PLUS_X

MINUS_X

PLUS_Y

MINUS_Y

PLUS_Z

MINUS_Z

PLUS_BARYCENTER

MINUS_BARYCENTER

PLUS_ORIGIN

MINUS_ORIGIN

PREVIOUS

PLUS_SENSOR_ORIGIN

MINUS_SENSOR_ORIGIN

UNDEFINED

MINUS_BARYCENTER = <Orientation.MINUS_BARYCENTER: 7>
MINUS_ORIGIN = <Orientation.MINUS_ORIGIN: 9>
MINUS_SENSOR_ORIGIN = <Orientation.MINUS_SENSOR_ORIGIN: 12>
MINUS_X = <Orientation.MINUS_X: 1>
MINUS_Y = <Orientation.MINUS_Y: 3>
MINUS_Z = <Orientation.MINUS_Z: 5>
PLUS_BARYCENTER = <Orientation.PLUS_BARYCENTER: 6>
PLUS_ORIGIN = <Orientation.PLUS_ORIGIN: 8>
PLUS_SENSOR_ORIGIN = <Orientation.PLUS_SENSOR_ORIGIN: 11>
PLUS_X = <Orientation.PLUS_X: 0>
PLUS_Y = <Orientation.PLUS_Y: 2>
PLUS_Z = <Orientation.PLUS_Z: 4>
PREVIOUS = <Orientation.PREVIOUS: 10>
UNDEFINED = <Orientation.UNDEFINED: 255>
__init__(self: _cloudComPy.Orientation, value: int) None
property name
property value
class cloudComPy.ProjectionType

Members:

PROJ_MINIMUM_VALUE

PROJ_AVERAGE_VALUE

PROJ_MAXIMUM_VALUE

PROJ_MEDIAN_VALUE

PROJ_INVERSE_VAR_VALUE

INVALID_PROJECTION_TYPE

INVALID_PROJECTION_TYPE = <ProjectionType.INVALID_PROJECTION_TYPE: 255>
PROJ_AVERAGE_VALUE = <ProjectionType.PROJ_AVERAGE_VALUE: 1>
PROJ_INVERSE_VAR_VALUE = <ProjectionType.PROJ_INVERSE_VAR_VALUE: 4>
PROJ_MAXIMUM_VALUE = <ProjectionType.PROJ_MAXIMUM_VALUE: 2>
PROJ_MEDIAN_VALUE = <ProjectionType.PROJ_MEDIAN_VALUE: 3>
PROJ_MINIMUM_VALUE = <ProjectionType.PROJ_MINIMUM_VALUE: 0>
__init__(self: _cloudComPy.ProjectionType, value: int) None
property name
property value
class cloudComPy.ReportInfoVol

Result values on 2.5D volume calculation. See ComputeVolume25D

The volume is considered between a point cloud and a ground plane following a given direction (X, Y or Z), or between two point clouds.

Variables:
  • volume (float) – the resulting volume

  • addedVolume (float) – the positive part of the volume (ceil > floor)

  • removedVolume (float) – the negative part of the volume (ceil < floor)

  • surface (float) – the section of the point cloud along in the given direction

  • matchingPercent (float) – percentage of the section matching ceil and floor

  • ceilNonMatchingPercent (float) – percentage of the ceil section non matching floor

  • groundNonMatchingPercent (float) – percentage of the floor section non matching ceil

  • averageNeighborsPerCell (int) – average Neighbor number per cell (see ‘gridStep’ in :py:meth`ComputeVolume25D`)

__init__(self: _cloudComPy.ReportInfoVol) None

Default constructor

property addedVolume
property averageNeighborsPerCell
property ceilNonMatchingPercent
property groundNonMatchingPercent
property matchingPercent
property removedVolume
property surface
property volume
class cloudComPy.TRANSFORMATION_FILTERS

Members:

SKIP_NONE

SKIP_RXY

SKIP_RYZ

SKIP_RXZ

SKIP_ROTATION

SKIP_TX

SKIP_TY

SKIP_TZ

SKIP_TRANSLATION

SKIP_NONE = <TRANSFORMATION_FILTERS.SKIP_NONE: 0>
SKIP_ROTATION = <TRANSFORMATION_FILTERS.SKIP_ROTATION: 7>
SKIP_RXY = <TRANSFORMATION_FILTERS.SKIP_RXY: 1>
SKIP_RXZ = <TRANSFORMATION_FILTERS.SKIP_RXZ: 4>
SKIP_RYZ = <TRANSFORMATION_FILTERS.SKIP_RYZ: 2>
SKIP_TRANSLATION = <TRANSFORMATION_FILTERS.SKIP_TRANSLATION: 56>
SKIP_TX = <TRANSFORMATION_FILTERS.SKIP_TX: 8>
SKIP_TY = <TRANSFORMATION_FILTERS.SKIP_TY: 16>
SKIP_TZ = <TRANSFORMATION_FILTERS.SKIP_TZ: 32>
__init__(self: _cloudComPy.TRANSFORMATION_FILTERS, value: int) None
property name
property value
class cloudComPy.CONVERGENCE_TYPE

Members:

MAX_ERROR_CONVERGENCE

MAX_ITER_CONVERGENCE

MAX_ERROR_CONVERGENCE = <CONVERGENCE_TYPE.MAX_ERROR_CONVERGENCE: 0>
MAX_ITER_CONVERGENCE = <CONVERGENCE_TYPE.MAX_ITER_CONVERGENCE: 1>
__init__(self: _cloudComPy.CONVERGENCE_TYPE, value: int) None
property name
property value