Represents a list of patches; sub-regions of a point cloud.
#include <Rendering/SceneComponents/splitandlodpointcloud.h>
|
| PatchList (Mesh::MeshModelLibrary &sourceMeshes) |
|
iterator | begin () |
|
const_iterator | begin () const |
|
void | clear () |
|
iterator | end () |
|
const_iterator | end () const |
|
LodSettings::LodNumber | getMaxLod () const |
|
Mesh::MeshModelInterface * | getPointCloudForPatch (int patchIndex, LodSettings::LodNumber globalLod) |
|
Mesh::MeshModelInterface * | getPointCloudForPatch (iterator iter, LodSettings::LodNumber globalLod) |
|
Mesh::MeshModelInterface * | getPointCloudForPatch (Rendering::MeshModelInstance &patch, LodSettings::LodNumber globalLod) |
|
bool | getPointCloudsIntersectingBoundingBox (MeshList &pointClouds, const Mesh::BoundingBoxMinimal &bounds, LodSettings::LodNumber lodLevel=0) |
|
bool | getPointCloudsIntersectingViewFrustum (MeshList &pointClouds, const ViewFrustumPlanes &planes, LodSettings::LodNumber lodLevel=0) |
|
bool | getPointsInBoundingBox (MeshList &pointClouds, const Mesh::BoundingBoxMinimal &bounds, LodSettings::LodNumber lodLevel=0) |
|
bool | getPointsInViewFrustum (MeshList &pointClouds, const ViewFrustumPlanes &planes, LodSettings::LodNumber lodLevel=0) |
|
Mesh::MeshModelLibrary & | getSourceMeshes () |
|
Rendering::MeshModelInstance & | operator[] (int i) |
|
const Rendering::MeshModelInstance & | operator[] (int i) const |
|
int | size () const |
|
◆ const_iterator
◆ difference_type
◆ iterator
◆ size_type
◆ value_type
◆ PatchList()
◆ begin() [1/2]
◆ begin() [2/2]
◆ clear()
◆ end() [1/2]
◆ end() [2/2]
◆ getMaxLod()
quint8 getMaxLod |
( |
| ) |
const |
◆ getPointCloudForPatch() [1/3]
◆ getPointCloudForPatch() [2/3]
◆ getPointCloudForPatch() [3/3]
- Parameters
-
patch | The patch for which we wish to retrieve point cloud information at a particular global LOD level. |
globalLod | The global level of detail for which we wish to retrieve the point cloud information. Expected to be in the range [0,maxLod_]. |
Returns the poiint cloud corresponding to the specified patch and the specified level of detail. The level of detail is specified in the global LOD range (i.e. across all patches in the set that was processed).
- Returns
- The point cloud for the patch at the level of detail globalLod.
◆ getPointCloudsIntersectingBoundingBox()
- Parameters
-
pointClouds | (out) Output list of point clouds at the specified global LOD. |
bounds | Bounding region from which point data is to be obtained. |
lodLevel | The LOD at which to query the patches, zero being the most detailed. Note that the valid range of this number depends on the LODs computed across all patches, stored as the maxLod() property of the PatchList. |
Returns a list of point clouds that intersect the specified region. Because these patches remain unchanged from the base implementation, ownership of the clouds remains in the hands of the PatchList - no cleanup is required.
- Returns
- true if the point clouds were able to be obtained, false if some invalid data was supplied to the method such as lodLevel being out of range, or the MeshModelInterface objects in meshSources being out-of-date and requiring update (only applicable if a workflow is in use).
◆ getPointCloudsIntersectingViewFrustum()
- Parameters
-
pointClouds | (out) Output list of point clouds at the specified global LOD. |
planes | Normalised view frustum planes. |
lodLevel | The LOD at which to query the patches, zero being the most detailed. Note that the valid range of this number depends on the LODs computed across all patches, stored as the maxLod() property of the PatchList. |
- Returns
◆ getPointsInBoundingBox()
- Parameters
-
pointClouds | (out) Output list of point clouds at the specified global LOD. |
bounds | Bounding region from which point data is to be obtained. |
lodLevel | The LOD at which to query the patches, zero being the most detailed. Note that the valid range of this number depends on the LODs computed across all patches, stored as the maxLod() property of the PatchList. |
Returns a list of point clouds, each containing only the points from the relevant patch that are contained within the specified region.
- Note
- The point clouds returned by this method are filters of the original patch clouds, so ownership lies with the calling code - it is the responsibility of the caller to delete the returned clouds.
- Returns
- true if the point clouds were able to be obtained, false if some invalid data was supplied to the method such as lodLevel being out of range, or the MeshModelInterface objects in meshSources being out-of-date and requiring update (only applicable if a workflow is in use).
◆ getPointsInViewFrustum()
- Parameters
-
pointClouds | (out) Output list of point clouds at the specified global LOD. |
planes | Normalised view frustum planes. |
lodLevel | The LOD at which to query the patches, zero being the most detailed. Note that the valid range of this number depends on the LODs computed across all patches, stored as the maxLod() property of the PatchList. |
- Returns
- true if the point clouds were able to be obtained, false if some invalid data was supplied to the method such as lodLevel being out of range, or the MeshModelInterface objects in meshSources being out-of-date and requiring update (only applicable if a workflow is in use).
◆ getSourceMeshes()
◆ operator[]() [1/2]
◆ operator[]() [2/2]
◆ size()