L.O.D. (Level of Detail) structure.
More...
#include <ccPointCloudLOD.h>
|
enum | State { NOT_INITIALIZED
, UNDER_CONSTRUCTION
, INITIALIZED
, BROKEN
} |
| Structure initialization state.
|
|
|
| ccPointCloudLOD () |
| Default constructor.
|
|
virtual | ~ccPointCloudLOD () |
| Destructor.
|
|
bool | init (ccPointCloud *cloud) |
| Initializes the construction process (asynchronous)
|
|
void | lock () |
| Locks the structure.
|
|
void | unlock () |
| Unlocks the structure.
|
|
State | getState () |
| Returns the current state.
|
|
void | clear () |
| Clears the structure.
|
|
const ccOctree::Shared & | octree () const |
| Returns the associated octree.
|
|
bool | isNull () |
| Returns whether the structure is null (i.e. not under construction or initialized) or not.
|
|
bool | isInitialized () |
| Returns whether the structure is initialized or not.
|
|
bool | isUnderConstruction () |
| Returns whether the structure is initialized or not.
|
|
bool | isBroken () |
| Returns whether the structure is broken or not.
|
|
unsigned char | maxLevel () |
| Returns the maximum accessible level.
|
|
Node & | node (int32_t index, unsigned char level) |
|
const Node & | node (int32_t index, unsigned char level) const |
|
Node & | root () |
|
const Node & | root () const |
|
uint32_t | flagVisibility (const Frustum &frustum, ccClipPlaneSet *clipPlanes=nullptr) |
| Test all cells visibility with a given frustum. More...
|
|
LODIndexSet & | getIndexMap (unsigned char level, unsigned &maxCount, unsigned &remainingPointsAtThisLevel) |
| Builds an index map with the remaining visible points.
|
|
const LODIndexSet & | getLasIndexMap () const |
| Returns the last index map.
|
|
bool | allDisplayed () const |
| Returns whether all points have been displayed or not.
|
|
size_t | memory () const |
| Returns the memory used by the structure (in bytes)
|
|
|
static const unsigned char | UNDEFINED = 255 |
| Undefined visibility flag.
|
|
|
bool | initInternal (ccOctree::Shared octree) |
| Reserves memory.
|
|
void | setState (State state) |
| Sets the current state.
|
|
void | clearExtended (bool autoStopThread, State newState) |
| Clears the structure (with more options)
|
|
void | clearData () |
| Clears the internal (nodes) data.
|
|
int32_t | newCell (unsigned char level) |
| Reserves a new cell at a given level. More...
|
|
void | shrink_to_fit () |
| Shrinks the internal data to its minimum size.
|
|
void | resetVisibility () |
| Updates the max radius per level FOR ALL CELLS. More...
|
|
uint32_t | addNPointsToIndexMap (Node &node, uint32_t count) |
| Adds a given number of points to the active index map (should be dispatched among the children cells)
|
|
|
friend | ccPointCloudLODThread |
|
std::vector< Level > | m_levels |
| Per-level cells data.
|
|
RenderParams | m_currentState |
| Current rendering state.
|
|
LODIndexSet | m_indexMap |
| Index map.
|
|
LODIndexSet | m_lastIndexMap |
| Last index map (pointer on)
|
|
ccOctree::Shared | m_octree |
| Associated octree.
|
|
ccPointCloudLODThread * | m_thread |
| Computing thread.
|
|
QMutex | m_mutex |
| For concurrent access.
|
|
State | m_state |
| State.
|
|
L.O.D. (Level of Detail) structure.
◆ flagVisibility()
uint32_t ccPointCloudLOD::flagVisibility |
( |
const Frustum & |
frustum, |
|
|
ccClipPlaneSet * |
clipPlanes = nullptr |
|
) |
| |
Test all cells visibility with a given frustum.
Automatically calls resetVisibility
◆ newCell()
int32_t ccPointCloudLOD::newCell |
( |
unsigned char |
level | ) |
|
|
protected |
Reserves a new cell at a given level.
- Returns
- the new cell index in the array corresponding to this level (see m_levels)
◆ resetVisibility()
void ccPointCloudLOD::resetVisibility |
( |
| ) |
|
|
protected |
Updates the max radius per level FOR ALL CELLS.
Resets the internal visibility flags All nodes are flagged as 'INSIDE' (= visible) and their 'visibleCount' attribute is set to 0.
The documentation for this class was generated from the following files:
- ccPointCloudLOD.h
- ccPointCloudLOD.cpp