Helios++
Helios software for LiDAR simulations
|
►Nfluxionum | |
►Nhelios | |
►NHeliosDemos | |
►NHeliosTests | |
►Npyhelios | |
►Nrigidmotion | |
►NSurfaceInspector | |
►Nvisualhelios | |
CAABB | Class representing an Axis Aligned Bounding Box (AABB) |
CAbstractBeamDeflector | Base abstract class for beam deflectors |
CAbstractDetector | Base abstract class for detectors |
CAbstractGeometryFilter | Abstract class defining asset loading filters common behavior |
CAbstractPulseRunnable | Base abstract class for pulse runnables |
CArgumentsParser | Parser for helios-plusplus invocation arguments |
CAsset | Base class for all assets |
CAxisSAHKDTreeFactory | Class providing building methods for k-dimensional trees with surface area heuristic and greedy selection of best partition axis |
CAxisSAHKDTreeGeometricStrategy | Class providing a strategy for geometry-level parallelization of Axis SAH KDTree building. The geometry-level parallelization is the one to be applied on upper tree nodes, where multiple threads work on the building of the same node |
CBasicDynGrove | Basic implementation of a DynGrove which extends BasicStaticGrove to provided dynamic funcionalities |
CBasicDynGroveSubject | Interface defining the behaviors that must be supported by any object that can notify to a basic dynamic grove |
CBasicStaticGrove | Basic implementation of a StaticGrove |
CBinaryTreeBreadthIterator | Like fast breadth first iterator but wrapping tree nodes inside a IterableTreeNode instance |
CBinaryTreeDepthIterator | Like fast depth first iterator but wrapping tree nodes inside a IterableTreeNode instance |
CBinaryTreeFastBreadthIterator | Fast breadth first iterator for binary tree like nodes |
CBinaryTreeFastDepthIterator | Fast depth first iterator for binary tree like nodes |
CBlockAllocator | Class to handle allocation of multiple instances of the same class by blocks. It is useful to reduce the number of new calls that, when too high, might cause a performance bottleneck |
CBuddingScanningPulseProcess | Class implementing a scanning pulse process which works with a pulse task dropper based on budding task dropper and a pulse thread pool based on an asynchronous resource thread pool |
CBuddingTaskDropper | The budding task dropper is a task dropper which implements the logic for its own reproduction so buds (children) are modified depending on the difference between last idle time length and current idle time length |
CColor4f | Class representing a color with 4 float components: RGBA |
CConicBeamDeflector | Class representing a conic beam deflector |
CDateTimeUtils | Class providing util static methods for dealing with date and time operations |
CDesignTrajectoryFunction | Class representing a trajectory function that comes from interpolating a TemporalDesignMatrix using its corresponding DiffDesignMatrix |
CDetailedVoxel | Class which extends Voxel to support AMAPVox format with extra features |
CDetailedVoxelLoader | Loader for deatiled voxel geometries |
CDirections | Coordinate system convention |
CDiscreteTime | Class to handle discrete time. It supports transforming from continuous time to discrete time and also transforming from discrete time to continuous time. It also supports cyclic (normalized period) and periodic (for any given period scale, which matches normalized when it is \(1\)) transforms |
CDynFullWaveformPulseRunnable | Derived class extending FullWaveFormPulseRunnable to handle dynamic moving objects |
CDynGrove | A DynGrove is an interface which declares observer-like functionality so dynamic subjects can notify to the grove their updates, which acts like a proxy for observer trees |
CDynMotion | Class which wraps the RigidMotion class to implement extra features such as the self mode control mechanism and computation of normal counterparts |
CDynMotionEngine | Adapter which wraps a rigid motion engine to make it fit the dynamic Helios context |
CDynMovingObject | Implementation of a dynamic object which supports dynamic motions (extended rigid motions) |
CDynObject | Dynamic object base implementation |
CDynScene | Dynamic scene base implementation |
CDynSequence | Dynamic sequence is a set of elements that must be applied during dynamic simulations to provide dynamic behavior to dynamic objects |
CDynSequencer | Dynamic sequencer handles dynamic sequences in a sequential fashion |
CDynSequentiableMovingObject | Implementation of a dynamic object which supports sequentiable dynamic motions |
CEggAsset | An EggAsset is an asset that can hatch to its full class |
CEnergyMaths | Some common mathematical operations concerning energy |
Cenum_hasher | |
CFastSAHKDTreeFactory | Class providing building methods for k-dimensional trees with a fast strategy to approximate Surface Area Heuristic (SAH) |
CFastSAHKDTreeGeometricStrategy | Class providing a strategy for geometry-level parallelization of Fast SAH KDTree building. The geometry-level parallelization is the one to be applied on upper tree nodes, where multiple threads work on the building of the same node |
CFastSAHKDTreeRecountSubTask | |
CFiberArrayBeamDeflector | Class representing a fiber array beam deflector |
Cfile_logger | Class representing a logger capable of writing to files |
CFileUtils | Class with util functions to work with files |
Cfull_logger | Class representing a logger capable of writing to files and, at the same time, to standard out |
CFullWaveform | Class representing a full waveform |
CFullWaveformPulseDetector | Concrete implementation of abstract detector to compute full waveform pulses |
CFullWaveformPulseRunnable | Concrete implementation of abstract pulse runnable to compute full waveform pulses |
CFullWaveformYielder | Yield a set of full waveforms from single full waveform data so it is written when buffer size has been reached or, alternatively, when yielder is directly forced to yield |
CFWFSettings | Full Waveform settings |
CGeoTiffFileLoader | Loader for tiff files |
CGroundVehiclePlatform | Class representing a ground vehicle platform |
CGroveKDTreeRaycaster | Grove KDTree Raycaster extends KDTreeRaycaster to make it compatible with groves by implementing the RaycasterGroveTree interface |
CGroveTreeWrapper | Wrapper for trees belonging to a StaticGrove so for-each loop can be used |
CHelicopterPlatform | Class representing a helicopter platform |
CHeliosException | Base class for Helios exceptions |
CIBinaryTreeNode | Binary tree node interface that must be implemented by any class providing binary tree node based functionalities |
CIExprTreeNode | Interface extending the Binary Tree node definition to become a Expression Tree node. Any class providing expression tree node based functionalities must implement the IExprTreeNode, which implies it must also implement the IBinaryTreeNode interface |
CIExprTreeNodeStringFactory | Interface defining the functions that must be provided by any concrete implementation of a factory that builds expression trees from a given string |
CInterpolatedMovingPlatform | Class representing a MovingPlatform which position is defined by a function interpolated from a DesignMatrix |
CInterpolatedMovingPlatformEgg | Egg class that can hatch to a full InterpolatedMovingPlatform class |
CIntersectionHandlingResult | Output class for intersection handling methods |
CIterableTreeNode | Class representing an iterable tree node. It is a wrapper for a given tree node type which handles some extra features that can be useful during iteration such as depth level |
CITreeIterator | Interface defining core mechanisms that must be provided by any tree iterator |
CKDGrove | Grove of KDTrees. It supports both static and dynamic KDTrees, handling each accordingly |
CKDGroveFactory | |
CKDGroveRaycaster | Class representing a KDGrove ray caster |
CKDGroveStats | Data structure class containing statistics for KDGrove |
CKDGroveSubject | Interface defining the behaviors that must be supported by any object that can notify to a KDGrove |
CKDTreeBuildType | Build type to wrap data required for recursive building of KDTree nodes when using a KDTreeFactory based thread pool |
CKDTreeFactory | Class that must be extended by any class which provides factory methods for k-dimensional trees. Notice all KDTrees should be instantiated through corresponding factories |
CKDTreeFactoryMaker | Collection of static methods to simplify making of different KDTree factories |
CKDTreeFactoryThreadPool | Class implementing a thread pool to deal with multi thread KDTree building process |
CKDTreeNode | Class representing a KDTree node |
CKDTreeNodeRoot | Class representing the root node of a KDTree |
CKDTreePrimitiveComparator | KDTree primitive comparator |
►CKDTreeRaycaster | Class representing a KDTree ray caster |
CLadLut | Leaf Angle Distribution Look-Up Table |
CLadLutLoader | Loader for Leaf Angle Distribution Look Up Tables |
CLasSpecification | Class representing LAS specification Classes from 0 to 63 are defined by the specification Classes from 64 to 255 are user definable |
CLeg | Class representing a survey leg |
CLightKDTreeNode | Class representing a light KDTree node. It is, the basic representation of a KDTree node with uses least possible data |
CLightKDTreeNodeBlockAllocator | Block allocator for LightKDTreeNode instances |
CLinearPathPlatform | Class representing a linear path platform |
CLinearVoidStepLoop | Class extending VoidStepLoop to support a continous linear step loop without cyclic behavior |
Clogger | Class providing the base for any logger |
Clogger_factory | Logger factory class can be used to build loggers |
CMarquardtFitter | Class to compute Marquardt fitter |
CMaterial | Class representing a material specification |
CMaterialsFileReader | Class to read materials files |
CMathConverter | |
CMDThreadPool | Abstract class extending basic thread pool implementation to provide a basis layer to handle tasks with associated data |
CMeasurement | Class representing a measurement |
CMovingPlatform | Class representing a moving platform |
CMultiScanner | Class representing a multi scanner. It is, a scanner that can emit more than one pulse per time instant |
CMultiThreadKDTreeFactory | Decorator for any KDTree factory which provides support for multi thread KDTree building |
CMultiThreadSAHKDTreeFactory | Decorator for any SAH KDTree which provides support for multi thread KDTree building |
CNoiseSource | Class to handle a noise source |
CNonVoidStepLoop | Class extending StepLoop to support functions with non void return |
CNormalNoiseSource | Class for normal noise handling |
COscillatingMirrorBeamDeflector | Class representing an oscillating mirror beam deflector |
CPlaneFitter | Handle plane fitting operations |
CPlatform | Class representing a platform asset |
CPlatformSettings | Class representing platform settings |
CPointcloudYielder | Yield a point cloud from measurements so it is written when buffer size has been reached or, alternatively, when yielder is directly forced to yield |
CPointerVector | Wrapper to have a vector of pointers such that when it is destroyed, all the pointers are deleted |
CPolygonMirrorBeamDeflector | Class representing a polygon mirror beam deflector |
CPrimitive | Abstract class defining the common behavior for all primitives |
CPulse | Class representing a laser pulse |
CPulseTask | Pulse task interface |
CPulseTaskDropper | Class implementing a task dropper to deal with pulse tasks |
CPulseTaskFactory | Factory to make the adequate pulse task depending on the simulation |
CPulseThreadPool | Class implementing a thread pool to deal with pulse tasks |
CPulseThreadPoolFactory | Factory to build different types of pulse thread pools |
CPulseThreadPoolInterface | Interface for thread pools supporting pulse tasks |
CPulseWarehouseThreadPool | Class implementing a warehouse thread pool to deal with pulse tasks |
CRandomnessGenerator | Class to generate random numbers |
CRandomNoiseSource | Abstract class for random noise handling |
CRaycaster | Raycaster interface declaring raycasting operations |
CRaycasterGroveTree | Define a Raycaster derived interface to make it compatible with groves |
CRaySceneIntersection | Class representing a the intersection of a ray over a scene made of primitives |
CRayUtils | Class with util functions to work with rays |
CResThreadPool | Abstract class extending basic thread pool implementation to provide a basis layer to handle thread associated resources |
CRisleyBeamDeflector | Class representing a risley prisms beam deflector |
CRotateFilter | Rotate transform filter |
CRotation | |
CRotationOrder | |
CSAHKDTreeComputeLossNodesSubTask | Shared sub-task to compute loss nodes when finding the split position during SAH KDTree building. It is meant to be used at geometry-level parallelization context and only for right child nodes |
CSAHKDTreeFactory | Class providing building methods for k-dimensional trees with surface area heuristic (SAH) |
CSAHKDTreeGeometricStrategy | Class providing a strategy for geometry-level parallelization of SAH KDTree building. The geometry-level parallelization is the one to be applied on upper tree nodes, where multiple threads work on the building of the same node |
CScaleFilter | Scale transform filter |
CScanner | Class representing a scanner asset |
CScannerHead | |
CScannerSettings | Scanner settings class |
CScanningDevice | Class representing a scanning device. Any scanner needs to be composed of at least one scanning device to be computable |
CScanningPulseProcess | Class defining the scanning pulse process interface |
CScanningStrip | A scanning strip is a set of legs which belong to the same strip. Thus, it is an abstract group of legs |
CScene | Class representing a scene asset |
CSceneLoadingSpecification | Manually specify scene transformation filters to apply when loading a scene |
CScenePart | Class representing a scene part |
CSerialIO | Utils for Input/Output operations of serializable objects |
CSerialSceneWrapper | Wrapper for scenes which assists read and write serialization operations depending on the type of scene (Scene, StaticScene, DynScene) |
CSharedSubTask | A shared task is said to be a collection of shared sub-tasks. Each shared sub-task can be computed in parallel with respect to its siblings |
CSharedSubTaskCompletionHandler | Interface declaring behaviors that must be implemented by any class capable of handling completion of shared sub-tasks |
CSharedTaskSequencer | Class providing core implementation of a shared task sequencer. It is a sequencer which launches shared sub-tasks belonging to the same shared task |
CSimpleKDTreeBuildChildrenNodesSubTask | Shared sub-task to build children nodes when building a Simple KDTree on all geometry-level depths except for the last one |
CSimpleKDTreeComputeRootNodeBoundariesSubTask | Shared sub-task to compute root node boundaries when building a Simple KDTree. It is meant to be used at geometry-level parallelization context and only for root node |
CSimpleKDTreeFactory | Class providing building methods for simple k-dimensional trees |
CSimpleKDTreeGeometricStrategy | Class providing a strategy for geometry-level parallelization of Simple KDTree building. The geometry-level parallelization is the one to be applied on upper tree nodes, where multiple threads work on the building of the same node |
CSimpleKDTreePopulateSplitsSubTask | Shared sub-task to populate splits when building a Simple KDTree. It is meant to be used at geometry-level parallelization context and only for right child nodes |
CSimplePhysicsPlatform | Class representing a simple phyiscs platform |
CSimpleThreadPool | Abstract class providing implementation of a simple thread pool which assigns tasks to threads |
CSimulatedPulse | Class representing a simulated laser pulse |
CSimulation | Class representing a simulation |
CSimulationCycleCallback | Abstract class to handle simulation cycle callbacks |
CSimulationReporter | Class to handle reports related to simulation |
CSimulationStepLoop | Class extending LinearVoidStepLoop to support main simulation loop |
CSingleScanner | Class representing a single scanner. It is, a scanner that can only emit one pulse per time instant |
CSmartSharedFunctorContainer | Functor container can be used to wrap any element so its functor () is called while having a shared pointer to the contained element |
CSpectralLibrary | Class representing the spectral library |
CStaticGrove | A StaticGrove is an abstract class which declares methods to handle a set of trees |
CStaticScene | Static scene basic implementation |
Cstd_out_logger | Class representing a logger capable of writing to standard out stream |
CStepLoop | Abstract class providing the basics to handle loops inside simulation time, which is discrete because it is based on simulation steps |
CstringVisitor | StringVisitor defines a different string building behavior for different printable objects |
CSurvey | Class representing a Helios++ survey |
CSurveyPlayback | Survey playback class, used to extend simulation functionalities so it can be controlled |
CTaskDropper | Class which handles tasks dropping. It is, executing and then removing each task when dropping |
CTaskWarehouse | Class implementing a warehouse to store and retrieve tasks in a thread safe fashion |
CTest | |
CThreadPool | Base class providing core implementation of a thread pool to deal with multi threading tasks |
CTimedPulse | Class representing a time aware laser pulse |
CTimeWatcher | A time watcher can be used to perform and report time measures |
CTrajectory | Class representing a concrete trajectory definition |
CTrajectoryFunction | Abstract class representing a trajectory function \(f: \mathbb{R} \to \mathbb{R}^{n}\) |
CTrajectorySettings | Class representing trajectory settings |
CTranslateFilter | Translate transform filter |
CTriangle | Class representing triangle primitive |
CUniformNoiseSource | Class for uniform noise handling |
CUnivarExprTreeNode | Class implementing a Univariate Expression Tree Node |
►CUnivarExprTreeStringFactory | Class implementing a factory that makes univariate expression trees from expressions given as strings |
CVectorial | Class to perform util vector operations |
CVertex | Class representing a vertex |
CVertexKeyEqual | Struct to compare vertex when using unordered set |
CVertexKeyHash | Struct to obtain vertex hash when using unordered set |
CVoidStepLoop | Class extending StepLoop to support functions with no return |
CVoxel | Class representing a voxel primitive |
CVoxelFileParser | Class for parsing voxel files |
CVoxelGridCell | VoxelGridCell is used to build and fill all necessary voxels to represent input point cloud |
CWarehouseScanningPulseProcess | Class implementing a scanning pulse process which works with a pulse task dropper based on budding task dropper and a pulse warehouse thread pool based on an asynchronous warehouse thread pool |
CWarehouseThreadPool | Thread pool which starts thread so they are always waiting for new tasks to be posted to the warehouse to compute them |
CWavefrontObj | Class representing a .obj loaded file |
CWavefrontObjCache | |
CWavefrontObjFileLoader | OBJ file loader filter |
CWaveMaths | Some common mathematical operatiosn concerning the full waveform |
CWriteYielder | Abstract class representing a write yielder. It is, a yielder which can use the FMSWriteFacade to write its output |
CXmlAssetsLoader | Class for asset loading from XML file |
CXmlSceneLoader | Class for scene loading from XML file |
CXmlSurveyLoader | Survey loader from XML |
CXmlUtils | Common utils for XML handling |
CXYZPointCloudFileLoader | Import point cloud files abstracting them to a set of voxels |
CYielder | Abstract class representing a yielder. It is, an object which can be used to accumulate inputs until either a yield is explicitly deleted or the yield condition is triggered, probably after a push request |