From cbdbe8965aed8a65da509ec585bc39c2499f81fe Mon Sep 17 00:00:00 2001 From: uadmin Date: Mon, 16 Aug 2021 16:12:18 +0200 Subject: [PATCH] Pyhelios source code is now inside pyhelios package --- doc/html/annotated.html | 285 +++--- doc/html/annotated_dup.js | 52 +- doc/html/classes.html | 50 +- ...ySceneIntersectionWrapper__coll__graph.map | 4 + ...ySceneIntersectionWrapper__coll__graph.md5 | 1 + ...ySceneIntersectionWrapper__coll__graph.png | Bin 0 -> 7938 bytes .../d0/d0e/XmlAssetsLoader_8h_source.html | 2 +- ...asspyhelios_1_1PyBeamDeflectorWrapper.html | 207 +++++ ...classpyhelios_1_1PyBeamDeflectorWrapper.js | 27 + doc/html/d0/d8f/Rotation_8h_source.html | 16 +- ...ios_1_1PyScenePartWrapper__coll__graph.map | 4 + ...ios_1_1PyScenePartWrapper__coll__graph.md5 | 1 + ...ios_1_1PyScenePartWrapper__coll__graph.png | Bin 0 -> 11006 bytes .../d0/db5/PyDetectorWrapper_8h_source.html | 5 +- .../d0/dd2/PyScenePartWrapper_8h_source.html | 7 +- ..._1_1PyHeliosOutputWrapper__coll__graph.map | 4 + ..._1_1PyHeliosOutputWrapper__coll__graph.md5 | 1 + ..._1_1PyHeliosOutputWrapper__coll__graph.png | Bin 0 -> 10332 bytes ...lios_1_1PyDetectorWrapper__coll__graph.map | 3 + ...lios_1_1PyDetectorWrapper__coll__graph.md5 | 1 + ...lios_1_1PyDetectorWrapper__coll__graph.png | Bin 0 -> 8999 bytes .../classpyhelios_1_1PyTrajectoryWrapper.html | 175 ++++ .../classpyhelios_1_1PyTrajectoryWrapper.js | 16 + ...pyhelios_1_1PyTriangleWrapper-members.html | 123 +++ .../d53/PyMeasurementWrapper_8h_source.html | 7 +- ...lasspyhelios_1_1PyHeliosOutputWrapper.html | 155 ++++ .../classpyhelios_1_1PyHeliosOutputWrapper.js | 9 + .../d1/d94/PyHeliosSimulation_8h_source.html | 65 +- .../classpyhelios_1_1PyTriangleWrapper.html | 189 ++++ .../dbf/classpyhelios_1_1PyTriangleWrapper.js | 6 + ...yhelios_1_1PySceneWrapper__coll__graph.map | 4 + ...yhelios_1_1PySceneWrapper__coll__graph.md5 | 1 + ...yhelios_1_1PySceneWrapper__coll__graph.png | Bin 0 -> 9281 bytes .../d1/dd9/PyPlatformWrapper_8h_source.html | 11 +- ...lhelios_1_1VHDynObjectAdapter-members.html | 2 +- doc/html/d2/d2e/PyDoubleVector_8h_source.html | 5 +- ...pyhelios_1_1PyPlatformWrapper-members.html | 144 +++ ...elios_1_1PyRandomnessGeneratorWrapper.html | 154 +++ ...yhelios_1_1PyRandomnessGeneratorWrapper.js | 10 + ...PySimulationCycleCallback__coll__graph.map | 3 + ...PySimulationCycleCallback__coll__graph.md5 | 1 + ...PySimulationCycleCallback__coll__graph.png | Bin 0 -> 5878 bytes ...ios_1_1PyHeliosSimulation__coll__graph.map | 2 + ...ios_1_1PyHeliosSimulation__coll__graph.md5 | 1 + ...ios_1_1PyHeliosSimulation__coll__graph.png | Bin 0 -> 5714 bytes ...sspyhelios_1_1PyVertexWrapper-members.html | 114 +++ ...lios_1_1PyHeliosException__coll__graph.map | 3 + ...lios_1_1PyHeliosException__coll__graph.md5 | 1 + ...lios_1_1PyHeliosException__coll__graph.png | Bin 0 -> 6081 bytes doc/html/d2/dd0/ScannerHead_8h_source.html | 2 +- doc/html/d3/d0b/typedef_8h_source.html | 10 +- .../d3/d6f/AbstractDetector_8h_source.html | 2 +- .../d3/d71/PyTrajectoryWrapper_8h_source.html | 7 +- ...lasspyhelios_1_1PyIntegerList-members.html | 115 +++ .../FullWaveformPulseDetector_8h_source.html | 2 +- ...pyhelios_1_1PyTrajectoryVectorWrapper.html | 146 +++ ...sspyhelios_1_1PyTrajectoryVectorWrapper.js | 9 + ...classpyhelios_1_1PyMeasurementWrapper.html | 215 +++++ .../classpyhelios_1_1PyMeasurementWrapper.js | 30 + ...lios_1_1PyPlatformWrapper__coll__graph.map | 5 + ...lios_1_1PyPlatformWrapper__coll__graph.md5 | 1 + ...lios_1_1PyPlatformWrapper__coll__graph.png | Bin 0 -> 14213 bytes ...classpyhelios_1_1PyNoiseSourceWrapper.html | 179 ++++ .../classpyhelios_1_1PyNoiseSourceWrapper.js | 18 + .../d4/d6d/ConicBeamDeflector_8h_source.html | 2 +- ...ios_1_1PyBeamDeflectorWrapper-members.html | 131 +++ .../classpyhelios_1_1PyPlatformWrapper.html | 246 +++++ .../d9d/classpyhelios_1_1PyPlatformWrapper.js | 40 + ..._1_1PyPrimitiveWrapper__inherit__graph.map | 4 + ..._1_1PyPrimitiveWrapper__inherit__graph.md5 | 1 + ..._1_1PyPrimitiveWrapper__inherit__graph.png | Bin 0 -> 9376 bytes doc/html/d5/d00/PyIntegerList_8h_source.html | 5 +- ...PyDetailedVoxelWrapper__inherit__graph.map | 3 + ...PyDetailedVoxelWrapper__inherit__graph.md5 | 1 + ...PyDetailedVoxelWrapper__inherit__graph.png | Bin 0 -> 5901 bytes ...elios_1_1PyMeasurementWrapper-members.html | 134 +++ doc/html/d5/d6c/SurveyCopyTest_8h_source.html | 10 +- doc/html/d5/d7f/Voxel_8h_source.html | 2 +- .../d5/dad/PyPrimitiveWrapper_8h_source.html | 13 +- ...os_1_1PyTrajectoryWrapper__coll__graph.map | 3 + ...os_1_1PyTrajectoryWrapper__coll__graph.md5 | 1 + ...os_1_1PyTrajectoryWrapper__coll__graph.png | Bin 0 -> 4593 bytes ...assvisualhelios_1_1VHDynObjectAdapter.html | 27 +- ...classvisualhelios_1_1VHDynObjectAdapter.js | 2 +- doc/html/d5/dcb/classRotation.html | 23 +- ...asspyhelios_1_1PyDoubleVector-members.html | 117 +++ .../df8/PyBeamDeflectorWrapper_8h_source.html | 7 +- ...yhelios_1_1PyMeasurementVectorWrapper.html | 148 +++ ...spyhelios_1_1PyMeasurementVectorWrapper.js | 9 + doc/html/d6/d03/ScenePart_8h_source.html | 2 +- ...s_1_1PyTriangleWrapper__inherit__graph.map | 3 + ...s_1_1PyTriangleWrapper__inherit__graph.md5 | 1 + ...s_1_1PyTriangleWrapper__inherit__graph.png | Bin 0 -> 4849 bytes .../d95/classpyhelios_1_1PyVertexWrapper.html | 156 ++++ .../d95/classpyhelios_1_1PyVertexWrapper.js | 10 + .../classHeliosException__inherit__graph.map | 2 +- .../classHeliosException__inherit__graph.md5 | 2 +- .../classHeliosException__inherit__graph.png | Bin 5700 -> 5986 bytes ...ualhelios_1_1VHDynObjectXYZRGBAdapter.html | 7 +- .../d6/dd5/HelicopterPlatform_8h_source.html | 2 +- doc/html/d6/dda/classHeliosException.html | 2 +- ...yhelios_1_1PyHeliosSimulation-members.html | 166 ++++ .../d17/classpyhelios_1_1PySceneWrapper.html | 171 ++++ .../d7/d17/classpyhelios_1_1PySceneWrapper.js | 15 + ...asspyhelios_1_1PyDetailedVoxelWrapper.html | 213 +++++ ...classpyhelios_1_1PyDetailedVoxelWrapper.js | 14 + .../d34/AbstractBeamDeflector_8h_source.html | 2 +- doc/html/d7/d3f/RotateFilter_8h_source.html | 2 +- .../d52/SimplePrimitivesDemo_8h_source.html | 10 +- doc/html/d7/d5d/Primitive_8h_source.html | 2 +- .../d69/PyHeliosOutputWrapper_8h_source.html | 7 +- ...lasspyhelios_1_1PyHeliosUtils-members.html | 108 +++ ..._1_1PyTrajectoryVectorWrapper-members.html | 113 +++ doc/html/d8/d43/PySceneWrapper_8h_source.html | 15 +- .../d83/classpyhelios_1_1PyIntegerList.html | 150 +++ .../d8/d83/classpyhelios_1_1PyIntegerList.js | 11 + .../classpyhelios_1_1PyHeliosException.html | 155 ++++ .../d98/classpyhelios_1_1PyHeliosException.js | 4 + .../d9e/AbstractPulseRunnable_8h_source.html | 2 +- ...PyRaySceneIntersectionWrapper-members.html | 114 +++ ...s_1_1PyHeliosException__inherit__graph.map | 3 + ...s_1_1PyHeliosException__inherit__graph.md5 | 1 + ...s_1_1PyHeliosException__inherit__graph.png | Bin 0 -> 6081 bytes ...pyhelios_1_1PySimulationCycleCallback.html | 210 +++++ ...sspyhelios_1_1PySimulationCycleCallback.js | 7 + .../FullWaveformPulseRunnable_8h_source.html | 2 +- doc/html/d9/d9f/PyAABBWrapper_8h_source.html | 7 +- ...ios_1_1PyPrimitiveWrapper__coll__graph.map | 3 + ...ios_1_1PyPrimitiveWrapper__coll__graph.md5 | 1 + ...ios_1_1PyPrimitiveWrapper__coll__graph.png | Bin 0 -> 4404 bytes ...yRandomnessGeneratorWrapper_8h_source.html | 5 +- ...lios_1_1PyHeliosOutputWrapper-members.html | 113 +++ .../classvisualhelios_1_1VHSimpleCanvas.html | 50 +- .../classvisualhelios_1_1VHSimpleCanvas.js | 5 + doc/html/d9/dd0/Platform_8h_source.html | 2 +- .../classpyhelios_1_1PyHeliosSimulation.html | 873 ++++++++++++++++++ .../classpyhelios_1_1PyHeliosSimulation.js | 62 ++ ...lios_1_1VHDynObjectXYZAdapter-members.html | 2 +- ...lios_1_1PyTriangleWrapper__coll__graph.map | 4 + ...lios_1_1PyTriangleWrapper__coll__graph.md5 | 1 + ...lios_1_1PyTriangleWrapper__coll__graph.png | Bin 0 -> 7268 bytes ...1_1PyDetailedVoxelWrapper__coll__graph.map | 4 + ...1_1PyDetailedVoxelWrapper__coll__graph.md5 | 1 + ...1_1PyDetailedVoxelWrapper__coll__graph.png | Bin 0 -> 6728 bytes doc/html/da/d55/VHSimpleCanvas_8h_source.html | 26 +- doc/html/da/d62/Scanner_8h_source.html | 208 ++--- doc/html/da/d84/PyHeliosUtils_8h_source.html | 5 +- ...helios_1_1PyVertexWrapper__coll__graph.map | 4 + ...helios_1_1PyVertexWrapper__coll__graph.md5 | 1 + ...helios_1_1PyVertexWrapper__coll__graph.png | Bin 0 -> 5583 bytes ...lios_1_1PyRaySceneIntersectionWrapper.html | 156 ++++ ...helios_1_1PyRaySceneIntersectionWrapper.js | 10 + .../da/dd3/PyTriangleWrapper_8h_source.html | 7 +- ...s_1_1PyMeasurementWrapper__coll__graph.map | 3 + ...s_1_1PyMeasurementWrapper__coll__graph.md5 | 1 + ...s_1_1PyMeasurementWrapper__coll__graph.png | Bin 0 -> 6471 bytes .../dec/classpyhelios_1_1PyDoubleVector.html | 156 ++++ .../da/dec/classpyhelios_1_1PyDoubleVector.js | 13 + ...imulationCycleCallback__inherit__graph.map | 2 +- ...imulationCycleCallback__inherit__graph.md5 | 2 +- ...imulationCycleCallback__inherit__graph.png | Bin 5036 -> 5813 bytes doc/html/db/d14/LidarSim_8h_source.html | 2 +- ...imulationCycleCallback__inherit__graph.map | 3 + ...imulationCycleCallback__inherit__graph.md5 | 1 + ...imulationCycleCallback__inherit__graph.png | Bin 0 -> 5878 bytes ...andomnessGeneratorWrapper__coll__graph.map | 3 + ...andomnessGeneratorWrapper__coll__graph.md5 | 1 + ...andomnessGeneratorWrapper__coll__graph.png | Bin 0 -> 8845 bytes ...isualhelios_1_1VHSimpleCanvas-members.html | 24 +- .../d5f/PyNoiseSourceWrapper_8h_source.html | 5 +- ...yhelios_1_1PyScenePartWrapper-members.html | 118 +++ ...elios_1_1PyNoiseSourceWrapper-members.html | 122 +++ .../db/dff/PyHeliosException_8h_source.html | 5 +- .../PySimulationCycleCallback_8h_source.html | 7 +- doc/html/dc/d42/classScanner.html | 32 +- ...1_1PyMeasurementVectorWrapper-members.html | 113 +++ ...1PyRandomnessGeneratorWrapper-members.html | 114 +++ .../classpyhelios_1_1PythonDVec3-members.html | 118 +++ .../dc/d7a/classSimulationCycleCallback.html | 4 +- .../dc/d7c/VHDynObjectAdapter_8h_source.html | 14 +- ...s_1_1PyNoiseSourceWrapper__coll__graph.map | 3 + ...s_1_1PyNoiseSourceWrapper__coll__graph.md5 | 1 + ...s_1_1PyNoiseSourceWrapper__coll__graph.png | Bin 0 -> 5746 bytes .../PyTrajectoryVectorWrapper_8h_source.html | 7 +- ...helios_1_1PyTrajectoryWrapper-members.html | 120 +++ doc/html/dd/d40/PythonDVec3_8h_source.html | 3 +- .../d69/classpyhelios_1_1PyHeliosUtils.html | 164 ++++ .../dd/d69/classpyhelios_1_1PyHeliosUtils.js | 4 + .../PyMeasurementVectorWrapper_8h_source.html | 7 +- .../dd/d8f/classpyhelios_1_1PythonDVec3.html | 162 ++++ .../dd/d8f/classpyhelios_1_1PythonDVec3.js | 14 + .../dd/df2/PyVertexWrapper_8h_source.html | 7 +- ...ios_1_1PyDetailedVoxelWrapper-members.html | 131 +++ ...RaySceneIntersectionWrapper_8h_source.html | 9 +- ...visualhelios_1_1VHDynObjectXYZAdapter.html | 7 +- ...lasspyhelios_1_1PyAABBWrapper-members.html | 112 +++ .../classpyhelios_1_1PyDetectorWrapper.html | 161 ++++ .../ddf/classpyhelios_1_1PyDetectorWrapper.js | 12 + ...asspyhelios_1_1PySceneWrapper-members.html | 119 +++ ...s_1_1VHDynObjectXYZRGBAdapter-members.html | 2 +- .../df3/classpyhelios_1_1PyAABBWrapper.html | 152 +++ .../de/df3/classpyhelios_1_1PyAABBWrapper.js | 8 + .../classpyhelios_1_1PyPrimitiveWrapper.html | 182 ++++ .../classpyhelios_1_1PyPrimitiveWrapper.js | 16 + ...1_1PyBeamDeflectorWrapper__coll__graph.map | 4 + ...1_1PyBeamDeflectorWrapper__coll__graph.md5 | 1 + ...1_1PyBeamDeflectorWrapper__coll__graph.png | Bin 0 -> 10323 bytes .../d20/PyDetailedVoxelWrapper_8h_source.html | 7 +- .../classpyhelios_1_1PyScenePartWrapper.html | 168 ++++ .../classpyhelios_1_1PyScenePartWrapper.js | 14 + ...pyhelios_1_1PyHeliosException-members.html | 111 +++ ...yhelios_1_1PyPrimitiveWrapper-members.html | 120 +++ ...pyhelios_1_1PyAABBWrapper__coll__graph.map | 6 + ...pyhelios_1_1PyAABBWrapper__coll__graph.md5 | 1 + ...pyhelios_1_1PyAABBWrapper__coll__graph.png | Bin 0 -> 10370 bytes ...pyhelios_1_1PyDetectorWrapper-members.html | 116 +++ ..._1_1PySimulationCycleCallback-members.html | 113 +++ doc/html/functions_c.html | 5 +- doc/html/functions_d.html | 2 +- doc/html/functions_func_c.html | 3 +- doc/html/functions_func_d.html | 2 +- doc/html/functions_func_g.html | 18 +- doc/html/functions_func_h.html | 2 +- doc/html/functions_func_i.html | 10 +- doc/html/functions_func_j.html | 2 +- doc/html/functions_func_l.html | 2 +- doc/html/functions_func_n.html | 2 +- doc/html/functions_func_o.html | 2 +- doc/html/functions_func_p.html | 4 +- doc/html/functions_func_r.html | 7 +- doc/html/functions_func_s.html | 10 +- doc/html/functions_func_u.html | 7 +- doc/html/functions_g.html | 18 +- doc/html/functions_h.html | 2 +- doc/html/functions_i.html | 10 +- doc/html/functions_j.html | 2 +- doc/html/functions_l.html | 2 +- doc/html/functions_n.html | 8 +- doc/html/functions_o.html | 2 +- doc/html/functions_p.html | 4 +- doc/html/functions_r.html | 11 +- doc/html/functions_s.html | 10 +- doc/html/functions_u.html | 3 + doc/html/functions_vars_n.html | 6 + doc/html/hierarchy.html | 50 +- doc/html/hierarchy.js | 52 +- doc/html/inherit_graph_13.map | 2 +- doc/html/inherit_graph_13.md5 | 2 +- doc/html/inherit_graph_13.png | Bin 2743 -> 2948 bytes doc/html/inherit_graph_36.map | 2 +- doc/html/inherit_graph_36.md5 | 2 +- doc/html/inherit_graph_36.png | Bin 1642 -> 2125 bytes doc/html/inherit_graph_37.map | 2 +- doc/html/inherit_graph_37.md5 | 2 +- doc/html/inherit_graph_37.png | Bin 2131 -> 2643 bytes doc/html/inherit_graph_38.map | 2 +- doc/html/inherit_graph_38.md5 | 2 +- doc/html/inherit_graph_38.png | Bin 1808 -> 2176 bytes doc/html/inherit_graph_39.map | 2 +- doc/html/inherit_graph_39.md5 | 2 +- doc/html/inherit_graph_39.png | Bin 1561 -> 2010 bytes doc/html/inherit_graph_40.map | 2 +- doc/html/inherit_graph_40.md5 | 2 +- doc/html/inherit_graph_40.png | Bin 2073 -> 2435 bytes doc/html/inherit_graph_41.map | 2 +- doc/html/inherit_graph_41.md5 | 2 +- doc/html/inherit_graph_41.png | Bin 1865 -> 2184 bytes doc/html/inherit_graph_42.map | 2 +- doc/html/inherit_graph_42.md5 | 2 +- doc/html/inherit_graph_42.png | Bin 1251 -> 1537 bytes doc/html/inherit_graph_43.map | 2 +- doc/html/inherit_graph_43.md5 | 2 +- doc/html/inherit_graph_43.png | Bin 1332 -> 1754 bytes doc/html/inherit_graph_44.map | 2 +- doc/html/inherit_graph_44.md5 | 2 +- doc/html/inherit_graph_44.png | Bin 2726 -> 2988 bytes doc/html/inherit_graph_45.map | 2 +- doc/html/inherit_graph_45.md5 | 2 +- doc/html/inherit_graph_45.png | Bin 2016 -> 2331 bytes doc/html/inherit_graph_46.map | 2 +- doc/html/inherit_graph_46.md5 | 2 +- doc/html/inherit_graph_46.png | Bin 2192 -> 2430 bytes doc/html/inherit_graph_47.map | 2 +- doc/html/inherit_graph_47.md5 | 2 +- doc/html/inherit_graph_47.png | Bin 1888 -> 2301 bytes doc/html/inherit_graph_48.map | 6 +- doc/html/inherit_graph_48.md5 | 2 +- doc/html/inherit_graph_48.png | Bin 5027 -> 9267 bytes doc/html/inherit_graph_49.map | 2 +- doc/html/inherit_graph_49.md5 | 2 +- doc/html/inherit_graph_49.png | Bin 2375 -> 3234 bytes doc/html/inherit_graph_50.map | 2 +- doc/html/inherit_graph_50.md5 | 2 +- doc/html/inherit_graph_50.png | Bin 2653 -> 2902 bytes doc/html/inherit_graph_51.map | 2 +- doc/html/inherit_graph_51.md5 | 2 +- doc/html/inherit_graph_51.png | Bin 2070 -> 2591 bytes doc/html/inherit_graph_52.map | 2 +- doc/html/inherit_graph_52.md5 | 2 +- doc/html/inherit_graph_52.png | Bin 1960 -> 2454 bytes doc/html/inherit_graph_53.map | 2 +- doc/html/inherit_graph_53.md5 | 2 +- doc/html/inherit_graph_53.png | Bin 1623 -> 2056 bytes doc/html/inherit_graph_54.map | 2 +- doc/html/inherit_graph_54.md5 | 2 +- doc/html/inherit_graph_54.png | Bin 2064 -> 2657 bytes doc/html/inherit_graph_55.map | 2 +- doc/html/inherit_graph_55.md5 | 2 +- doc/html/inherit_graph_55.png | Bin 1809 -> 2172 bytes doc/html/inherit_graph_56.map | 2 +- doc/html/inherit_graph_56.md5 | 2 +- doc/html/inherit_graph_56.png | Bin 1712 -> 2211 bytes doc/html/inherit_graph_72.map | 4 +- doc/html/inherit_graph_72.md5 | 2 +- doc/html/inherit_graph_72.png | Bin 2953 -> 4023 bytes doc/html/inherits.html | 136 +-- doc/html/navtreedata.js | 20 +- doc/html/navtreeindex0.js | 396 ++++---- doc/html/navtreeindex1.js | 468 +++++----- doc/html/navtreeindex10.js | 10 +- doc/html/navtreeindex2.js | 470 +++++----- doc/html/navtreeindex3.js | 468 +++++----- doc/html/navtreeindex4.js | 450 ++++----- doc/html/navtreeindex5.js | 474 +++++----- doc/html/navtreeindex6.js | 438 ++++----- doc/html/navtreeindex7.js | 436 ++++----- doc/html/navtreeindex8.js | 418 ++++----- doc/html/navtreeindex9.js | 404 ++++---- doc/html/search/all_10.js | 52 +- doc/html/search/all_12.js | 5 +- doc/html/search/all_13.js | 10 +- doc/html/search/all_15.js | 1 + doc/html/search/all_3.js | 4 +- doc/html/search/all_4.js | 2 +- doc/html/search/all_7.js | 18 +- doc/html/search/all_8.js | 2 +- doc/html/search/all_9.js | 10 +- doc/html/search/all_a.js | 2 +- doc/html/search/all_c.js | 2 +- doc/html/search/all_e.js | 4 +- doc/html/search/all_f.js | 2 +- doc/html/search/classes_e.js | 50 +- doc/html/search/functions_10.js | 4 +- doc/html/search/functions_11.js | 5 +- doc/html/search/functions_12.js | 10 +- doc/html/search/functions_14.js | 1 + doc/html/search/functions_3.js | 4 +- doc/html/search/functions_4.js | 2 +- doc/html/search/functions_7.js | 18 +- doc/html/search/functions_8.js | 2 +- doc/html/search/functions_9.js | 10 +- doc/html/search/functions_a.js | 2 +- doc/html/search/functions_c.js | 2 +- doc/html/search/functions_e.js | 2 +- doc/html/search/functions_f.js | 2 +- doc/html/search/variables_c.js | 2 + src/maths/Rotation.h | 1 + src/pybinds/PyAABBWrapper.h | 4 + src/pybinds/PyBeamDeflectorWrapper.h | 4 + src/pybinds/PyDetailedVoxelWrapper.h | 14 +- src/pybinds/PyDetectorWrapper.h | 4 + src/pybinds/PyDoubleVector.h | 4 + src/pybinds/PyHelios.cpp | 1 + src/pybinds/PyHeliosException.h | 5 + src/pybinds/PyHeliosOutputWrapper.h | 4 + src/pybinds/PyHeliosSimulation.cpp | 3 + src/pybinds/PyHeliosSimulation.h | 4 + src/pybinds/PyHeliosUtils.h | 4 + src/pybinds/PyIntegerList.h | 5 + src/pybinds/PyMeasurementVectorWrapper.h | 4 + src/pybinds/PyMeasurementWrapper.h | 4 + src/pybinds/PyNoiseSourceWrapper.h | 4 + src/pybinds/PyPlatformWrapper.h | 4 + src/pybinds/PyPrimitiveWrapper.h | 4 + src/pybinds/PyRandomnessGeneratorWrapper.h | 4 + src/pybinds/PyRaySceneIntersectionWrapper.h | 4 + src/pybinds/PyScenePartWrapper.h | 4 + src/pybinds/PySceneWrapper.h | 4 + src/pybinds/PySimulationCycleCallback.h | 3 + src/pybinds/PyTrajectoryVectorWrapper.h | 4 + src/pybinds/PyTrajectoryWrapper.h | 4 + src/pybinds/PyTriangleWrapper.h | 4 + src/pybinds/PyVertexWrapper.h | 4 + src/pybinds/PythonDVec3.h | 4 + src/scanner/Scanner.h | 9 +- 385 files changed, 11875 insertions(+), 3126 deletions(-) create mode 100644 doc/html/d0/d02/classpyhelios_1_1PyRaySceneIntersectionWrapper__coll__graph.map create mode 100644 doc/html/d0/d02/classpyhelios_1_1PyRaySceneIntersectionWrapper__coll__graph.md5 create mode 100644 doc/html/d0/d02/classpyhelios_1_1PyRaySceneIntersectionWrapper__coll__graph.png create mode 100644 doc/html/d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html create mode 100644 doc/html/d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.js create mode 100644 doc/html/d0/dab/classpyhelios_1_1PyScenePartWrapper__coll__graph.map create mode 100644 doc/html/d0/dab/classpyhelios_1_1PyScenePartWrapper__coll__graph.md5 create mode 100644 doc/html/d0/dab/classpyhelios_1_1PyScenePartWrapper__coll__graph.png create mode 100644 doc/html/d0/dd5/classpyhelios_1_1PyHeliosOutputWrapper__coll__graph.map create mode 100644 doc/html/d0/dd5/classpyhelios_1_1PyHeliosOutputWrapper__coll__graph.md5 create mode 100644 doc/html/d0/dd5/classpyhelios_1_1PyHeliosOutputWrapper__coll__graph.png create mode 100644 doc/html/d1/d2f/classpyhelios_1_1PyDetectorWrapper__coll__graph.map create mode 100644 doc/html/d1/d2f/classpyhelios_1_1PyDetectorWrapper__coll__graph.md5 create mode 100644 doc/html/d1/d2f/classpyhelios_1_1PyDetectorWrapper__coll__graph.png create mode 100644 doc/html/d1/d2f/classpyhelios_1_1PyTrajectoryWrapper.html create mode 100644 doc/html/d1/d2f/classpyhelios_1_1PyTrajectoryWrapper.js create mode 100644 doc/html/d1/d2f/classpyhelios_1_1PyTriangleWrapper-members.html create mode 100644 doc/html/d1/d65/classpyhelios_1_1PyHeliosOutputWrapper.html create mode 100644 doc/html/d1/d65/classpyhelios_1_1PyHeliosOutputWrapper.js create mode 100644 doc/html/d1/dbf/classpyhelios_1_1PyTriangleWrapper.html create mode 100644 doc/html/d1/dbf/classpyhelios_1_1PyTriangleWrapper.js create mode 100644 doc/html/d1/dd3/classpyhelios_1_1PySceneWrapper__coll__graph.map create mode 100644 doc/html/d1/dd3/classpyhelios_1_1PySceneWrapper__coll__graph.md5 create mode 100644 doc/html/d1/dd3/classpyhelios_1_1PySceneWrapper__coll__graph.png create mode 100644 doc/html/d2/d47/classpyhelios_1_1PyPlatformWrapper-members.html create mode 100644 doc/html/d2/d5b/classpyhelios_1_1PyRandomnessGeneratorWrapper.html create mode 100644 doc/html/d2/d5b/classpyhelios_1_1PyRandomnessGeneratorWrapper.js create mode 100644 doc/html/d2/d6f/classpyhelios_1_1PySimulationCycleCallback__coll__graph.map create mode 100644 doc/html/d2/d6f/classpyhelios_1_1PySimulationCycleCallback__coll__graph.md5 create mode 100644 doc/html/d2/d6f/classpyhelios_1_1PySimulationCycleCallback__coll__graph.png create mode 100644 doc/html/d2/d75/classpyhelios_1_1PyHeliosSimulation__coll__graph.map create mode 100644 doc/html/d2/d75/classpyhelios_1_1PyHeliosSimulation__coll__graph.md5 create mode 100644 doc/html/d2/d75/classpyhelios_1_1PyHeliosSimulation__coll__graph.png create mode 100644 doc/html/d2/d7a/classpyhelios_1_1PyVertexWrapper-members.html create mode 100644 doc/html/d2/dca/classpyhelios_1_1PyHeliosException__coll__graph.map create mode 100644 doc/html/d2/dca/classpyhelios_1_1PyHeliosException__coll__graph.md5 create mode 100644 doc/html/d2/dca/classpyhelios_1_1PyHeliosException__coll__graph.png create mode 100644 doc/html/d3/d8f/classpyhelios_1_1PyIntegerList-members.html create mode 100644 doc/html/d4/d2c/classpyhelios_1_1PyTrajectoryVectorWrapper.html create mode 100644 doc/html/d4/d2c/classpyhelios_1_1PyTrajectoryVectorWrapper.js create mode 100644 doc/html/d4/d45/classpyhelios_1_1PyMeasurementWrapper.html create mode 100644 doc/html/d4/d45/classpyhelios_1_1PyMeasurementWrapper.js create mode 100644 doc/html/d4/d53/classpyhelios_1_1PyPlatformWrapper__coll__graph.map create mode 100644 doc/html/d4/d53/classpyhelios_1_1PyPlatformWrapper__coll__graph.md5 create mode 100644 doc/html/d4/d53/classpyhelios_1_1PyPlatformWrapper__coll__graph.png create mode 100644 doc/html/d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.html create mode 100644 doc/html/d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.js create mode 100644 doc/html/d4/d9d/classpyhelios_1_1PyBeamDeflectorWrapper-members.html create mode 100644 doc/html/d4/d9d/classpyhelios_1_1PyPlatformWrapper.html create mode 100644 doc/html/d4/d9d/classpyhelios_1_1PyPlatformWrapper.js create mode 100644 doc/html/d4/dc2/classpyhelios_1_1PyPrimitiveWrapper__inherit__graph.map create mode 100644 doc/html/d4/dc2/classpyhelios_1_1PyPrimitiveWrapper__inherit__graph.md5 create mode 100644 doc/html/d4/dc2/classpyhelios_1_1PyPrimitiveWrapper__inherit__graph.png create mode 100644 doc/html/d5/d20/classpyhelios_1_1PyDetailedVoxelWrapper__inherit__graph.map create mode 100644 doc/html/d5/d20/classpyhelios_1_1PyDetailedVoxelWrapper__inherit__graph.md5 create mode 100644 doc/html/d5/d20/classpyhelios_1_1PyDetailedVoxelWrapper__inherit__graph.png create mode 100644 doc/html/d5/d48/classpyhelios_1_1PyMeasurementWrapper-members.html create mode 100644 doc/html/d5/dc2/classpyhelios_1_1PyTrajectoryWrapper__coll__graph.map create mode 100644 doc/html/d5/dc2/classpyhelios_1_1PyTrajectoryWrapper__coll__graph.md5 create mode 100644 doc/html/d5/dc2/classpyhelios_1_1PyTrajectoryWrapper__coll__graph.png create mode 100644 doc/html/d5/def/classpyhelios_1_1PyDoubleVector-members.html create mode 100644 doc/html/d5/dfb/classpyhelios_1_1PyMeasurementVectorWrapper.html create mode 100644 doc/html/d5/dfb/classpyhelios_1_1PyMeasurementVectorWrapper.js create mode 100644 doc/html/d6/d07/classpyhelios_1_1PyTriangleWrapper__inherit__graph.map create mode 100644 doc/html/d6/d07/classpyhelios_1_1PyTriangleWrapper__inherit__graph.md5 create mode 100644 doc/html/d6/d07/classpyhelios_1_1PyTriangleWrapper__inherit__graph.png create mode 100644 doc/html/d6/d95/classpyhelios_1_1PyVertexWrapper.html create mode 100644 doc/html/d6/d95/classpyhelios_1_1PyVertexWrapper.js create mode 100644 doc/html/d6/df3/classpyhelios_1_1PyHeliosSimulation-members.html create mode 100644 doc/html/d7/d17/classpyhelios_1_1PySceneWrapper.html create mode 100644 doc/html/d7/d17/classpyhelios_1_1PySceneWrapper.js create mode 100644 doc/html/d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.html create mode 100644 doc/html/d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.js create mode 100644 doc/html/d7/d85/classpyhelios_1_1PyHeliosUtils-members.html create mode 100644 doc/html/d8/d17/classpyhelios_1_1PyTrajectoryVectorWrapper-members.html create mode 100644 doc/html/d8/d83/classpyhelios_1_1PyIntegerList.html create mode 100644 doc/html/d8/d83/classpyhelios_1_1PyIntegerList.js create mode 100644 doc/html/d8/d98/classpyhelios_1_1PyHeliosException.html create mode 100644 doc/html/d8/d98/classpyhelios_1_1PyHeliosException.js create mode 100644 doc/html/d8/dc0/classpyhelios_1_1PyRaySceneIntersectionWrapper-members.html create mode 100644 doc/html/d9/d17/classpyhelios_1_1PyHeliosException__inherit__graph.map create mode 100644 doc/html/d9/d17/classpyhelios_1_1PyHeliosException__inherit__graph.md5 create mode 100644 doc/html/d9/d17/classpyhelios_1_1PyHeliosException__inherit__graph.png create mode 100644 doc/html/d9/d64/classpyhelios_1_1PySimulationCycleCallback.html create mode 100644 doc/html/d9/d64/classpyhelios_1_1PySimulationCycleCallback.js create mode 100644 doc/html/d9/db8/classpyhelios_1_1PyPrimitiveWrapper__coll__graph.map create mode 100644 doc/html/d9/db8/classpyhelios_1_1PyPrimitiveWrapper__coll__graph.md5 create mode 100644 doc/html/d9/db8/classpyhelios_1_1PyPrimitiveWrapper__coll__graph.png create mode 100644 doc/html/d9/dc2/classpyhelios_1_1PyHeliosOutputWrapper-members.html create mode 100644 doc/html/d9/ddd/classpyhelios_1_1PyHeliosSimulation.html create mode 100644 doc/html/d9/ddd/classpyhelios_1_1PyHeliosSimulation.js create mode 100644 doc/html/da/d0d/classpyhelios_1_1PyTriangleWrapper__coll__graph.map create mode 100644 doc/html/da/d0d/classpyhelios_1_1PyTriangleWrapper__coll__graph.md5 create mode 100644 doc/html/da/d0d/classpyhelios_1_1PyTriangleWrapper__coll__graph.png create mode 100644 doc/html/da/d31/classpyhelios_1_1PyDetailedVoxelWrapper__coll__graph.map create mode 100644 doc/html/da/d31/classpyhelios_1_1PyDetailedVoxelWrapper__coll__graph.md5 create mode 100644 doc/html/da/d31/classpyhelios_1_1PyDetailedVoxelWrapper__coll__graph.png create mode 100644 doc/html/da/d96/classpyhelios_1_1PyVertexWrapper__coll__graph.map create mode 100644 doc/html/da/d96/classpyhelios_1_1PyVertexWrapper__coll__graph.md5 create mode 100644 doc/html/da/d96/classpyhelios_1_1PyVertexWrapper__coll__graph.png create mode 100644 doc/html/da/db0/classpyhelios_1_1PyRaySceneIntersectionWrapper.html create mode 100644 doc/html/da/db0/classpyhelios_1_1PyRaySceneIntersectionWrapper.js create mode 100644 doc/html/da/de7/classpyhelios_1_1PyMeasurementWrapper__coll__graph.map create mode 100644 doc/html/da/de7/classpyhelios_1_1PyMeasurementWrapper__coll__graph.md5 create mode 100644 doc/html/da/de7/classpyhelios_1_1PyMeasurementWrapper__coll__graph.png create mode 100644 doc/html/da/dec/classpyhelios_1_1PyDoubleVector.html create mode 100644 doc/html/da/dec/classpyhelios_1_1PyDoubleVector.js create mode 100644 doc/html/db/d56/classpyhelios_1_1PySimulationCycleCallback__inherit__graph.map create mode 100644 doc/html/db/d56/classpyhelios_1_1PySimulationCycleCallback__inherit__graph.md5 create mode 100644 doc/html/db/d56/classpyhelios_1_1PySimulationCycleCallback__inherit__graph.png create mode 100644 doc/html/db/d5a/classpyhelios_1_1PyRandomnessGeneratorWrapper__coll__graph.map create mode 100644 doc/html/db/d5a/classpyhelios_1_1PyRandomnessGeneratorWrapper__coll__graph.md5 create mode 100644 doc/html/db/d5a/classpyhelios_1_1PyRandomnessGeneratorWrapper__coll__graph.png create mode 100644 doc/html/db/de2/classpyhelios_1_1PyScenePartWrapper-members.html create mode 100644 doc/html/db/de7/classpyhelios_1_1PyNoiseSourceWrapper-members.html create mode 100644 doc/html/dc/d4b/classpyhelios_1_1PyMeasurementVectorWrapper-members.html create mode 100644 doc/html/dc/d4f/classpyhelios_1_1PyRandomnessGeneratorWrapper-members.html create mode 100644 doc/html/dc/d6d/classpyhelios_1_1PythonDVec3-members.html create mode 100644 doc/html/dc/ddc/classpyhelios_1_1PyNoiseSourceWrapper__coll__graph.map create mode 100644 doc/html/dc/ddc/classpyhelios_1_1PyNoiseSourceWrapper__coll__graph.md5 create mode 100644 doc/html/dc/ddc/classpyhelios_1_1PyNoiseSourceWrapper__coll__graph.png create mode 100644 doc/html/dd/d04/classpyhelios_1_1PyTrajectoryWrapper-members.html create mode 100644 doc/html/dd/d69/classpyhelios_1_1PyHeliosUtils.html create mode 100644 doc/html/dd/d69/classpyhelios_1_1PyHeliosUtils.js create mode 100644 doc/html/dd/d8f/classpyhelios_1_1PythonDVec3.html create mode 100644 doc/html/dd/d8f/classpyhelios_1_1PythonDVec3.js create mode 100644 doc/html/dd/df3/classpyhelios_1_1PyDetailedVoxelWrapper-members.html create mode 100644 doc/html/de/dd8/classpyhelios_1_1PyAABBWrapper-members.html create mode 100644 doc/html/de/ddf/classpyhelios_1_1PyDetectorWrapper.html create mode 100644 doc/html/de/ddf/classpyhelios_1_1PyDetectorWrapper.js create mode 100644 doc/html/de/de2/classpyhelios_1_1PySceneWrapper-members.html create mode 100644 doc/html/de/df3/classpyhelios_1_1PyAABBWrapper.html create mode 100644 doc/html/de/df3/classpyhelios_1_1PyAABBWrapper.js create mode 100644 doc/html/de/df5/classpyhelios_1_1PyPrimitiveWrapper.html create mode 100644 doc/html/de/df5/classpyhelios_1_1PyPrimitiveWrapper.js create mode 100644 doc/html/de/df6/classpyhelios_1_1PyBeamDeflectorWrapper__coll__graph.map create mode 100644 doc/html/de/df6/classpyhelios_1_1PyBeamDeflectorWrapper__coll__graph.md5 create mode 100644 doc/html/de/df6/classpyhelios_1_1PyBeamDeflectorWrapper__coll__graph.png create mode 100644 doc/html/df/d28/classpyhelios_1_1PyScenePartWrapper.html create mode 100644 doc/html/df/d28/classpyhelios_1_1PyScenePartWrapper.js create mode 100644 doc/html/df/d33/classpyhelios_1_1PyHeliosException-members.html create mode 100644 doc/html/df/d3e/classpyhelios_1_1PyPrimitiveWrapper-members.html create mode 100644 doc/html/df/d65/classpyhelios_1_1PyAABBWrapper__coll__graph.map create mode 100644 doc/html/df/d65/classpyhelios_1_1PyAABBWrapper__coll__graph.md5 create mode 100644 doc/html/df/d65/classpyhelios_1_1PyAABBWrapper__coll__graph.png create mode 100644 doc/html/df/d87/classpyhelios_1_1PyDetectorWrapper-members.html create mode 100644 doc/html/df/dcd/classpyhelios_1_1PySimulationCycleCallback-members.html diff --git a/doc/html/annotated.html b/doc/html/annotated.html index 4918aa35e..ccb499c99 100644 --- a/doc/html/annotated.html +++ b/doc/html/annotated.html @@ -109,148 +109,149 @@  CSerializationTestTest serialization  CSurveyCopyTestTest survey copy  CVoxelParsingTestTest for voxel parsing - Nrigidmotion - CRigidMotionInterface that must be implemented by any class which represents a specific rigid motions - CRigidMotionEngineClass to handle operations with rigid motions - CRigidMotionExceptionBase class for rigid motion exceptions - CRigidMotionFactoryClass that must be extended by any class which provides factory methods for rigid motions. Notice all rigid motions should be instantiated through corresponding factories - CRigidMotionR2FactoryClass providing building methods for rigid motions in \(\mathbb{R}^{2}\) - CRigidMotionR3FactoryClass providing building methods for rigid motions in \(\mathbb{R}^{3}\) - Nvisualhelios - CVHCanvasVisual Helios Canvas is a class which provides the base mechanisms to implement Helios visualizations - CVHDynObjectAdapterAbstract class defining core mechanisms to adapt dynamic objects to the visual Helios context based on PCL and VTK libraries - CVHDynObjectXYZAdapterClass providing concrete implementation of a VHDynObjectAdapter for a simple XYZ visualization with no color nor intensity - CVHDynObjectXYZRGBAdapterClass providing concrete implementation of a VHDynObjectAdapter for a simple XYZ visualization with RGB color - CVHSimpleCanvasVisual Helios Simple Canvas is a class which supports rendering polygon meshes which are updated over time - CAABBClass representing an Axis Aligned Bounding Box (AABB) - CAbstractBeamDeflectorBase abstract class for beam deflectors - CAbstractDetectorBase abstract class for detectors - CAbstractGeometryFilterAbstract class defining asset loading filters common behavior - CAbstractPulseRunnableBase abstract class for pulse runnables - CArgumentsParserParser for helios-plusplus invocation arguments - CAssetBase class for all assets - CColor4fClass representing a color with 4 float components: RGBA - CConicBeamDeflectorClass representing a conic beam deflector - CDetailedVoxelClass which extends Voxel to support AMAPVox format with extra features - CDetailedVoxelLoaderLoader for deatiled voxel geometries - CDirectionsCoordinate system convention - CDynMovingObjectImplementation of a dynamic object which supports rigid motion - CDynObjectDynamic object base implementation - Cenum_hasher - CFiberArrayBeamDeflectorClass representing a fiber array beam deflector - Cfile_loggerClass representing a logger capable of writing to files - CFileUtilsClass with util functions to work with files - Cfull_loggerClass representing a logger capable of writing to files and, at the same time, to standard out - CFullWaveformPulseDetectorConcrete implementation of abstract detector to compute full waveform pulses - CFullWaveformPulseRunnableConcrete implementation of abstract pulse runnable to compute full waveform pulses - CFWFSettingsFull Waveform settings - CGeoTiffFileLoaderLoader for tiff files - CGroundVehiclePlatformClass representing a ground vehicle platform - CHelicopterPlatformClass representing a helicopter platform - CHeliosExceptionBase class for Helios exceptions - CIntersectionHandlingResultOutput class for intersection handling methods - CKDTreeNodeClass representing a KDTree node - CKDTreeNodeRootClass representing the root node of a KDTree - CKDTreePrimitiveComparatorKDTree primitive comparator - CKDTreeRaycasterClass representing a KDTree ray caster - CLadLutLeaf Angle Distribution Look-Up Table - CLadLutLoaderLoader for Leaf Angle Distribution Look Up Tables - CLas14SyncFileWriterLasSyncFileWriter implementation for LAS v1.4 format - CLasSpecificationClass representing LAS specification Classes from 0 to 63 are defined by the specification Classes from 64 to 255 are user definable - CLasSyncFileWriterSyncFileWriter implementation for LAS format - CLegClass representing a survey leg - CLidarSimLidar simulation class - CLinearPathPlatformClass representing a linear path platform - CloggerClass providing the base for any logger - Clogger_factoryLogger factory class can be used to build loggers - CMarquardtFitterClass to compute Marquardt fitter - CMaterialClass representing a material specification - CMaterialsFileReaderClass to read materials files - CMathConverter - CMeasurementClass representing a measurement - CMeasurementsBufferClass abstracting a buffer of measurements - CMovingPlatformClass representing a moving platform - CNoiseSourceClass to handle a noise source - CNormalNoiseSourceClass for normal noise handling - COscillatingMirrorBeamDeflectorClass representing an oscillating mirror beam deflector - CPlaneFitterHandle plane fitting operations - CPlatformClass representing a platform asset - CPlatformSettingsClass representing platform settings - CPolygonMirrorBeamDeflectorClass representing a polygon mirror beam deflector - CPrimitiveAbstract class defining the common behavior for all primitives - CPyAABBWrapperWrapper for AABB class - CPyBeamDeflectorWrapperWrapper for AbstractBeamDeflector class - CPyDetailedVoxelWrapperWrapper for DetailedVoxel class - CPyDetectorWrapperWrapper for AbstractDetector class - CPyDoubleVectorWrapper for std::vector<double> class - CPyHeliosException - CPyHeliosOutputWrapperPython wrapper for helios output - CPyHeliosSimulation - CPyHeliosUtils - CPyIntegerListWrapper for std::list<int> class - CPyMeasurementVectorWrapperWrapper for std::vector<Measurement> class - CPyMeasurementWrapperWrapper for Measurement class - CPyNoiseSourceWrapperWrapper for NoiseSource abstract class - CPyPlatformWrapperWrapper for Platform class - CPyPrimitiveWrapperWrapper for Primitive class - CPyRandomnessGeneratorWrapperWrapper for RandomnessGenerator class - CPyRaySceneIntersectionWrapperWrapper for RaySceneIntersection - CPyScenePartWrapperWrapper for ScenePart class - CPySceneWrapperWrapper for Scene - CPySimulationCycleCallbackPython callback for each simulation cycle that has been completed - CPythonDVec3Wrapper to communicate glm::dvec3 with python - CPyTrajectoryVectorWrapperPython wrapper for helios trajectory - CPyTrajectoryWrapperWrapper for Trajectory class - CPyTriangleWrapperWrapper for Triangle class - CPyVertexWrapperWrapper for Vertex class - CRandomnessGeneratorClass to generate random numbers - CRandomNoiseSourceAbstract class for random noise handling - CRaySceneIntersectionClass representing a the intersection of a ray over a scene made of primitives - CRayUtilsClass with util functions to work with rays - CRisleyBeamDeflectorClass representing a risley prisms beam deflector - CRotateFilterRotate transform filter - CRotation - CRotationOrder - CScaleFilterScale transform filter - CScannerClass representing a scanner asset - CScannerHead - CScannerSettingsScanner settings class - CSceneClass representing a scene asset - CSceneLoadingSpecificationManually specify scene transformation filters to apply when loading a scene - CScenePartClass representing a scene part - CSerialIOUtils for Input/Output operations of serializable objects - CSimplePhysicsPlatformClass representing a simple phyiscs platform - CSimpleSyncFileWriterSyncFileWriter implementation for simple text format - CSimulationClass representing a simulation - CSimulationCycleCallbackAbstract class to handle simulation cycle callbacks - CSpectralLibraryClass representing the spectral library - Cstd_out_loggerClass representing a logger capable of writing to standard out stream - CstringVisitorStringVisitor defines a different string building behavior for different printable objects - CSurveyClass representing a Helios++ survey - CSurveyPlaybackSurvey playback class, used to extend simulation functionalities so it can be controlled - CSyncFileWriterAbstract class defining common behavior for all synchronous file writers - CSyncFileWriterFactorySyncFileWriter Factory class. Used to create the appropriate writers based on input flags - CTest - Cthread_poolClass representing a thread pool to deal with multi threading tasks - CTimeWatcherA time watcher can be used to perform and report time measures - CTrajectoryClass representing a concrete trajectory definition - CTranslateFilterTranslate transform filter - CTriangleClass representing triangle primitive - CUniformNoiseSourceClass for uniform noise handling - CVectorialClass to perform util vector operations - CVertexClass representing a vertex - CVertexKeyEqualStruct to compare vertex when using unordered set - CVertexKeyHashStruct to obtain vertex hash when using unordered set - CVoxelClass representing a voxel primitive - CVoxelFileParserClass for parsing voxel files - CVoxelGridCellVoxelGridCell is used to build and fill all necessary voxels to represent input point cloud - CWavefrontObjClass representing a .obj loaded file - CWavefrontObjCache - CWavefrontObjFileLoaderOBJ file loader filter - CXmlAssetsLoaderClass for asset loading from XML file - CXmlSurveyLoaderSurvey loader from XML - CXYZPointCloudFileLoaderImport point cloud files abstracting them to a set of voxels - CZipSyncFileWriterZipSyncFileWriter implementation for zipped text output format + Npyhelios + CPyAABBWrapperWrapper for AABB class + CPyBeamDeflectorWrapperWrapper for AbstractBeamDeflector class + CPyDetailedVoxelWrapperWrapper for DetailedVoxel class + CPyDetectorWrapperWrapper for AbstractDetector class + CPyDoubleVectorWrapper for std::vector<double> class + CPyHeliosException + CPyHeliosOutputWrapperPython wrapper for helios output + CPyHeliosSimulation + CPyHeliosUtils + CPyIntegerListWrapper for std::list<int> class + CPyMeasurementVectorWrapperWrapper for std::vector<Measurement> class + CPyMeasurementWrapperWrapper for Measurement class + CPyNoiseSourceWrapperWrapper for NoiseSource abstract class + CPyPlatformWrapperWrapper for Platform class + CPyPrimitiveWrapperWrapper for Primitive class + CPyRandomnessGeneratorWrapperWrapper for RandomnessGenerator class + CPyRaySceneIntersectionWrapperWrapper for RaySceneIntersection + CPyScenePartWrapperWrapper for ScenePart class + CPySceneWrapperWrapper for Scene + CPySimulationCycleCallbackPython callback for each simulation cycle that has been completed + CPythonDVec3Wrapper to communicate glm::dvec3 with python + CPyTrajectoryVectorWrapperPython wrapper for helios trajectory + CPyTrajectoryWrapperWrapper for Trajectory class + CPyTriangleWrapperWrapper for Triangle class + CPyVertexWrapperWrapper for Vertex class + Nrigidmotion + CRigidMotionInterface that must be implemented by any class which represents a specific rigid motions + CRigidMotionEngineClass to handle operations with rigid motions + CRigidMotionExceptionBase class for rigid motion exceptions + CRigidMotionFactoryClass that must be extended by any class which provides factory methods for rigid motions. Notice all rigid motions should be instantiated through corresponding factories + CRigidMotionR2FactoryClass providing building methods for rigid motions in \(\mathbb{R}^{2}\) + CRigidMotionR3FactoryClass providing building methods for rigid motions in \(\mathbb{R}^{3}\) + Nvisualhelios + CVHCanvasVisual Helios Canvas is a class which provides the base mechanisms to implement Helios visualizations + CVHDynObjectAdapterAbstract class defining core mechanisms to adapt dynamic objects to the visual Helios context based on PCL and VTK libraries + CVHDynObjectXYZAdapterClass providing concrete implementation of a VHDynObjectAdapter for a simple XYZ visualization with no color nor intensity + CVHDynObjectXYZRGBAdapterClass providing concrete implementation of a VHDynObjectAdapter for a simple XYZ visualization with RGB color + CVHSimpleCanvasVisual Helios Simple Canvas is a class which supports rendering polygon meshes which are updated over time + CAABBClass representing an Axis Aligned Bounding Box (AABB) + CAbstractBeamDeflectorBase abstract class for beam deflectors + CAbstractDetectorBase abstract class for detectors + CAbstractGeometryFilterAbstract class defining asset loading filters common behavior + CAbstractPulseRunnableBase abstract class for pulse runnables + CArgumentsParserParser for helios-plusplus invocation arguments + CAssetBase class for all assets + CColor4fClass representing a color with 4 float components: RGBA + CConicBeamDeflectorClass representing a conic beam deflector + CDetailedVoxelClass which extends Voxel to support AMAPVox format with extra features + CDetailedVoxelLoaderLoader for deatiled voxel geometries + CDirectionsCoordinate system convention + CDynMovingObjectImplementation of a dynamic object which supports rigid motion + CDynObjectDynamic object base implementation + Cenum_hasher + CFiberArrayBeamDeflectorClass representing a fiber array beam deflector + Cfile_loggerClass representing a logger capable of writing to files + CFileUtilsClass with util functions to work with files + Cfull_loggerClass representing a logger capable of writing to files and, at the same time, to standard out + CFullWaveformPulseDetectorConcrete implementation of abstract detector to compute full waveform pulses + CFullWaveformPulseRunnableConcrete implementation of abstract pulse runnable to compute full waveform pulses + CFWFSettingsFull Waveform settings + CGeoTiffFileLoaderLoader for tiff files + CGroundVehiclePlatformClass representing a ground vehicle platform + CHelicopterPlatformClass representing a helicopter platform + CHeliosExceptionBase class for Helios exceptions + CIntersectionHandlingResultOutput class for intersection handling methods + CKDTreeNodeClass representing a KDTree node + CKDTreeNodeRootClass representing the root node of a KDTree + CKDTreePrimitiveComparatorKDTree primitive comparator + CKDTreeRaycasterClass representing a KDTree ray caster + CLadLutLeaf Angle Distribution Look-Up Table + CLadLutLoaderLoader for Leaf Angle Distribution Look Up Tables + CLas14SyncFileWriterLasSyncFileWriter implementation for LAS v1.4 format + CLasSpecificationClass representing LAS specification Classes from 0 to 63 are defined by the specification Classes from 64 to 255 are user definable + CLasSyncFileWriterSyncFileWriter implementation for LAS format + CLegClass representing a survey leg + CLidarSimLidar simulation class + CLinearPathPlatformClass representing a linear path platform + CloggerClass providing the base for any logger + Clogger_factoryLogger factory class can be used to build loggers + CMarquardtFitterClass to compute Marquardt fitter + CMaterialClass representing a material specification + CMaterialsFileReaderClass to read materials files + CMathConverter + CMeasurementClass representing a measurement + CMeasurementsBufferClass abstracting a buffer of measurements + CMovingPlatformClass representing a moving platform + CNoiseSourceClass to handle a noise source + CNormalNoiseSourceClass for normal noise handling + COscillatingMirrorBeamDeflectorClass representing an oscillating mirror beam deflector + CPlaneFitterHandle plane fitting operations + CPlatformClass representing a platform asset + CPlatformSettingsClass representing platform settings + CPolygonMirrorBeamDeflectorClass representing a polygon mirror beam deflector + CPrimitiveAbstract class defining the common behavior for all primitives + CRandomnessGeneratorClass to generate random numbers + CRandomNoiseSourceAbstract class for random noise handling + CRaySceneIntersectionClass representing a the intersection of a ray over a scene made of primitives + CRayUtilsClass with util functions to work with rays + CRisleyBeamDeflectorClass representing a risley prisms beam deflector + CRotateFilterRotate transform filter + CRotation + CRotationOrder + CScaleFilterScale transform filter + CScannerClass representing a scanner asset + CScannerHead + CScannerSettingsScanner settings class + CSceneClass representing a scene asset + CSceneLoadingSpecificationManually specify scene transformation filters to apply when loading a scene + CScenePartClass representing a scene part + CSerialIOUtils for Input/Output operations of serializable objects + CSimplePhysicsPlatformClass representing a simple phyiscs platform + CSimpleSyncFileWriterSyncFileWriter implementation for simple text format + CSimulationClass representing a simulation + CSimulationCycleCallbackAbstract class to handle simulation cycle callbacks + CSpectralLibraryClass representing the spectral library + Cstd_out_loggerClass representing a logger capable of writing to standard out stream + CstringVisitorStringVisitor defines a different string building behavior for different printable objects + CSurveyClass representing a Helios++ survey + CSurveyPlaybackSurvey playback class, used to extend simulation functionalities so it can be controlled + CSyncFileWriterAbstract class defining common behavior for all synchronous file writers + CSyncFileWriterFactorySyncFileWriter Factory class. Used to create the appropriate writers based on input flags + CTest + Cthread_poolClass representing a thread pool to deal with multi threading tasks + CTimeWatcherA time watcher can be used to perform and report time measures + CTrajectoryClass representing a concrete trajectory definition + CTranslateFilterTranslate transform filter + CTriangleClass representing triangle primitive + CUniformNoiseSourceClass for uniform noise handling + CVectorialClass to perform util vector operations + CVertexClass representing a vertex + CVertexKeyEqualStruct to compare vertex when using unordered set + CVertexKeyHashStruct to obtain vertex hash when using unordered set + CVoxelClass representing a voxel primitive + CVoxelFileParserClass for parsing voxel files + CVoxelGridCellVoxelGridCell is used to build and fill all necessary voxels to represent input point cloud + CWavefrontObjClass representing a .obj loaded file + CWavefrontObjCache + CWavefrontObjFileLoaderOBJ file loader filter + CXmlAssetsLoaderClass for asset loading from XML file + CXmlSurveyLoaderSurvey loader from XML + CXYZPointCloudFileLoaderImport point cloud files abstracting them to a set of voxels + CZipSyncFileWriterZipSyncFileWriter implementation for zipped text output format diff --git a/doc/html/annotated_dup.js b/doc/html/annotated_dup.js index ec021e826..07e200edd 100644 --- a/doc/html/annotated_dup.js +++ b/doc/html/annotated_dup.js @@ -19,6 +19,33 @@ var annotated_dup = [ "SurveyCopyTest", "de/d9c/classHeliosTests_1_1SurveyCopyTest.html", "de/d9c/classHeliosTests_1_1SurveyCopyTest" ], [ "VoxelParsingTest", "da/d8d/classHeliosTests_1_1VoxelParsingTest.html", "da/d8d/classHeliosTests_1_1VoxelParsingTest" ] ] ], + [ "pyhelios", null, [ + [ "PyAABBWrapper", "de/df3/classpyhelios_1_1PyAABBWrapper.html", "de/df3/classpyhelios_1_1PyAABBWrapper" ], + [ "PyBeamDeflectorWrapper", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper" ], + [ "PyDetailedVoxelWrapper", "d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.html", "d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper" ], + [ "PyDetectorWrapper", "de/ddf/classpyhelios_1_1PyDetectorWrapper.html", "de/ddf/classpyhelios_1_1PyDetectorWrapper" ], + [ "PyDoubleVector", "da/dec/classpyhelios_1_1PyDoubleVector.html", "da/dec/classpyhelios_1_1PyDoubleVector" ], + [ "PyHeliosException", "d8/d98/classpyhelios_1_1PyHeliosException.html", "d8/d98/classpyhelios_1_1PyHeliosException" ], + [ "PyHeliosOutputWrapper", "d1/d65/classpyhelios_1_1PyHeliosOutputWrapper.html", "d1/d65/classpyhelios_1_1PyHeliosOutputWrapper" ], + [ "PyHeliosSimulation", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html", "d9/ddd/classpyhelios_1_1PyHeliosSimulation" ], + [ "PyHeliosUtils", "dd/d69/classpyhelios_1_1PyHeliosUtils.html", "dd/d69/classpyhelios_1_1PyHeliosUtils" ], + [ "PyIntegerList", "d8/d83/classpyhelios_1_1PyIntegerList.html", "d8/d83/classpyhelios_1_1PyIntegerList" ], + [ "PyMeasurementVectorWrapper", "d5/dfb/classpyhelios_1_1PyMeasurementVectorWrapper.html", "d5/dfb/classpyhelios_1_1PyMeasurementVectorWrapper" ], + [ "PyMeasurementWrapper", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html", "d4/d45/classpyhelios_1_1PyMeasurementWrapper" ], + [ "PyNoiseSourceWrapper", "d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.html", "d4/d55/classpyhelios_1_1PyNoiseSourceWrapper" ], + [ "PyPlatformWrapper", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html", "d4/d9d/classpyhelios_1_1PyPlatformWrapper" ], + [ "PyPrimitiveWrapper", "de/df5/classpyhelios_1_1PyPrimitiveWrapper.html", "de/df5/classpyhelios_1_1PyPrimitiveWrapper" ], + [ "PyRandomnessGeneratorWrapper", "d2/d5b/classpyhelios_1_1PyRandomnessGeneratorWrapper.html", "d2/d5b/classpyhelios_1_1PyRandomnessGeneratorWrapper" ], + [ "PyRaySceneIntersectionWrapper", "da/db0/classpyhelios_1_1PyRaySceneIntersectionWrapper.html", "da/db0/classpyhelios_1_1PyRaySceneIntersectionWrapper" ], + [ "PyScenePartWrapper", "df/d28/classpyhelios_1_1PyScenePartWrapper.html", "df/d28/classpyhelios_1_1PyScenePartWrapper" ], + [ "PySceneWrapper", "d7/d17/classpyhelios_1_1PySceneWrapper.html", "d7/d17/classpyhelios_1_1PySceneWrapper" ], + [ "PySimulationCycleCallback", "d9/d64/classpyhelios_1_1PySimulationCycleCallback.html", "d9/d64/classpyhelios_1_1PySimulationCycleCallback" ], + [ "PythonDVec3", "dd/d8f/classpyhelios_1_1PythonDVec3.html", "dd/d8f/classpyhelios_1_1PythonDVec3" ], + [ "PyTrajectoryVectorWrapper", "d4/d2c/classpyhelios_1_1PyTrajectoryVectorWrapper.html", "d4/d2c/classpyhelios_1_1PyTrajectoryVectorWrapper" ], + [ "PyTrajectoryWrapper", "d1/d2f/classpyhelios_1_1PyTrajectoryWrapper.html", "d1/d2f/classpyhelios_1_1PyTrajectoryWrapper" ], + [ "PyTriangleWrapper", "d1/dbf/classpyhelios_1_1PyTriangleWrapper.html", "d1/dbf/classpyhelios_1_1PyTriangleWrapper" ], + [ "PyVertexWrapper", "d6/d95/classpyhelios_1_1PyVertexWrapper.html", "d6/d95/classpyhelios_1_1PyVertexWrapper" ] + ] ], [ "rigidmotion", null, [ [ "RigidMotion", "d7/d84/classrigidmotion_1_1RigidMotion.html", "d7/d84/classrigidmotion_1_1RigidMotion" ], [ "RigidMotionEngine", "d2/da8/classrigidmotion_1_1RigidMotionEngine.html", "d2/da8/classrigidmotion_1_1RigidMotionEngine" ], @@ -90,31 +117,6 @@ var annotated_dup = [ "PlatformSettings", "d5/d0c/classPlatformSettings.html", "d5/d0c/classPlatformSettings" ], [ "PolygonMirrorBeamDeflector", "db/d7e/classPolygonMirrorBeamDeflector.html", "db/d7e/classPolygonMirrorBeamDeflector" ], [ "Primitive", "df/de1/classPrimitive.html", "df/de1/classPrimitive" ], - [ "PyAABBWrapper", "de/dbe/classPyAABBWrapper.html", "de/dbe/classPyAABBWrapper" ], - [ "PyBeamDeflectorWrapper", "df/dc9/classPyBeamDeflectorWrapper.html", "df/dc9/classPyBeamDeflectorWrapper" ], - [ "PyDetailedVoxelWrapper", "de/d52/classPyDetailedVoxelWrapper.html", "de/d52/classPyDetailedVoxelWrapper" ], - [ "PyDetectorWrapper", "d4/da9/classPyDetectorWrapper.html", "d4/da9/classPyDetectorWrapper" ], - [ "PyDoubleVector", "d8/dc2/classPyDoubleVector.html", "d8/dc2/classPyDoubleVector" ], - [ "PyHeliosException", "d1/d0f/classPyHeliosException.html", "d1/d0f/classPyHeliosException" ], - [ "PyHeliosOutputWrapper", "de/da4/classPyHeliosOutputWrapper.html", "de/da4/classPyHeliosOutputWrapper" ], - [ "PyHeliosSimulation", "d3/d76/classPyHeliosSimulation.html", "d3/d76/classPyHeliosSimulation" ], - [ "PyHeliosUtils", "d6/d41/classPyHeliosUtils.html", "d6/d41/classPyHeliosUtils" ], - [ "PyIntegerList", "d6/de0/classPyIntegerList.html", "d6/de0/classPyIntegerList" ], - [ "PyMeasurementVectorWrapper", "df/d26/classPyMeasurementVectorWrapper.html", "df/d26/classPyMeasurementVectorWrapper" ], - [ "PyMeasurementWrapper", "da/d9a/classPyMeasurementWrapper.html", "da/d9a/classPyMeasurementWrapper" ], - [ "PyNoiseSourceWrapper", "d7/d80/classPyNoiseSourceWrapper.html", "d7/d80/classPyNoiseSourceWrapper" ], - [ "PyPlatformWrapper", "d2/de2/classPyPlatformWrapper.html", "d2/de2/classPyPlatformWrapper" ], - [ "PyPrimitiveWrapper", "d2/de8/classPyPrimitiveWrapper.html", "d2/de8/classPyPrimitiveWrapper" ], - [ "PyRandomnessGeneratorWrapper", "d7/df9/classPyRandomnessGeneratorWrapper.html", "d7/df9/classPyRandomnessGeneratorWrapper" ], - [ "PyRaySceneIntersectionWrapper", "d3/de1/classPyRaySceneIntersectionWrapper.html", "d3/de1/classPyRaySceneIntersectionWrapper" ], - [ "PyScenePartWrapper", "d4/dd7/classPyScenePartWrapper.html", "d4/dd7/classPyScenePartWrapper" ], - [ "PySceneWrapper", "da/d59/classPySceneWrapper.html", "da/d59/classPySceneWrapper" ], - [ "PySimulationCycleCallback", "dd/d8d/classPySimulationCycleCallback.html", "dd/d8d/classPySimulationCycleCallback" ], - [ "PythonDVec3", "d8/dd2/classPythonDVec3.html", "d8/dd2/classPythonDVec3" ], - [ "PyTrajectoryVectorWrapper", "d7/d52/classPyTrajectoryVectorWrapper.html", "d7/d52/classPyTrajectoryVectorWrapper" ], - [ "PyTrajectoryWrapper", "d6/dda/classPyTrajectoryWrapper.html", "d6/dda/classPyTrajectoryWrapper" ], - [ "PyTriangleWrapper", "d8/d42/classPyTriangleWrapper.html", "d8/d42/classPyTriangleWrapper" ], - [ "PyVertexWrapper", "d0/d51/classPyVertexWrapper.html", "d0/d51/classPyVertexWrapper" ], [ "RandomnessGenerator", "dc/d6e/classRandomnessGenerator.html", "dc/d6e/classRandomnessGenerator" ], [ "RandomNoiseSource", "d4/d38/classRandomNoiseSource.html", "d4/d38/classRandomNoiseSource" ], [ "RaySceneIntersection", "dc/da3/classRaySceneIntersection.html", "dc/da3/classRaySceneIntersection" ], diff --git a/doc/html/classes.html b/doc/html/classes.html index 815220b18..22284893f 100644 --- a/doc/html/classes.html +++ b/doc/html/classes.html @@ -109,41 +109,41 @@ Asset   Primitive   RisleyBeamDeflector   
  b  
-KDTreeNode   PyAABBWrapper   RotateFilter   Vectorial    -KDTreeNodeRoot   PyBeamDeflectorWrapper   Rotation   Vertex    -BaseDemo (HeliosDemos)   KDTreePrimitiveComparator   PyDetailedVoxelWrapper   RotationOrder   VertexKeyEqual    -BaseTest (HeliosTests)   KDTreeRaycaster   PyDetectorWrapper   
  s  
+KDTreeNode   PyAABBWrapper (pyhelios)   RotateFilter   Vectorial    +KDTreeNodeRoot   PyBeamDeflectorWrapper (pyhelios)   Rotation   Vertex    +BaseDemo (HeliosDemos)   KDTreePrimitiveComparator   PyDetailedVoxelWrapper (pyhelios)   RotationOrder   VertexKeyEqual    +BaseTest (HeliosTests)   KDTreeRaycaster   PyDetectorWrapper (pyhelios)   
  s  
VertexKeyHash   
  c  
  l  
-PyDoubleVector   VHCanvas (visualhelios)    -PyHeliosException   ScaleFilter   VHDynObjectAdapter (visualhelios)    -Color4f   LadLut   PyHeliosOutputWrapper   Scanner   VHDynObjectXYZAdapter (visualhelios)    -ConicBeamDeflector   LadLutLoader   PyHeliosSimulation   ScannerHead   VHDynObjectXYZRGBAdapter (visualhelios)    +PyDoubleVector (pyhelios)   VHCanvas (visualhelios)    +PyHeliosException (pyhelios)   ScaleFilter   VHDynObjectAdapter (visualhelios)    +Color4f   LadLut   PyHeliosOutputWrapper (pyhelios)   Scanner   VHDynObjectXYZAdapter (visualhelios)    +ConicBeamDeflector   LadLutLoader   PyHeliosSimulation (pyhelios)   ScannerHead   VHDynObjectXYZRGBAdapter (visualhelios)   
  d  
-LadLutTest (HeliosTests)   PyHeliosUtils   ScannerSettings   VHSimpleCanvas (visualhelios)    -Las14SyncFileWriter   PyIntegerList   Scene   Voxel    -DemoSelector (HeliosDemos)   LasSpecification   PyMeasurementVectorWrapper   SceneLoadingSpecification   VoxelFileParser    -DetailedVoxel   LasSyncFileWriter   PyMeasurementWrapper   ScenePart   VoxelGridCell    -DetailedVoxelLoader   Leg   PyNoiseSourceWrapper   ScenePartSplitTest (HeliosTests)   VoxelParsingTest (HeliosTests)    -Directions   LidarSim   PyPlatformWrapper   SerialIO   
  w  
+LadLutTest (HeliosTests)   PyHeliosUtils (pyhelios)   ScannerSettings   VHSimpleCanvas (visualhelios)    +Las14SyncFileWriter   PyIntegerList (pyhelios)   Scene   Voxel    +DemoSelector (HeliosDemos)   LasSpecification   PyMeasurementVectorWrapper (pyhelios)   SceneLoadingSpecification   VoxelFileParser    +DetailedVoxel   LasSyncFileWriter   PyMeasurementWrapper (pyhelios)   ScenePart   VoxelGridCell    +DetailedVoxelLoader   Leg   PyNoiseSourceWrapper (pyhelios)   ScenePartSplitTest (HeliosTests)   VoxelParsingTest (HeliosTests)    +Directions   LidarSim   PyPlatformWrapper (pyhelios)   SerialIO   
  w  
-DynMovingObject   LinearPathPlatform   PyPrimitiveWrapper   SerializationTest (HeliosTests)    -DynObject   logger   PyRandomnessGeneratorWrapper   SimplePhysicsPlatform   WavefrontObj    +DynMovingObject   LinearPathPlatform   PyPrimitiveWrapper (pyhelios)   SerializationTest (HeliosTests)    +DynObject   logger   PyRandomnessGeneratorWrapper (pyhelios)   SimplePhysicsPlatform   WavefrontObj   
  e  
-logger_factory   PyRaySceneIntersectionWrapper   SimplePrimitivesDemo (HeliosDemos)   WavefrontObjCache    +logger_factory   PyRaySceneIntersectionWrapper (pyhelios)   SimplePrimitivesDemo (HeliosDemos)   WavefrontObjCache   
  m  
-PyScenePartWrapper   SimpleSyncFileWriter   WavefrontObjFileLoader    -enum_hasher   PySceneWrapper   Simulation   
  x  
+PyScenePartWrapper (pyhelios)   SimpleSyncFileWriter   WavefrontObjFileLoader    +enum_hasher   PySceneWrapper (pyhelios)   Simulation   
  x  
  f  
-MarquardtFitter   PySimulationCycleCallback   SimulationCycleCallback    -Material   PythonDVec3   SpectralLibrary   XmlAssetsLoader    -FiberArrayBeamDeflector   MaterialsFileReader   PyTrajectoryVectorWrapper   std_out_logger   XmlSurveyLoader    -file_logger   MathConverter   PyTrajectoryWrapper   stringVisitor   XYZPointCloudFileLoader    -FileUtils   Measurement   PyTriangleWrapper   Survey   
  z  
+MarquardtFitter   PySimulationCycleCallback (pyhelios)   SimulationCycleCallback    +Material   PythonDVec3 (pyhelios)   SpectralLibrary   XmlAssetsLoader    +FiberArrayBeamDeflector   MaterialsFileReader   PyTrajectoryVectorWrapper (pyhelios)   std_out_logger   XmlSurveyLoader    +file_logger   MathConverter   PyTrajectoryWrapper (pyhelios)   stringVisitor   XYZPointCloudFileLoader    +FileUtils   Measurement   PyTriangleWrapper (pyhelios)   Survey   
  z  
-full_logger   MeasurementsBuffer   PyVertexWrapper   SurveyCopyTest (HeliosTests)    +full_logger   MeasurementsBuffer   PyVertexWrapper (pyhelios)   SurveyCopyTest (HeliosTests)    FullWaveformPulseDetector   MovingPlatform   
  r  
SurveyPlayback   ZipSyncFileWriter    FullWaveformPulseRunnable   
  n  
diff --git a/doc/html/d0/d02/classpyhelios_1_1PyRaySceneIntersectionWrapper__coll__graph.map b/doc/html/d0/d02/classpyhelios_1_1PyRaySceneIntersectionWrapper__coll__graph.map new file mode 100644 index 000000000..a5910fe7d --- /dev/null +++ b/doc/html/d0/d02/classpyhelios_1_1PyRaySceneIntersectionWrapper__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/html/d0/d02/classpyhelios_1_1PyRaySceneIntersectionWrapper__coll__graph.md5 b/doc/html/d0/d02/classpyhelios_1_1PyRaySceneIntersectionWrapper__coll__graph.md5 new file mode 100644 index 000000000..68a6862c8 --- /dev/null +++ b/doc/html/d0/d02/classpyhelios_1_1PyRaySceneIntersectionWrapper__coll__graph.md5 @@ -0,0 +1 @@ +40df611606a4f259c796ffe3c552cb31 \ No newline at end of file diff --git a/doc/html/d0/d02/classpyhelios_1_1PyRaySceneIntersectionWrapper__coll__graph.png b/doc/html/d0/d02/classpyhelios_1_1PyRaySceneIntersectionWrapper__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..f703034161fabc07eebab2484d17778d79ba8bea GIT binary patch literal 7938 zcmaJ`2RNKvw;e=@PDC%!q6E=`sL?wyLgvdmlj9x|(A$lDx zN(iI(de40Kzu)uS|CUFY@tXIX^Pau;+H0*7bJswVf|QvQ0)bFyYpFrO>k9b!O+o~I zpD1{yf)^rNT}?H}1@0@au>@RUuhUjjHu2BKP6e6J{hlJ;+z=tFC;3u(iI9f+ZoGP# z#)pdQ$t1D0M#is5mx!zP0s&;nhLW3K#C12RRi+No1GL}KIIOh1Jv{}M0g`&Lc z^&c2h;`k2;UpLBcaJ(vu3nDOe@H-0b9rw5IeCdePMAi4vZZBqYk<8t z)63LUxl`685%|ge6MuhyAEbU870q7QO2cjMCCKtvL|}^6C8TBIvu6-DOD89RhQ>yt z`}c{ZrKLZNmfhv2W@IE$^z)tMWem*pWoOeSY-w%9gXHx;t~c(-U@Q-hjySowRX2uA zcxb^J0!~iO&CSggbOK9CW@Zc+a~C_wu+gwX2{|*KxP0Y02qy*e?pXDBl_R&9Sc*$? zQ4!(U@m~AZd>8T!6bhZ4pAQc?I|jqx2@4Aw`o|?}8fgXOnF!{a2=@2&J+r8DvpL#c zWK;@~$4pHj18Uu-VudYguSrVoA{Ltue~~RLF52uY^=N5px3-28r{v})J(;YXJ3E-s zymv2c`t%80JuNLwVPvEsU}txoL^fcXrw}T@#m$WenXG-HYGg#Sy}j*myz2zU;pFA* z6r6l+7M)@cmze0#-`~$>PV{WL{oA(~g^SajwUG*ocro;X*KL9pQc}|0NDkQf?#dvz zG~`^iX#8$B%0RMY`aBOFda#rj=GbJ#wyNqNY|>y%fI}7C!YC zXj(KhJ$UdS-pT={T1U8@cNPRy4GRxXFxc7N#)oL}(1y3Oai-~rc`xa)%KDHPDxFC- zoo?$sy*N9-?4sZswzDnI1G~RI`b?=rwIVM&b+xqj(#NU^gMcJ9xk!Xv7ni7La@Nw~ zA|cX}63xhHS6WtCc)p1;)A2dDN~+1O~<*b+W}7FW~MT-DbFJD<#{ zy4h`gPMdmNU*+M$YqhT918nxG7kR6Nu)fUILInyKA68cO~h4A!B;~Q<%PcEMs+jyL>; zQXjVix&Lf1oqu*l6p+MT@%iqu3a%P>ekQfmY*%V3G?t({o9Db!_hC$uw2Z<|_RhKQ zRUhYh0oSK_8lBA)p}N-)6m(D))AL}3H}55{|EAGZOCA)c)GtV$5bgXnvKhnHsllN~ zjFEjnnDe?f;K|j!FoX?37)&%IqHen0g z>vdKZnUa#yqeqXHbJkj#^XI%(&G_i3}$!lQUhpVlNJ^fjJ3D7N1UEM-Cyp;hXkz@ zrJDr@E9e>;f;)a>N<096oa_!7GC}q?=i1k;dcXrXJ1VkyM+ltP>9|{3P?M38)_a0d z7UJh$MmRlbe**b5SYjxFW;FgVOcb@~b(CsV!Jc3M4@%Cy55Song4l9E#D zOLlrX1LO`@3M1=vL;8qnVr0P1^#eFSB?hTy_DK5!!yonx0%An_eW7x8%W+@nND1)?2$WG1QvE9; zU~5ZIeh&Lh59i)!3BaQF*X94cfFxUbYkZSGfBEG_Buz(^T^gppTAp?OEgY16VoLdzS zL(1&VHBwpx08H9Bqm|a()EtnCcZ=sTm2&K51)Z6sk?${@`R5Y-n4l?Ig$K)1DCxIB z>$mCX>CKCRi=Z)eGa)RhQIrvJab%GcERi)XqwkQ&aX~CRQi~@{C4UxsRH2@K_YM#3 z7A!Jv%w7xc+Rd9(i;Ii=H*ac&geXQ*vc+a(Fn*|RwCyCd{Ni&tii!gb0Q|-7t`Do6 zAGx-+wyD#F_LtxjDS3H$0CIy(?3sFz3k#3fZ_r+As>I72^vkK{hKPceBE5coc0vyM zP+q>~rN6$uzSb5&7C3K^tJw22I2eWTb7V4iR9)~2h^qUY+To}GdX|)D&X8MDA@;Vc zY}>bQm)+dlF!kJ;i4TWLjXXR(pI27i92gjYKyKXs*x^#yi0&x?jTQxWKV7xH!0$Vr z3HjZd1A4{WQl@->cx+r89>lzYes!cG9NhRe@Q;9yWj%FGO%0}jIe|z(KwxugOSw7Z zEIB#(+3VNzkcyIu@$qp+2?z2=;!M*)8wzo+U4EL$UAe9Yfsivxesx7XDS3-TA~$z- z+5si-++8+$@#4iD!8ERG*B~eRSc%ERGHid-+x-$0n8d95F%8%u97iZDFnyN3OZOv{P>|q z^z7cfdk9dIRd@tMq6r%9jCMj25~*ivj!N^dd%C;r3N(`(L_|bfk9Swr+NqQt@$&Lw zb^(n*BqvjwnwfnC-G1z5$QIe_SFbwsXR4j9;OGH-W7?jOkkIu9yL=FDh8Iu~LOtj^LAh`-AnV z`6VYOCmW^HO@ae_Iruv3fy$_JjcZ??^4g?(vwggnlpUJ9Heko0@ps>f&)WC28?J-J z`a+VDuRwNuK07%8C`Cp|>7bd!zPQxrIZq_#wLl^*|8GpiyCzrGH&zUtVO}vpmWy1R zh#I;p7pdZ0K2;k4z>m=`et2Z$vsGgtqPkkr4RuRWQZ&cF@iUw8WV?yhu=A}{EuOWB z8W+qiNW)J613?sN>7X|d=%4{KT4VoswX(|k?9ctcogDdqm-?CF5&9XT&q4fFh3lRk zdA&|fZef@AZ^_Qd8J|MIne5^P(sXJ=FG7lko%bfp0f_HxZP~<&T~E__U}KZte_RM% zvAa+M`FB6a$S9@NR}9dyWM=2CyIKh~lTwxD6-!HvPmjbcK0U-^5q${BlJym2pf$#3 zOt2TLm_wm$kWWiX4sLebmCCH~aS2-d;4|Euu~XJml>1jF7y+6>1iild;8Y0psF36{ZA`hK7dv zgAzzG;He2L(q8RWR#wT~iw`RT{i?NoR)p~T@r24wUO|B~MayG#MA$7`CI4An9Xx8Z|MmC<^LbQB z3E!VTfBO3RCL(mpOx}SpXk#wv>+74L{DdKSO-<}~R*98CeX~fpwuBLq)%#h(V2FpU z_#GV`vmG&4z{+q>#Bp(`3HlBmgkH$(*{fG{04IMP@2zTSY4ruApwVdC;rI9I0hoQX zZcb#9aF{JfQWQr~=D>QBYq5R(e%xGKpWJ5@O-xK?0Yj&b>-6yQ5+6@Q;_6%qtVc{t z%na$p3$Vr$J8`T0K@}0$hK(WFNuhJfU#}4(yo@;pUB~;_Ztw}DXO`3xTk*{Jqmz>= z0I9D!(P(i)Lqj)^M9saHmX>BPSdNtib3$a}$vO&GINC)}dTQzxAT=^{ifrS>ilJp@ zP$=!r{=Nek2HgJn&mU*EBM|a^5KRP#o;Vy1ul1Ny8R_eL_-S7=N)Cl7Xa^(eXUn7@ zzkGR9(bZSx>ELjE=itDxx3|}I;cLoT+|4G@|AMZc4`8q!tANF;QV&}ofPr_?Ub%wA zy1M1`Akqe5t)aK~!6ejIuC(jkues$il2>1EwjoY{;CKQXrev4@>djj`t`|D6UI;C_ zYi=G3Qht8tr_yf}>p=Tn#z7&Q=Uf}1{LT*vvj%^$wzjrIk*Hk{AD&yYUHfoTp=i zfrid}8I;MPFha=Vz*3C>#j}U0jX1{q`NQ7h_n_N!(9+QHEfeqr0b+b5c7B*z*Zilu zFEi0mjNr25t^u0;t`_#0LA%F|67!p{gelB1D6^k-_d3i0MW0c zf0c3B>Vt>5res8j2tU_E0(QM6eXFn3NB*9AIpAjVlKQfzKJU@9Cx%bR+6^6@DTLHr z0jWn{y{ICZpl|1(j#0a46jF6%0N1_&j;`f;_>nLtac+HFwtC2g!ho;#xr%eUiLd#q z?8+zumtW90O8(voF~uAb_K2a#sqX~=T0}M$$*_+ z8j&8pYg)~iUF*AQ>N@_JP+3_yIwnS0MFk&}9>SrAS;(q^F(Dyg%2F6{DPpMibY`;7 zXv@8*)ybmPwH1T(?*DNAW^|`*>9BJ>5@`e4ap}j8ktTxJCFdAk{z3&U4-ZjDo?))y z;W}!=W9ygt;qkHUM72{rfa9DcQaaz`b!DEHBU4itOnhqY6+6f?QnqfGnu0s}q9G0700M^YMN8eLs3xYl2|!&oJ4_%8FT)1BF!(_SPjL zA}-K$r&CGkV0<+axe1N24Ch@Os@#|(oILp#>y=YI)5cQ$^#`tWfE@krrSrGs!N!-J z7j{S)Y5o1?Z~pqf-1eWt?)`hT{?@#IPcp&u$Iv+xgdp-bb%Jxmz|@qU;0_f_u-?wo zG>Wywt{}GEWem5h?3ZAk%zo>87AU_8gtppj$n%J&>33x30Im{su~0afnT@5skD#_~ zDKjo1Pb@k3A5YP{OsqM@DKF2OnVGq{z5Urgb6@}ppq*1%`u@fSpMbo)rTf_M@YMp1 zgf>7H=2lk5=N5Bva>SkaY~_nE}CHCI-}r;HpShn&^s!qcG_XOuT{ zb8->@FZK@zumQf1X&DxDkG3SG^XR?RQSKWz$N*WE0mQ~{ZOkTZKerIL4nN-9irWyE z!LF|Kj%J8Su?;8&AJ4*@PhfTO>3Y}0Q7AdkoT7jg#ly>+|LGGoNLV)W>8UBU>FH^+ zFFpc*r-e^UOo)u`Pr+wwzP;onAthCrX$lr|9^x-IL*N4fyy`V+$ZYpRaI(dGVstR4 zQq1lPD`3sg7g163r$;;fd&Bp|g7#eti;Gn%Ou2=HDS(z-TzcZ>hOTxRyq4aL^t@kb z)d{Hj7GTxPpl@URD@@~HC_fu8x&KxtL&}>sqzM{!o5)H2G#%IJ2Bs>9o;FZGz__6V z)dQ)xxzHKMVE1RJEIJ`U-M}ER-*1A7g^NB8DJ%To=RObZW$+E!UA?DcZ?^K&r}D-6 zS&=|9X!^w^1KzD0U+ut5x2_K`i^s|;1w(<68I`8Gj6OG>%y zbfY4?xYpO-Uk0$3a9-WlKF%C9Vk5mQ?hSa5L#%tKOYKzc**37#=7Gf20Q~CPnR7W{ zb_Kx-YykO}n0Qh3}BZ{)JveNSM4!+!{VL-Rf z14HfbWac6f^y+f!X7(z_pJ*VCaC`*^R)T4ycUFx=1O#GSO3p<4nB&36ByZiy2L>rF z;efX`2d?x7)(X!6cma~k_UBuL=;-KY1qIxYJOqLUkf1vNpn#Krc=V07u&5}%scG8v z#AT#h83^)s1qCVD+3}#m&I1;M@#X-g9N7C-;O}j<5_8P1PoV&ma!5~MYR~s4-M7-4 zPYK-{wutuE#>0<~j}5Tgs@SKeTV0T6UZl2yfHT5(`c!aiv^SQsRJY0#o3cxH!}u31Yqr5Dyq{_>lF- z9;b(%4M$5^z>6Q1Z1Ck^BMgO)AE))NY?e`7fs3ziVxs1fL0J zfC!oYtX(X4_l_EPfvJ3kT#AZsv(^_DUI4;kxA;A6d8S#3h?12AQd(IlJ$XK8sFd(i z@q`@66~`yAV#}Cw?_JX*GN7Df06Uwe7L^BsT!I0`7@Xk_&9)?eQflfjUiB{uk+yd6HKQMfD(SX-62cH8b__)Tr(eO$m z@WdZHxXi%70McL%_&zwi!&w3K^)m773KPHfB=)q6cvp{>w?W$FKHa_yyx}OIet-aO zzIyelmcG8avGEn~OhV4qMbJ4=*(79Ss=#y#3kw5^Ag(d!z_u%qjf9Fy6Erbk!6Wx0 z$(h2y!adrTYJDday*xbnvPue0zM9ElGhON`{Jc+w&E%YGCKmQZ(L*lf1*>B;resdq z+Lz(C^MRdoLrO@9e53Jz9oPaiw6yqCR8);Xs8#7-oSz{;J9i5QKx1<69#e1#ptmwI zGI`b2bWKf75c3&Baz;@IFyHT%nH&!0o?k*UdU<=NWMo7Gp70K+T$mMHcVx#1P+gE9 z17x2y3R>UXa{1&oC99VqisxLzY#n-5GrsRD%O)MN+?S6zwd+dk1V9FOIDNYEa3M0r?0H#Sf_;1ARztgRaAqap41WrgO53ITwiHV5;KI70B zXT^w!Xaokza&d7%ATcp9U%!1*zIX4cvx^HSeH>>>^?8!BtLqS%+KG*>kB`FC)Kvf2 zSTvvO#%j#hR7RQBAMR>;2XO~es;Dpp4Y zjuH?qqav85U>5i~M%md}@OyVRQcCtq1?o#S=ab3&0_>X!T!GgqfL4OWxU6X-%(Z|f zN(MWO%XSVWcA$5N`vMD}?vFcyV-K-_?MHEwSxTXbK-r}LW98}%)0W9emhRWW638D} z?oBZO_3Xw!+iU6RbsTQZBgu|Gm{zpCRR|JwpO(iNOfI7zBdV$-AbG{b8XJRy`|Yon zmjeU+{qsOHF~s)367t8^jDE6dClWHRCIJ%Ee=dUIlk>1(6}Hm6h7^?77}A^X*Ze%L z9mTWBy+-*^GcZJX&ZBLB)C0P&#n@0GqDVL0s~hfM0k=nLQn1QU19d-i;xjtn*Mkcw zkkgTW0$w3T$5MC4q{ld9JRm^m(a+e}d}Ct*1P$kv>FDT;zQ0<}*Z5Y!UT)t6=Q2e_ zb=jTiBdru66T>^}fw C6j5;i literal 0 HcmV?d00001 diff --git a/doc/html/d0/d0e/XmlAssetsLoader_8h_source.html b/doc/html/d0/d0e/XmlAssetsLoader_8h_source.html index ad12ddd9c..17a042465 100644 --- a/doc/html/d0/d0e/XmlAssetsLoader_8h_source.html +++ b/doc/html/d0/d0e/XmlAssetsLoader_8h_source.html @@ -94,7 +94,7 @@
std::shared_ptr< Asset > getAssetById(std::string type, std::string id)
Get asset by its identifier.
Definition: XmlAssetsLoader.cpp:905
XmlAssetsLoader(std::string &filePath, std::string &assetsDir)
Build a XmlAssetsLoader for given XML file and assets directory.
Definition: XmlAssetsLoader.cpp:46
std::shared_ptr< Asset > getAssetByLocation(std::string type, std::string location)
Get asset by location.
Definition: XmlAssetsLoader.cpp:944
-
Definition: Rotation.h:80
+
Definition: Rotation.h:81
Color4f createColorFromXml(tinyxml2::XMLElement *node)
Create a color from given XML element (node)
Definition: XmlAssetsLoader.cpp:103
Rotation createRotationFromXml(tinyxml2::XMLElement *rotGroupNode)
Create a rotation from given XML element (node)
Definition: XmlAssetsLoader.cpp:849
std::shared_ptr< PlatformSettings > createPlatformSettingsFromXml(tinyxml2::XMLElement *node)
Create platform settings from given XML element (node)
Definition: XmlAssetsLoader.cpp:288
diff --git a/doc/html/d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html b/doc/html/d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html new file mode 100644 index 000000000..02f3ebe0f --- /dev/null +++ b/doc/html/d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html @@ -0,0 +1,207 @@ + + + + + + + +Helios++: pyhelios::PyBeamDeflectorWrapper Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyBeamDeflectorWrapper Class Reference
+
+
+ +

Wrapper for AbstractBeamDeflector class. + More...

+ +

#include <PyBeamDeflectorWrapper.h>

+
+Collaboration diagram for pyhelios::PyBeamDeflectorWrapper:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PyBeamDeflectorWrapper (std::shared_ptr< AbstractBeamDeflector > beamDeflector)
 
+double getScanFreqMax ()
 
+void setScanFreqMax (double scanFreqMax_Hz)
 
+double getScanFreqMin ()
 
+void setScanFreqMin (double scanFreqMin_Hz)
 
+double getScanAngleMax ()
 
+void setScanAngleMax (double scanAngleMax)
 
+double getScanFreq ()
 
+void setScanFreq (double scanFreq)
 
+double getScanAngle ()
 
+void setScanAngle (double scanAngle)
 
+double getVerticalAngleMin ()
 
+void setVerticalAngleMin (double verticalAngleMin)
 
+double getVerticalAngleMax ()
 
+void setVerticalAngleMax (double verticalAngleMax)
 
+double getCurrentBeamAngle ()
 
+void setCurrentBeamAngle (double currentBeamAngle)
 
+double getAngleDiff ()
 
+void setAngleDiff (double angleDiff)
 
+double getCachedAngleBetweenPulses ()
 
+void setCachedAngleBetweenPulses (double angleBetweenPulses)
 
+RotationgetEmitterRelativeAttitude ()
 
+ + + +

+Public Attributes

+AbstractBeamDeflectorbeamDeflector
 
+

Detailed Description

+

Wrapper for AbstractBeamDeflector class.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+
See also
AbstractBeamDeflector
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.js b/doc/html/d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.js new file mode 100644 index 000000000..d7ce24d60 --- /dev/null +++ b/doc/html/d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.js @@ -0,0 +1,27 @@ +var classpyhelios_1_1PyBeamDeflectorWrapper = +[ + [ "PyBeamDeflectorWrapper", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#aa69484636781df84edb3b6c3f2b0f69e", null ], + [ "~PyBeamDeflectorWrapper", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#a7bdad097378877e0891a920434259ed7", null ], + [ "getAngleDiff", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#a879adb41e558f39db2afe20e1afe21cf", null ], + [ "getCachedAngleBetweenPulses", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#ad1298e1bb878b5018c567197a9762075", null ], + [ "getCurrentBeamAngle", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#a531515cf7b3d6df807c74655b4818010", null ], + [ "getEmitterRelativeAttitude", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#abe82236472b15b27f1ef1f08767a599a", null ], + [ "getScanAngle", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#a9045d92ed7ecec8130c0a8e10e8e40a5", null ], + [ "getScanAngleMax", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#a48be4fb65e06a177964048a671544d01", null ], + [ "getScanFreq", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#a82224b061e7d76f394ed04aec270128a", null ], + [ "getScanFreqMax", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#a718f2eec342cfae3eef9823143a7ad96", null ], + [ "getScanFreqMin", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#a7df60541b2ff31862079b21699a1ec23", null ], + [ "getVerticalAngleMax", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#abb397730f24ea33fae316cb7e25f23b8", null ], + [ "getVerticalAngleMin", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#a522899fba70ae95605f51be2bfacc4df", null ], + [ "setAngleDiff", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#a50545369cd40052fe54f32bcef977bc2", null ], + [ "setCachedAngleBetweenPulses", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#a2336a9aaade32aafb4856aa84f7d4266", null ], + [ "setCurrentBeamAngle", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#a1f58c6340fa4e638c2e3ac60973c6c4a", null ], + [ "setScanAngle", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#a4c3278bf28fc8c160e083a10f3ffc0c4", null ], + [ "setScanAngleMax", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#a84e336534c4805e28270a0ce5471227d", null ], + [ "setScanFreq", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#a653c87ae463844b827af72d65d0bede0", null ], + [ "setScanFreqMax", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#aa8db0b092a858f38aceb76a072db6d37", null ], + [ "setScanFreqMin", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#aca0cd354a1d8627961891f13a6c53ee5", null ], + [ "setVerticalAngleMax", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#a00b0e389e368f07bc828063bf5c7425e", null ], + [ "setVerticalAngleMin", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#a3f915726d97ee528b5319bf4c98e632b", null ], + [ "beamDeflector", "d0/d0e/classpyhelios_1_1PyBeamDeflectorWrapper.html#a9a750228668fbb8cef46e6e2a2fce2a9", null ] +]; \ No newline at end of file diff --git a/doc/html/d0/d8f/Rotation_8h_source.html b/doc/html/d0/d8f/Rotation_8h_source.html index 68d142d47..2bf3abad2 100644 --- a/doc/html/d0/d8f/Rotation_8h_source.html +++ b/doc/html/d0/d8f/Rotation_8h_source.html @@ -90,22 +90,22 @@
Rotation.h
-
1 #pragma once
2 
71 #include "RotationOrder.h"
72 
73 #include <boost/archive/text_iarchive.hpp>
74 #include <boost/archive/text_oarchive.hpp>
75 
76 #if PYTHON_BINDING
77 #include <PythonDVec3.h>
78 #endif
79 
80 class Rotation {
81  // *** SERIALIZATION *** //
82  // *********************** //
83  friend class boost::serialization::access;
84  template<class Archive>
85  void serialize(Archive &ar, const unsigned int version) {
86  ar & q0 & q1 & q2 & q3;
87  }
88 
89  // *** ATTRIBUTES *** //
90  // ******************** //
92  double q0, q1, q2, q3;
93 
94 public:
95  // *** CONSTRUCTION / DESTRUCTION *** //
96  // ************************************ //
97  Rotation() = default;
98  Rotation(double q0, double q1, double q2, double q3, bool needsNormalization);
99  Rotation(glm::dvec3 axis, double angle);
100  Rotation(glm::dvec3 u, glm::dvec3 v);
101  Rotation(RotationOrder order, double alpha1, double alpha2, double alpha3);
102  virtual ~Rotation() = default;
103 
104 
105 
107  //const Rotation *IDENTITY = new Rotation(1.0, 0.0, 0.0, 0.0, false);
108 
109  // *** GETTERS and SETTERS *** //
110  // ***************************** //
115  double getQ0() {return q0;}
116  void setQ0(double q0) {this->q0 = q0;}
117 
122  double getQ1() {return q1;}
123  void setQ1(double q1) {this->q1 = q1;}
124 
130  double getQ2() {return q2;}
131  void setQ2(double q2) {this->q2 = q2;}
132 
137  double getQ3() {return q3;}
138  void setQ3(double q3) {this->q3 = q3;}
139 
140  // *** M E T H O D S *** //
141  // *********************** //
142  Rotation revert();
143  glm::dvec3 getAxis();
144  double getAngle();
145  double** getMatrix();
146  glm::dvec3 applyTo(glm::dvec3 u);
147  void applyTo(double* in, double* out);
148  glm::dvec3 applyInverseTo(glm::dvec3 u);
149  void applyInverseTo(double* in, double* out);
152 
160  void getAngles(
161  RotationOrder const *order,
162  double &roll,
163  double &pitch,
164  double &yaw
165  );
166 
167  friend std::ostream& operator << (std::ostream& out, Rotation& r);
168 
169 #ifdef PYTHON_BINDING
170  PythonDVec3 * getAxisPython() {return new PythonDVec3(getAxis());}
171 #endif
172 
173 };
glm::dvec3 applyTo(glm::dvec3 u)
Definition: Rotation.cpp:250
-
Definition: Rotation.h:80
-
double q0
Definition: Rotation.h:92
-
double getQ0()
Get the scalar coordinate of the quaternion.
Definition: Rotation.h:115
-
double getQ3()
Get the third coordinate of the vectorial part of the quaternion.
Definition: Rotation.h:137
+
1 #pragma once
2 
71 #include "RotationOrder.h"
72 
73 #include <boost/archive/text_iarchive.hpp>
74 #include <boost/archive/text_oarchive.hpp>
75 
76 #if PYTHON_BINDING
77 #include <PythonDVec3.h>
79 #endif
80 
81 class Rotation {
82  // *** SERIALIZATION *** //
83  // *********************** //
84  friend class boost::serialization::access;
85  template<class Archive>
86  void serialize(Archive &ar, const unsigned int version) {
87  ar & q0 & q1 & q2 & q3;
88  }
89 
90  // *** ATTRIBUTES *** //
91  // ******************** //
93  double q0, q1, q2, q3;
94 
95 public:
96  // *** CONSTRUCTION / DESTRUCTION *** //
97  // ************************************ //
98  Rotation() = default;
99  Rotation(double q0, double q1, double q2, double q3, bool needsNormalization);
100  Rotation(glm::dvec3 axis, double angle);
101  Rotation(glm::dvec3 u, glm::dvec3 v);
102  Rotation(RotationOrder order, double alpha1, double alpha2, double alpha3);
103  virtual ~Rotation() = default;
104 
105 
106 
108  //const Rotation *IDENTITY = new Rotation(1.0, 0.0, 0.0, 0.0, false);
109 
110  // *** GETTERS and SETTERS *** //
111  // ***************************** //
116  double getQ0() {return q0;}
117  void setQ0(double q0) {this->q0 = q0;}
118 
123  double getQ1() {return q1;}
124  void setQ1(double q1) {this->q1 = q1;}
125 
131  double getQ2() {return q2;}
132  void setQ2(double q2) {this->q2 = q2;}
133 
138  double getQ3() {return q3;}
139  void setQ3(double q3) {this->q3 = q3;}
140 
141  // *** M E T H O D S *** //
142  // *********************** //
143  Rotation revert();
144  glm::dvec3 getAxis();
145  double getAngle();
146  double** getMatrix();
147  glm::dvec3 applyTo(glm::dvec3 u);
148  void applyTo(double* in, double* out);
149  glm::dvec3 applyInverseTo(glm::dvec3 u);
150  void applyInverseTo(double* in, double* out);
153 
161  void getAngles(
162  RotationOrder const *order,
163  double &roll,
164  double &pitch,
165  double &yaw
166  );
167 
168  friend std::ostream& operator << (std::ostream& out, Rotation& r);
169 
170 #ifdef PYTHON_BINDING
171  PythonDVec3 * getAxisPython() {return new PythonDVec3(getAxis());}
172 #endif
173 
174 };
glm::dvec3 applyTo(glm::dvec3 u)
Definition: Rotation.cpp:250
+
Definition: Rotation.h:81
+
double q0
Definition: Rotation.h:93
+
double getQ0()
Get the scalar coordinate of the quaternion.
Definition: Rotation.h:116
+
double getQ3()
Get the third coordinate of the vectorial part of the quaternion.
Definition: Rotation.h:138
double ** getMatrix()
Definition: Rotation.cpp:210
Definition: RotationOrder.h:18
Rotation revert()
Definition: Rotation.cpp:171
-
double getQ1()
Get the first coordinate of the vectorial part of the quaternion.
Definition: Rotation.h:122
+
double getQ1()
Get the first coordinate of the vectorial part of the quaternion.
Definition: Rotation.h:123
double getAngle()
Definition: Rotation.cpp:196
-
double getQ2()
Get the second coordinate of the vectorial part of the quaternion.
Definition: Rotation.h:130
+
double getQ2()
Get the second coordinate of the vectorial part of the quaternion.
Definition: Rotation.h:131
void getAngles(RotationOrder const *order, double &roll, double &pitch, double &yaw)
Get the roll, pitch and yaw for the Rotation.
Definition: Rotation.cpp:360
friend std::ostream & operator<<(std::ostream &out, Rotation &r)
Definition: Rotation.cpp:527
glm::dvec3 applyInverseTo(glm::dvec3 u)
Definition: Rotation.cpp:287
glm::dvec3 getAxis()
Definition: Rotation.cpp:179
-
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:14
+
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:16
diff --git a/doc/html/d0/dab/classpyhelios_1_1PyScenePartWrapper__coll__graph.map b/doc/html/d0/dab/classpyhelios_1_1PyScenePartWrapper__coll__graph.map new file mode 100644 index 000000000..1826f0e2c --- /dev/null +++ b/doc/html/d0/dab/classpyhelios_1_1PyScenePartWrapper__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/html/d0/dab/classpyhelios_1_1PyScenePartWrapper__coll__graph.md5 b/doc/html/d0/dab/classpyhelios_1_1PyScenePartWrapper__coll__graph.md5 new file mode 100644 index 000000000..4d7c638b5 --- /dev/null +++ b/doc/html/d0/dab/classpyhelios_1_1PyScenePartWrapper__coll__graph.md5 @@ -0,0 +1 @@ +1f7baf50dfdbbbc2aa124cf523a15118 \ No newline at end of file diff --git a/doc/html/d0/dab/classpyhelios_1_1PyScenePartWrapper__coll__graph.png b/doc/html/d0/dab/classpyhelios_1_1PyScenePartWrapper__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..e95cd4f80fe6f597ac6c1969ae604d6611a100c6 GIT binary patch literal 11006 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 literal 0 HcmV?d00001 diff --git a/doc/html/d0/db5/PyDetectorWrapper_8h_source.html b/doc/html/d0/db5/PyDetectorWrapper_8h_source.html index a434f6287..8280d1efc 100644 --- a/doc/html/d0/db5/PyDetectorWrapper_8h_source.html +++ b/doc/html/d0/db5/PyDetectorWrapper_8h_source.html @@ -90,8 +90,9 @@
PyDetectorWrapper.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyDetectorWrapper.h>
6 #include <AbstractDetector.h>
7 #include <memory>
8 
17 public:
18  // *** ATTRIBUTES *** //
19  // ******************** //
20  AbstractDetector &detector;
21 
22  // *** CONSTRUCTION *** //
23  // ********************** //
25  std::shared_ptr<AbstractDetector> detector
26  ) :
27  detector(*detector) {}
28 
29  virtual ~PyDetectorWrapper() {}
30 
31  // *** GETTERS and SETTERS *** //
32  // ***************************** //
33  inline double getAccuracy()
34  {return detector.cfg_device_accuracy_m;}
35  inline void setAccuracy(double accuracy)
36  {detector.cfg_device_accuracy_m = accuracy;}
37  inline double getRangeMin()
38  {return detector.cfg_device_rangeMin_m;}
39  inline void setRangeMin(double rangeMin)
40  {detector.cfg_device_rangeMin_m = rangeMin;}
41  inline double getLasScale()
42  {return detector.lasScale;}
43  inline void setLasScale(double lasScale)
44  {detector.lasScale = lasScale;}
45 };
46 
47 #endif
Base abstract class for detectors.
Definition: AbstractDetector.h:22
-
Wrapper for AbstractDetector class.
Definition: PyDetectorWrapper.h:16
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyDetectorWrapper.h>
6 #include <AbstractDetector.h>
7 #include <memory>
8 
9 namespace pyhelios{
10 
19 public:
20  // *** ATTRIBUTES *** //
21  // ******************** //
22  AbstractDetector &detector;
23 
24  // *** CONSTRUCTION *** //
25  // ********************** //
27  std::shared_ptr<AbstractDetector> detector
28  ) :
29  detector(*detector) {}
30 
31  virtual ~PyDetectorWrapper() {}
32 
33  // *** GETTERS and SETTERS *** //
34  // ***************************** //
35  inline double getAccuracy()
36  {return detector.cfg_device_accuracy_m;}
37  inline void setAccuracy(double accuracy)
38  {detector.cfg_device_accuracy_m = accuracy;}
39  inline double getRangeMin()
40  {return detector.cfg_device_rangeMin_m;}
41  inline void setRangeMin(double rangeMin)
42  {detector.cfg_device_rangeMin_m = rangeMin;}
43  inline double getLasScale()
44  {return detector.lasScale;}
45  inline void setLasScale(double lasScale)
46  {detector.lasScale = lasScale;}
47 };
48 
49 }
50 
51 #endif
Definition: PyAABBWrapper.h:7
+
Base abstract class for detectors.
Definition: AbstractDetector.h:22
+
Wrapper for AbstractDetector class.
Definition: PyDetectorWrapper.h:18
diff --git a/doc/html/d0/dd2/PyScenePartWrapper_8h_source.html b/doc/html/d0/dd2/PyScenePartWrapper_8h_source.html index ac13c0e70..4c9f44956 100644 --- a/doc/html/d0/dd2/PyScenePartWrapper_8h_source.html +++ b/doc/html/d0/dd2/PyScenePartWrapper_8h_source.html @@ -90,14 +90,15 @@
PyScenePartWrapper.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <ScenePart.h>
6 
15 public:
16  // *** ATTRIBUTES *** //
17  // ******************** //
18  ScenePart &sp;
19 
20  // *** CONSTRUCTION / DESTRUCTION *** //
21  // ************************************ //
22  PyScenePartWrapper(ScenePart &sp) : sp(sp) {}
23  virtual ~PyScenePartWrapper() {}
24 
25  // *** GETTERS and SETTERS *** //
26  // ***************************** //
27  std::string getId() {return sp.mId;};
28  void setId(std::string id) {sp.mId = id;}
29  PythonDVec3 * getOrigin() {return new PythonDVec3(sp.mOrigin);}
30  void setOrigin(double x, double y, double z)
31  {sp.mOrigin = glm::dvec3(x, y, z);}
32  Rotation & getRotation() {return sp.mRotation;}
33  void setRotation(double x, double y, double z, double angle)
34  {sp.mRotation = Rotation(glm::dvec3(x, y, z), angle);}
35  double getScale() {return sp.mScale;}
36  void setScale(double scale) {sp.mScale = scale;}
37 };
38 
39 #endif
Definition: Rotation.h:80
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <ScenePart.h>
6 
7 namespace pyhelios{
8 
17 public:
18  // *** ATTRIBUTES *** //
19  // ******************** //
20  ScenePart &sp;
21 
22  // *** CONSTRUCTION / DESTRUCTION *** //
23  // ************************************ //
24  PyScenePartWrapper(ScenePart &sp) : sp(sp) {}
25  virtual ~PyScenePartWrapper() {}
26 
27  // *** GETTERS and SETTERS *** //
28  // ***************************** //
29  std::string getId() {return sp.mId;};
30  void setId(std::string id) {sp.mId = id;}
31  PythonDVec3 * getOrigin() {return new PythonDVec3(sp.mOrigin);}
32  void setOrigin(double x, double y, double z)
33  {sp.mOrigin = glm::dvec3(x, y, z);}
34  Rotation & getRotation() {return sp.mRotation;}
35  void setRotation(double x, double y, double z, double angle)
36  {sp.mRotation = Rotation(glm::dvec3(x, y, z), angle);}
37  double getScale() {return sp.mScale;}
38  void setScale(double scale) {sp.mScale = scale;}
39 };
40 
41 }
42 
43 #endif
Definition: Rotation.h:81
+
Wrapper for ScenePart class.
Definition: PyScenePartWrapper.h:16
Rotation mRotation
Specify the rotation for the scene part.
Definition: ScenePart.h:85
-
Wrapper for ScenePart class.
Definition: PyScenePartWrapper.h:14
+
Definition: PyAABBWrapper.h:7
double mScale
Specify the scale for the scene part.
Definition: ScenePart.h:89
Class representing a scene part.
Definition: ScenePart.h:17
glm::dvec3 mOrigin
Specify the origin for the scene part.
Definition: ScenePart.h:81
std::string mId
Identifier for the scene part.
Definition: ScenePart.h:44
-
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:14
+
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:16
diff --git a/doc/html/d0/dd5/classpyhelios_1_1PyHeliosOutputWrapper__coll__graph.map b/doc/html/d0/dd5/classpyhelios_1_1PyHeliosOutputWrapper__coll__graph.map new file mode 100644 index 000000000..31cb438a9 --- /dev/null +++ b/doc/html/d0/dd5/classpyhelios_1_1PyHeliosOutputWrapper__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/html/d0/dd5/classpyhelios_1_1PyHeliosOutputWrapper__coll__graph.md5 b/doc/html/d0/dd5/classpyhelios_1_1PyHeliosOutputWrapper__coll__graph.md5 new file mode 100644 index 000000000..88bf63f08 --- /dev/null +++ b/doc/html/d0/dd5/classpyhelios_1_1PyHeliosOutputWrapper__coll__graph.md5 @@ -0,0 +1 @@ +4e0e98c82ca90b9838c0cc4be3b6b247 \ No newline at end of file diff --git a/doc/html/d0/dd5/classpyhelios_1_1PyHeliosOutputWrapper__coll__graph.png b/doc/html/d0/dd5/classpyhelios_1_1PyHeliosOutputWrapper__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..98c8de64e568e38b70c41dddaf71043e395784a4 GIT binary patch literal 10332 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%0A7_ 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 Y{`i89EkY$QE(lS2t}a(0^D^YW09fZ`V*mgE literal 0 HcmV?d00001 diff --git a/doc/html/d1/d2f/classpyhelios_1_1PyDetectorWrapper__coll__graph.map b/doc/html/d1/d2f/classpyhelios_1_1PyDetectorWrapper__coll__graph.map new file mode 100644 index 000000000..7581d0ab9 --- /dev/null +++ b/doc/html/d1/d2f/classpyhelios_1_1PyDetectorWrapper__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/d1/d2f/classpyhelios_1_1PyDetectorWrapper__coll__graph.md5 b/doc/html/d1/d2f/classpyhelios_1_1PyDetectorWrapper__coll__graph.md5 new file mode 100644 index 000000000..528b700f3 --- /dev/null +++ b/doc/html/d1/d2f/classpyhelios_1_1PyDetectorWrapper__coll__graph.md5 @@ -0,0 +1 @@ +1ffdbcae5ff1ab9852d756433f664e8b \ No newline at end of file diff --git a/doc/html/d1/d2f/classpyhelios_1_1PyDetectorWrapper__coll__graph.png b/doc/html/d1/d2f/classpyhelios_1_1PyDetectorWrapper__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..17b0310d2da2d192f57583366bbfdf706e6365c5 GIT binary patch literal 8999 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 + + + + + + +Helios++: pyhelios::PyTrajectoryWrapper Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyTrajectoryWrapper Class Reference
+
+
+ +

Wrapper for Trajectory class. + More...

+ +

#include <PyTrajectoryWrapper.h>

+
+Collaboration diagram for pyhelios::PyTrajectoryWrapper:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PyTrajectoryWrapper (Trajectory &t)
 
+long getGpsTime ()
 
+void setGpsTime (long gpsTime)
 
+PythonDVec3getPosition ()
 
+void setPosition (double x, double y, double z)
 
+double getRoll ()
 
+void setRoll (double roll)
 
+double getPitch ()
 
+void setPitch (double pitch)
 
+double getYaw ()
 
+void setYaw (double yaw)
 
+ + + +

+Public Attributes

+Trajectoryt
 
+

Detailed Description

+

Wrapper for Trajectory class.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+
See also
Trajectory
+
+PyTrajectoryVectorWrapper
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/d1/d2f/classpyhelios_1_1PyTrajectoryWrapper.js b/doc/html/d1/d2f/classpyhelios_1_1PyTrajectoryWrapper.js new file mode 100644 index 000000000..7ccfad1c6 --- /dev/null +++ b/doc/html/d1/d2f/classpyhelios_1_1PyTrajectoryWrapper.js @@ -0,0 +1,16 @@ +var classpyhelios_1_1PyTrajectoryWrapper = +[ + [ "PyTrajectoryWrapper", "d1/d2f/classpyhelios_1_1PyTrajectoryWrapper.html#a3a9436e4d5ba90b3f70d803e54d1289a", null ], + [ "~PyTrajectoryWrapper", "d1/d2f/classpyhelios_1_1PyTrajectoryWrapper.html#a5735e959b621438010b9e3ccbc3e5d8e", null ], + [ "getGpsTime", "d1/d2f/classpyhelios_1_1PyTrajectoryWrapper.html#a77f6367874d3f04490d597ac85d135ea", null ], + [ "getPitch", "d1/d2f/classpyhelios_1_1PyTrajectoryWrapper.html#af4edf97e9ac15cb5098a00926785bf50", null ], + [ "getPosition", "d1/d2f/classpyhelios_1_1PyTrajectoryWrapper.html#a07d5d84bcee45b8c0f144da0ee024c29", null ], + [ "getRoll", "d1/d2f/classpyhelios_1_1PyTrajectoryWrapper.html#a94c5ed0cfd8dcb53a33bbde70e5b259a", null ], + [ "getYaw", "d1/d2f/classpyhelios_1_1PyTrajectoryWrapper.html#a316d72d1d2236f6de9b62cd0334f83d0", null ], + [ "setGpsTime", "d1/d2f/classpyhelios_1_1PyTrajectoryWrapper.html#a39fb03c3ecbf3ed83531993b67379fc4", null ], + [ "setPitch", "d1/d2f/classpyhelios_1_1PyTrajectoryWrapper.html#a930c953a433edc7dad9cae25bd20969e", null ], + [ "setPosition", "d1/d2f/classpyhelios_1_1PyTrajectoryWrapper.html#a30fc09f102618c001efd3a14f4a899ff", null ], + [ "setRoll", "d1/d2f/classpyhelios_1_1PyTrajectoryWrapper.html#adb790a6bd5b32aad2e06f027352cd5a7", null ], + [ "setYaw", "d1/d2f/classpyhelios_1_1PyTrajectoryWrapper.html#a9ba063b438ba2cda5f7f5e7b2a06d9de", null ], + [ "t", "d1/d2f/classpyhelios_1_1PyTrajectoryWrapper.html#ab28cf437172b50f361bd7a3e089b108f", null ] +]; \ No newline at end of file diff --git a/doc/html/d1/d2f/classpyhelios_1_1PyTriangleWrapper-members.html b/doc/html/d1/d2f/classpyhelios_1_1PyTriangleWrapper-members.html new file mode 100644 index 000000000..80d57c981 --- /dev/null +++ b/doc/html/d1/d2f/classpyhelios_1_1PyTriangleWrapper-members.html @@ -0,0 +1,123 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyTriangleWrapper Member List
+
+
+ +

This is the complete list of members for pyhelios::PyTriangleWrapper, including all inherited members.

+ + + + + + + + + + + + + + + + + +
getAABB() (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getCentroid() (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getFaceNormal() (defined in pyhelios::PyTriangleWrapper)pyhelios::PyTriangleWrapperinline
getIncidenceAngle(double ox, double oy, double oz, double dx, double dy, double dz, double px, double py, double pz) (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getMaterial() (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getNumVertices() (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getRayIntersection(double ox, double oy, double oz, double dx, double dy, double dz) (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getRayIntersectionDistance(double ox, double oy, double oz, double dx, double dy, double dz) (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getScenePart() (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getVertex(size_t index) (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
prim (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapper
PyPrimitiveWrapper(Primitive *prim) (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
PyTriangleWrapper(Triangle *tri) (defined in pyhelios::PyTriangleWrapper)pyhelios::PyTriangleWrapperinline
update() (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
~PyPrimitiveWrapper()=default (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrappervirtual
~PyTriangleWrapper()=default (defined in pyhelios::PyTriangleWrapper)pyhelios::PyTriangleWrappervirtual
+
+ + + + diff --git a/doc/html/d1/d53/PyMeasurementWrapper_8h_source.html b/doc/html/d1/d53/PyMeasurementWrapper_8h_source.html index a3cbf45ec..31a37c15b 100644 --- a/doc/html/d1/d53/PyMeasurementWrapper_8h_source.html +++ b/doc/html/d1/d53/PyMeasurementWrapper_8h_source.html @@ -90,21 +90,22 @@
PyMeasurementWrapper.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <Measurement.h>
6 #include <PythonDVec3.h>
7 
16 public:
17  // *** ATTRIBUTES *** //
18  // ******************** //
19  Measurement &m;
20 
21  // *** CONSTRUCTION / DESTRUCTION *** //
22  // ************************************ //
23  PyMeasurementWrapper(Measurement &m) : m(m) {}
24  virtual ~PyMeasurementWrapper() {}
25 
26  // *** GETTERS and SETTERS *** //
27  // ***************************** //
28  std::string getHitObjectId() {return m.hitObjectId;}
29  void setHitObjectId(std::string const hitObjectId)
30  {m.hitObjectId = hitObjectId;}
31  PythonDVec3 *getPosition() {return new PythonDVec3(m.position);}
32  void setPosition(double x, double y, double z)
33  {m.position = glm::dvec3(x, y, z);}
34  PythonDVec3 *getBeamDirection() {return new PythonDVec3(m.beamDirection);}
35  void setBeamDirection(double x, double y, double z)
36  {m.beamDirection = glm::dvec3(x, y, z);}
37  PythonDVec3 *getBeamOrigin() {return new PythonDVec3(m.beamOrigin);}
38  void setBeamOrigin(double x, double y, double z)
39  {m.beamOrigin = glm::dvec3(x, y, z);}
40  double getDistance() {return m.distance;}
41  void setDistance(double distance) {m.distance = distance;}
42  double getIntensity() {return m.intensity;}
43  void setIntensity(double intensity) {m.intensity = intensity;}
44  double getEchoWidth() {return m.echo_width;}
45  void setEchoWidth(double echoWidth) {m.echo_width = echoWidth;}
46  int getReturnNumber() {return m.returnNumber;}
47  void setReturnNumber(int returnNumber) {m.returnNumber = returnNumber;}
48  int getPulseReturnNumber() {return m.pulseReturnNumber;}
49  void setPulseReturnNumber(double pulseReturnNumber)
50  {m.pulseReturnNumber = pulseReturnNumber;}
51  int getFullwaveIndex() {return m.fullwaveIndex;}
52  void setFullwaveIndex(int fullwaveIndex) {m.fullwaveIndex = fullwaveIndex;}
53  int getClassification() {return m.classification;}
54  void setClassification(int classification)
55  {m.classification = classification;}
56  long getGpsTime() {return m.gpsTime;}
57  void setGpsTime(long gpsTime) {m.gpsTime = gpsTime;}
58 };
59 
60 #endif
glm::dvec3 beamDirection
Beam director vector.
Definition: Measurement.h:28
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <Measurement.h>
6 #include <PythonDVec3.h>
7 
8 namespace pyhelios{
9 
18 public:
19  // *** ATTRIBUTES *** //
20  // ******************** //
21  Measurement &m;
22 
23  // *** CONSTRUCTION / DESTRUCTION *** //
24  // ************************************ //
25  PyMeasurementWrapper(Measurement &m) : m(m) {}
26  virtual ~PyMeasurementWrapper() {}
27 
28  // *** GETTERS and SETTERS *** //
29  // ***************************** //
30  std::string getHitObjectId() {return m.hitObjectId;}
31  void setHitObjectId(std::string const hitObjectId)
32  {m.hitObjectId = hitObjectId;}
33  PythonDVec3 *getPosition() {return new PythonDVec3(m.position);}
34  void setPosition(double x, double y, double z)
35  {m.position = glm::dvec3(x, y, z);}
36  PythonDVec3 *getBeamDirection() {return new PythonDVec3(m.beamDirection);}
37  void setBeamDirection(double x, double y, double z)
38  {m.beamDirection = glm::dvec3(x, y, z);}
39  PythonDVec3 *getBeamOrigin() {return new PythonDVec3(m.beamOrigin);}
40  void setBeamOrigin(double x, double y, double z)
41  {m.beamOrigin = glm::dvec3(x, y, z);}
42  double getDistance() {return m.distance;}
43  void setDistance(double distance) {m.distance = distance;}
44  double getIntensity() {return m.intensity;}
45  void setIntensity(double intensity) {m.intensity = intensity;}
46  double getEchoWidth() {return m.echo_width;}
47  void setEchoWidth(double echoWidth) {m.echo_width = echoWidth;}
48  int getReturnNumber() {return m.returnNumber;}
49  void setReturnNumber(int returnNumber) {m.returnNumber = returnNumber;}
50  int getPulseReturnNumber() {return m.pulseReturnNumber;}
51  void setPulseReturnNumber(double pulseReturnNumber)
52  {m.pulseReturnNumber = pulseReturnNumber;}
53  int getFullwaveIndex() {return m.fullwaveIndex;}
54  void setFullwaveIndex(int fullwaveIndex) {m.fullwaveIndex = fullwaveIndex;}
55  int getClassification() {return m.classification;}
56  void setClassification(int classification)
57  {m.classification = classification;}
58  long getGpsTime() {return m.gpsTime;}
59  void setGpsTime(long gpsTime) {m.gpsTime = gpsTime;}
60 };
61 
62 }
63 
64 #endif
glm::dvec3 beamDirection
Beam director vector.
Definition: Measurement.h:28
std::string hitObjectId
ID of hit object.
Definition: Measurement.h:20
long gpsTime
Measurement GPS time.
Definition: Measurement.h:64
+
Wrapper for Measurement class.
Definition: PyMeasurementWrapper.h:17
int fullwaveIndex
Full wave index.
Definition: Measurement.h:56
+
Definition: PyAABBWrapper.h:7
Class representing a measurement.
Definition: Measurement.h:12
int pulseReturnNumber
Pulse return number.
Definition: Measurement.h:52
glm::dvec3 position
Definition: Measurement.h:24
-
Wrapper for Measurement class.
Definition: PyMeasurementWrapper.h:15
int classification
Point class.
Definition: Measurement.h:60
double intensity
Point intensity.
Definition: Measurement.h:40
double echo_width
Echo width.
Definition: Measurement.h:44
int returnNumber
Measurement return number.
Definition: Measurement.h:48
double distance
Intersection distance.
Definition: Measurement.h:36
glm::dvec3 beamOrigin
Beam origin.
Definition: Measurement.h:32
-
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:14
+
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:16
diff --git a/doc/html/d1/d65/classpyhelios_1_1PyHeliosOutputWrapper.html b/doc/html/d1/d65/classpyhelios_1_1PyHeliosOutputWrapper.html new file mode 100644 index 000000000..ecd68d56a --- /dev/null +++ b/doc/html/d1/d65/classpyhelios_1_1PyHeliosOutputWrapper.html @@ -0,0 +1,155 @@ + + + + + + + +Helios++: pyhelios::PyHeliosOutputWrapper Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyHeliosOutputWrapper Class Reference
+
+
+ +

Python wrapper for helios output. + More...

+ +

#include <PyHeliosOutputWrapper.h>

+
+Collaboration diagram for pyhelios::PyHeliosOutputWrapper:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + +

+Public Member Functions

PyHeliosOutputWrapper (std::shared_ptr< std::vector< Measurement >> measurements, std::shared_ptr< std::vector< Trajectory >> trajectories, bool finished)
 
PyHeliosOutputWrapper (std::vector< Measurement > &measurements, std::vector< Trajectory > &trajectories, bool finished)
 
+ + + + + + + +

+Public Attributes

+PyMeasurementVectorWrapper measurements
 
+PyTrajectoryVectorWrapper trajectories
 
+bool finished
 
+

Detailed Description

+

Python wrapper for helios output.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+
See also
PyMeasurementVectorWrapper
+
+PyTrajectoryVectorWrapper
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/d1/d65/classpyhelios_1_1PyHeliosOutputWrapper.js b/doc/html/d1/d65/classpyhelios_1_1PyHeliosOutputWrapper.js new file mode 100644 index 000000000..8b4a9a0af --- /dev/null +++ b/doc/html/d1/d65/classpyhelios_1_1PyHeliosOutputWrapper.js @@ -0,0 +1,9 @@ +var classpyhelios_1_1PyHeliosOutputWrapper = +[ + [ "PyHeliosOutputWrapper", "d1/d65/classpyhelios_1_1PyHeliosOutputWrapper.html#a066cbe308f959266bebcd96ac32412e9", null ], + [ "PyHeliosOutputWrapper", "d1/d65/classpyhelios_1_1PyHeliosOutputWrapper.html#a97105f4c9d16cda2554d1fd7b2d4598e", null ], + [ "~PyHeliosOutputWrapper", "d1/d65/classpyhelios_1_1PyHeliosOutputWrapper.html#a92ab33a9816cd4569cbb3684f8bc1d3d", null ], + [ "finished", "d1/d65/classpyhelios_1_1PyHeliosOutputWrapper.html#ad8418db702f158424562e0a381a15b06", null ], + [ "measurements", "d1/d65/classpyhelios_1_1PyHeliosOutputWrapper.html#a14ee051f72f69d4442b2e58696c65d40", null ], + [ "trajectories", "d1/d65/classpyhelios_1_1PyHeliosOutputWrapper.html#a8e3a1a210e06ea149a73d8c14ecdbbe0", null ] +]; \ No newline at end of file diff --git a/doc/html/d1/d94/PyHeliosSimulation_8h_source.html b/doc/html/d1/d94/PyHeliosSimulation_8h_source.html index edf29f6e1..9d0525b29 100644 --- a/doc/html/d1/d94/PyHeliosSimulation_8h_source.html +++ b/doc/html/d1/d94/PyHeliosSimulation_8h_source.html @@ -90,40 +90,41 @@
PyHeliosSimulation.h
-
1 #pragma once
2 #ifdef PYTHON_BINDING
3 
4 #include <string>
5 #include <Leg.h>
6 #include <SurveyPlayback.h>
7 #include <memory>
8 #include <noise/RandomnessGenerator.h>
9 #include <PyPlatformWrapper.h>
10 #include <PySceneWrapper.h>
11 #include <PyHeliosOutputWrapper.h>
12 #include <PyHeliosException.h>
13 #include <XmlSurveyLoader.h>
14 
22 private:
23  // *** ATTRIBUTES *** //
24  // ******************** //
25  std::shared_ptr<XmlSurveyLoader> xmlreader = nullptr;
26  bool started = false;
27  bool paused = false;
28  bool stopped = false;
29  bool finished = false;
30  size_t numThreads = 0;
31  size_t simFrequency = 0;
32  std::string surveyPath = "NULL";
33  std::string assetsPath = "NULL";
34  std::string outputPath = "NULL";
35  std::shared_ptr<Survey> survey = nullptr;
36  std::shared_ptr<SurveyPlayback> playback = nullptr;
37  boost::thread * thread = nullptr;
38  std::shared_ptr<PySimulationCycleCallback> callback = nullptr;
39  bool lasOutput = false;
40  bool las10 = false;
41  bool zipOutput = false;
42 public:
43  bool finalOutput = true;
44  bool exportToFile = true;
45 
46  // *** CONSTRUCTION / DESTRUCTION *** //
47  // ************************************ //
48  PyHeliosSimulation() = default;
59  std::string surveyPath,
60  std::string assetsPath = "assets/",
61  std::string outputPath = "output/",
62  size_t numThreads = 0,
63  bool lasOutput = false,
64  bool las10 = false,
65  bool zipOutput = false
66  );
67  virtual ~PyHeliosSimulation();
68 
69  // *** GETTERS and SETTERS *** //
70  // ***************************** //
76  bool isStarted() {return started;}
82  bool isPaused() {return paused;}
88  bool isStopped() {return stopped;}
94  bool isFinished();
100  bool isRunning();
106  std::string getSurveyPath() {return surveyPath;}
112  std::string getAssetsPath() {return assetsPath;}
113 
119  Survey & getSurvey() {return *survey;}
125  Scanner & getScanner() {return *survey->scanner;}
132  {return new PyPlatformWrapper(*survey->scanner->platform);}
133  PySceneWrapper * getScene()
134  {return new PySceneWrapper(*survey->scanner->platform->scene);}
140  int getNumLegs() {return survey->legs.size();}
146  Leg & getLeg(int index) {return *(survey->legs[index]);}
152  void removeLeg(int index)
153  {survey->legs.erase(survey->legs.begin() + index);}
159  Leg & newLeg(int index);
165  size_t getSimFrequency() {return simFrequency;}
171  size_t getNumThreads() {return this->numThreads;}
175  void setNumThreads(size_t numThreads) {this->numThreads = numThreads;}
179  void setSimFrequency(size_t simFrequency)
180  {this->simFrequency = simFrequency;}
184  void setCallback(PyObject * pyCallback);
189  playback->callback = nullptr;
190  survey->scanner->cycleMeasurements = nullptr;
191  survey->scanner->cycleMeasurementsMutex = nullptr;
192  }
193  double getLasOutput(){return lasOutput;}
194  void setLasOutput(double lasOutput_){
195  if(started) throw PyHeliosException(
196  "Cannot modify LAS output flag for already started simulations."
197  );
198  this->lasOutput = lasOutput_;
199  }
200 
201  double getLas10(){return las10;}
202  void setLas10(double las10_){
203  if(started) throw PyHeliosException(
204  "Cannot modify LAS v1.0 output flag for already started simulations."
205  );
206  this->las10 = las10_;
207  }
208 
209  double getZipOutput(){return zipOutput;}
210  void setZipOutput(bool zipOutput_){
211  if(started) throw PyHeliosException(
212  "Cannot modify ZIP output flag for already started simulations."
213  );
214  this->zipOutput = zipOutput_;
215  }
216 
217  // *** CONTROL FUNCTIONS *** //
218  // *************************** //
223  void start();
228  void pause();
233  void stop();
238  void resume();
243 
244  // *** SIMULATION CONFIGURATION FUNCTIONS *** //
245  // ******************************************** //
255  void loadSurvey(
256  bool legNoiseDisabled = false,
257  bool rebuildScene = false,
258  bool writeWaveform = false,
259  bool calcEchowidth = false,
260  bool fullWaveNoise = false,
261  bool platformNoiseDisabled = true
262  );
263  void addRotateFilter(
264  double q0,
265  double q1,
266  double q2,
267  double q3,
268  std::string partId
269  );
270  void addScaleFilter(double scaleFactor, std::string partId);
271  void addTranslateFilter(double x, double y, double z, std::string partId);
272 
273  // *** SIMULATION COPY *** //
274  // ************************* //
275  PyHeliosSimulation * copy();
276 };
277 
278 #endif
void start()
Start the simulation if possible. Otherwise, PyHeliosException will be thrown.
Definition: PyHeliosSimulation.cpp:51
-
std::string getSurveyPath()
Obtain the survey path used by the simulation.
Definition: PyHeliosSimulation.h:106
-
bool isRunning()
Check if the simulation is running or not.
Definition: PyHeliosSimulation.cpp:144
-
Leg & getLeg(int index)
Obtain leg at given index.
Definition: PyHeliosSimulation.h:146
-
bool isFinished()
Check if the simulation has finished or not.
Definition: PyHeliosSimulation.cpp:140
-
Definition: PyHeliosException.h:12
-
PyPlatformWrapper * getPlatform()
Obtain the platform used by the simulation.
Definition: PyHeliosSimulation.h:131
-
Leg & newLeg(int index)
Create a new empty leg.
Definition: PyHeliosSimulation.cpp:37
-
bool isPaused()
Check if the simulation has been paused or not.
Definition: PyHeliosSimulation.h:82
-
PyHeliosOutputWrapper * join()
Cause caller thread to wait until simulation has finished.
Definition: PyHeliosSimulation.cpp:149
-
Definition: PyHeliosSimulation.h:21
-
void setSimFrequency(size_t simFrequency)
Set the simulation frequency.
Definition: PyHeliosSimulation.h:179
-
size_t getNumThreads()
Obtain the number of threads.
Definition: PyHeliosSimulation.h:171
-
bool isStopped()
Check if the simulation has been stopped or not.
Definition: PyHeliosSimulation.h:88
-
Scanner & getScanner()
Obtain the scanner used by the simulation.
Definition: PyHeliosSimulation.h:125
-
void loadSurvey(bool legNoiseDisabled=false, bool rebuildScene=false, bool writeWaveform=false, bool calcEchowidth=false, bool fullWaveNoise=false, bool platformNoiseDisabled=true)
Load a survey XML file.
Definition: PyHeliosSimulation.cpp:191
-
std::string getAssetsPath()
Obtain the path to assets directory used by the simulation.
Definition: PyHeliosSimulation.h:112
-
size_t getSimFrequency()
Obtain simulation frequency.
Definition: PyHeliosSimulation.h:165
-
void setCallback(PyObject *pyCallback)
Set the simulation callback to specified python object functor.
Definition: PyHeliosSimulation.cpp:262
-
Class representing a scanner asset.
Definition: Scanner.h:31
+
1 #pragma once
2 #ifdef PYTHON_BINDING
3 
4 #include <string>
5 #include <Leg.h>
6 #include <SurveyPlayback.h>
7 #include <memory>
8 #include <noise/RandomnessGenerator.h>
9 #include <PyPlatformWrapper.h>
10 #include <PySceneWrapper.h>
11 #include <PyHeliosOutputWrapper.h>
12 #include <PyHeliosException.h>
13 #include <XmlSurveyLoader.h>
14 
15 namespace pyhelios{
16 
24 private:
25  // *** ATTRIBUTES *** //
26  // ******************** //
27  std::shared_ptr<XmlSurveyLoader> xmlreader = nullptr;
28  bool started = false;
29  bool paused = false;
30  bool stopped = false;
31  bool finished = false;
32  size_t numThreads = 0;
33  size_t simFrequency = 0;
34  std::string surveyPath = "NULL";
35  std::string assetsPath = "NULL";
36  std::string outputPath = "NULL";
37  std::shared_ptr<Survey> survey = nullptr;
38  std::shared_ptr<SurveyPlayback> playback = nullptr;
39  boost::thread * thread = nullptr;
40  std::shared_ptr<PySimulationCycleCallback> callback = nullptr;
41  bool lasOutput = false;
42  bool las10 = false;
43  bool zipOutput = false;
44 public:
45  bool finalOutput = true;
46  bool exportToFile = true;
47 
48  // *** CONSTRUCTION / DESTRUCTION *** //
49  // ************************************ //
50  PyHeliosSimulation() = default;
61  std::string surveyPath,
62  std::string assetsPath = "assets/",
63  std::string outputPath = "output/",
64  size_t numThreads = 0,
65  bool lasOutput = false,
66  bool las10 = false,
67  bool zipOutput = false
68  );
69  virtual ~PyHeliosSimulation();
70 
71  // *** GETTERS and SETTERS *** //
72  // ***************************** //
78  bool isStarted() {return started;}
84  bool isPaused() {return paused;}
90  bool isStopped() {return stopped;}
96  bool isFinished();
102  bool isRunning();
108  std::string getSurveyPath() {return surveyPath;}
114  std::string getAssetsPath() {return assetsPath;}
115 
121  Survey & getSurvey() {return *survey;}
127  Scanner & getScanner() {return *survey->scanner;}
134  {return new PyPlatformWrapper(*survey->scanner->platform);}
135  PySceneWrapper * getScene()
136  {return new PySceneWrapper(*survey->scanner->platform->scene);}
142  int getNumLegs() {return survey->legs.size();}
148  Leg & getLeg(int index) {return *(survey->legs[index]);}
154  void removeLeg(int index)
155  {survey->legs.erase(survey->legs.begin() + index);}
161  Leg & newLeg(int index);
167  size_t getSimFrequency() {return simFrequency;}
173  size_t getNumThreads() {return this->numThreads;}
177  void setNumThreads(size_t numThreads) {this->numThreads = numThreads;}
181  void setSimFrequency(size_t simFrequency)
182  {this->simFrequency = simFrequency;}
186  void setCallback(PyObject * pyCallback);
191  playback->callback = nullptr;
192  survey->scanner->cycleMeasurements = nullptr;
193  survey->scanner->cycleMeasurementsMutex = nullptr;
194  }
195  double getLasOutput(){return lasOutput;}
196  void setLasOutput(double lasOutput_){
197  if(started) throw PyHeliosException(
198  "Cannot modify LAS output flag for already started simulations."
199  );
200  this->lasOutput = lasOutput_;
201  }
202 
203  double getLas10(){return las10;}
204  void setLas10(double las10_){
205  if(started) throw PyHeliosException(
206  "Cannot modify LAS v1.0 output flag for already started simulations."
207  );
208  this->las10 = las10_;
209  }
210 
211  double getZipOutput(){return zipOutput;}
212  void setZipOutput(bool zipOutput_){
213  if(started) throw PyHeliosException(
214  "Cannot modify ZIP output flag for already started simulations."
215  );
216  this->zipOutput = zipOutput_;
217  }
218 
219  // *** CONTROL FUNCTIONS *** //
220  // *************************** //
225  void start();
230  void pause();
235  void stop();
240  void resume();
245 
246  // *** SIMULATION CONFIGURATION FUNCTIONS *** //
247  // ******************************************** //
257  void loadSurvey(
258  bool legNoiseDisabled = false,
259  bool rebuildScene = false,
260  bool writeWaveform = false,
261  bool calcEchowidth = false,
262  bool fullWaveNoise = false,
263  bool platformNoiseDisabled = true
264  );
265  void addRotateFilter(
266  double q0,
267  double q1,
268  double q2,
269  double q3,
270  std::string partId
271  );
272  void addScaleFilter(double scaleFactor, std::string partId);
273  void addTranslateFilter(double x, double y, double z, std::string partId);
274 
275  // *** SIMULATION COPY *** //
276  // ************************* //
277  PyHeliosSimulation * copy();
278 };
279 
280 }
281 
282 #endif
std::string getAssetsPath()
Obtain the path to assets directory used by the simulation.
Definition: PyHeliosSimulation.h:114
+
Scanner & getScanner()
Obtain the scanner used by the simulation.
Definition: PyHeliosSimulation.h:127
+
void clearCallback()
Clear simulation callback so it will no longer be invoked.
Definition: PyHeliosSimulation.h:190
+
void pause()
Pause the simulation if possible. Otherwise, PyHeliosException will be thrown.
Definition: PyHeliosSimulation.cpp:93
+
void resume()
Resume the simulation if possible. Otherwise, PyHeliosException will be thrown.
Definition: PyHeliosSimulation.cpp:123
+
Leg & newLeg(int index)
Create a new empty leg.
Definition: PyHeliosSimulation.cpp:40
+
PyPlatformWrapper * getPlatform()
Obtain the platform used by the simulation.
Definition: PyHeliosSimulation.h:133
+
Survey & getSurvey()
Obtain the survey used by the simulation.
Definition: PyHeliosSimulation.h:121
+
Definition: PyHeliosSimulation.h:23
+
Leg & getLeg(int index)
Obtain leg at given index.
Definition: PyHeliosSimulation.h:148
+
Python wrapper for helios output.
Definition: PyHeliosOutputWrapper.h:18
+
Definition: PyAABBWrapper.h:7
+
void start()
Start the simulation if possible. Otherwise, PyHeliosException will be thrown.
Definition: PyHeliosSimulation.cpp:54
+
bool isStarted()
Check if the simulation has been started or not.
Definition: PyHeliosSimulation.h:78
+
Wrapper for Scene.
Definition: PySceneWrapper.h:24
+
Class representing a scanner asset.
Definition: Scanner.h:38
+
PyHeliosOutputWrapper * join()
Cause caller thread to wait until simulation has finished.
Definition: PyHeliosSimulation.cpp:152
Class representing a Helios++ survey.
Definition: Survey.h:11
-
bool isStarted()
Check if the simulation has been started or not.
Definition: PyHeliosSimulation.h:76
-
void pause()
Pause the simulation if possible. Otherwise, PyHeliosException will be thrown.
Definition: PyHeliosSimulation.cpp:90
-
void clearCallback()
Clear simulation callback so it will no longer be invoked.
Definition: PyHeliosSimulation.h:188
+
bool isFinished()
Check if the simulation has finished or not.
Definition: PyHeliosSimulation.cpp:143
+
void stop()
Stop the simulation if possible. Otherwise, PyHeliosException will be thrown.
Definition: PyHeliosSimulation.cpp:108
Class representing a survey leg.
Definition: Leg.h:11
-
void setNumThreads(size_t numThreads)
Set the number of threads.
Definition: PyHeliosSimulation.h:175
-
void stop()
Stop the simulation if possible. Otherwise, PyHeliosException will be thrown.
Definition: PyHeliosSimulation.cpp:105
-
void removeLeg(int index)
Remove leg at given index.
Definition: PyHeliosSimulation.h:152
-
Python wrapper for helios output.
Definition: PyHeliosOutputWrapper.h:16
-
int getNumLegs()
Obtain the number of legs.
Definition: PyHeliosSimulation.h:140
-
void resume()
Resume the simulation if possible. Otherwise, PyHeliosException will be thrown.
Definition: PyHeliosSimulation.cpp:120
-
Survey & getSurvey()
Obtain the survey used by the simulation.
Definition: PyHeliosSimulation.h:119
-
Wrapper for Platform class.
Definition: PyPlatformWrapper.h:12
-
Wrapper for Scene.
Definition: PySceneWrapper.h:22
+
Definition: PyHeliosException.h:15
+
void setCallback(PyObject *pyCallback)
Set the simulation callback to specified python object functor.
Definition: PyHeliosSimulation.cpp:265
+
size_t getSimFrequency()
Obtain simulation frequency.
Definition: PyHeliosSimulation.h:167
+
void setNumThreads(size_t numThreads)
Set the number of threads.
Definition: PyHeliosSimulation.h:177
+
void removeLeg(int index)
Remove leg at given index.
Definition: PyHeliosSimulation.h:154
+
size_t getNumThreads()
Obtain the number of threads.
Definition: PyHeliosSimulation.h:173
+
bool isRunning()
Check if the simulation is running or not.
Definition: PyHeliosSimulation.cpp:147
+
void loadSurvey(bool legNoiseDisabled=false, bool rebuildScene=false, bool writeWaveform=false, bool calcEchowidth=false, bool fullWaveNoise=false, bool platformNoiseDisabled=true)
Load a survey XML file.
Definition: PyHeliosSimulation.cpp:194
+
Wrapper for Platform class.
Definition: PyPlatformWrapper.h:14
+
std::string getSurveyPath()
Obtain the survey path used by the simulation.
Definition: PyHeliosSimulation.h:108
+
void setSimFrequency(size_t simFrequency)
Set the simulation frequency.
Definition: PyHeliosSimulation.h:181
+
bool isStopped()
Check if the simulation has been stopped or not.
Definition: PyHeliosSimulation.h:90
+
bool isPaused()
Check if the simulation has been paused or not.
Definition: PyHeliosSimulation.h:84
+
int getNumLegs()
Obtain the number of legs.
Definition: PyHeliosSimulation.h:142
diff --git a/doc/html/d1/dbf/classpyhelios_1_1PyTriangleWrapper.html b/doc/html/d1/dbf/classpyhelios_1_1PyTriangleWrapper.html new file mode 100644 index 000000000..c56854a97 --- /dev/null +++ b/doc/html/d1/dbf/classpyhelios_1_1PyTriangleWrapper.html @@ -0,0 +1,189 @@ + + + + + + + +Helios++: pyhelios::PyTriangleWrapper Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyTriangleWrapper Class Reference
+
+
+ +

Wrapper for Triangle class. + More...

+ +

#include <PyTriangleWrapper.h>

+
+Inheritance diagram for pyhelios::PyTriangleWrapper:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for pyhelios::PyTriangleWrapper:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PyTriangleWrapper (Triangle *tri)
 
+PythonDVec3getFaceNormal ()
 
- Public Member Functions inherited from pyhelios::PyPrimitiveWrapper
PyPrimitiveWrapper (Primitive *prim)
 
+PyScenePartWrappergetScenePart ()
 
+MaterialgetMaterial ()
 
+PyAABBWrappergetAABB ()
 
+PythonDVec3getCentroid ()
 
+double getIncidenceAngle (double ox, double oy, double oz, double dx, double dy, double dz, double px, double py, double pz)
 
+PyDoubleVectorgetRayIntersection (double ox, double oy, double oz, double dx, double dy, double dz)
 
+double getRayIntersectionDistance (double ox, double oy, double oz, double dx, double dy, double dz)
 
+size_t getNumVertices ()
 
+PyVertexWrappergetVertex (size_t index)
 
+void update ()
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from pyhelios::PyPrimitiveWrapper
+Primitiveprim = nullptr
 
+

Detailed Description

+

Wrapper for Triangle class.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+
See also
Triangle
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/d1/dbf/classpyhelios_1_1PyTriangleWrapper.js b/doc/html/d1/dbf/classpyhelios_1_1PyTriangleWrapper.js new file mode 100644 index 000000000..0f3194667 --- /dev/null +++ b/doc/html/d1/dbf/classpyhelios_1_1PyTriangleWrapper.js @@ -0,0 +1,6 @@ +var classpyhelios_1_1PyTriangleWrapper = +[ + [ "PyTriangleWrapper", "d1/dbf/classpyhelios_1_1PyTriangleWrapper.html#a2b5bd61bfcba1465dc3b0109491b0b47", null ], + [ "~PyTriangleWrapper", "d1/dbf/classpyhelios_1_1PyTriangleWrapper.html#aad33470362d64d07946285510cfce5af", null ], + [ "getFaceNormal", "d1/dbf/classpyhelios_1_1PyTriangleWrapper.html#a519ffaf42309bf39488326e2fed23c8f", null ] +]; \ No newline at end of file diff --git a/doc/html/d1/dd3/classpyhelios_1_1PySceneWrapper__coll__graph.map b/doc/html/d1/dd3/classpyhelios_1_1PySceneWrapper__coll__graph.map new file mode 100644 index 000000000..80f66e1eb --- /dev/null +++ b/doc/html/d1/dd3/classpyhelios_1_1PySceneWrapper__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/html/d1/dd3/classpyhelios_1_1PySceneWrapper__coll__graph.md5 b/doc/html/d1/dd3/classpyhelios_1_1PySceneWrapper__coll__graph.md5 new file mode 100644 index 000000000..b6ab5e80f --- /dev/null +++ b/doc/html/d1/dd3/classpyhelios_1_1PySceneWrapper__coll__graph.md5 @@ -0,0 +1 @@ +678a73240cca40eae33b1b100c3fb6b3 \ No newline at end of file diff --git a/doc/html/d1/dd3/classpyhelios_1_1PySceneWrapper__coll__graph.png b/doc/html/d1/dd3/classpyhelios_1_1PySceneWrapper__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..19780b56c66ad080056b03d426a3804c8829e551 GIT binary patch literal 9281 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 literal 0 HcmV?d00001 diff --git a/doc/html/d1/dd9/PyPlatformWrapper_8h_source.html b/doc/html/d1/dd9/PyPlatformWrapper_8h_source.html index e17376b93..42221ca06 100644 --- a/doc/html/d1/dd9/PyPlatformWrapper_8h_source.html +++ b/doc/html/d1/dd9/PyPlatformWrapper_8h_source.html @@ -90,23 +90,24 @@
PyPlatformWrapper.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyNoiseSourceWrapper.h>
6 
13 public:
14  // *** ATTRIBUTES *** //
15  // ******************** //
16  Platform &platform;
17 
18  // *** CONSTRUCTION / DESTRUCTION *** //
19  // ************************************ //
20  PyPlatformWrapper(Platform &platform) : platform(platform) {}
21 
22  virtual ~PyPlatformWrapper() = default;
23 
24  // *** GETTERS and SETTERS *** //
25  // ***************************** //
26  double getLastCheckZ() { return platform.lastCheckZ; }
27 
28  void setLastCheckZ(double checkZ) { platform.lastCheckZ = checkZ; }
29 
30  double getDmax() { return platform.dmax; }
31 
32  void setDmax(double dmax) { platform.dmax = dmax; }
33 
34  double getMovePerSec() { return platform.cfg_settings_movePerSec_m; }
35 
36  void setMovePerSec(double movePerSec) { platform.cfg_settings_movePerSec_m = movePerSec; }
37 
38  bool isOnGround() { return platform.onGround; }
39 
40  void setOnGround(bool onGround) { platform.onGround = onGround; }
41 
42  bool isStopAndTurn() { return platform.stopAndTurn; }
43 
44  void setStopAndTurn(bool stopAndTurn) { platform.stopAndTurn = stopAndTurn; }
45 
46  bool isSlowdownEnabled() { return platform.slowdownEnabled; }
47 
48  void setSlowdownEnabled(bool slowdownEnabled) { platform.slowdownEnabled = slowdownEnabled; }
49 
50  //double getYawAtDeparture() { return platform.yawAtDeparture; }
51 
52  //void setYawAtDeparture(double yawAtDeparture) { platform.yawAtDeparture = yawAtDeparture; }
53 
54  bool isSmoothTurn() { return platform.smoothTurn; }
55 
56  void setSmoothTurn(bool smoothTurn) { platform.smoothTurn = smoothTurn; }
57 
58  bool isOrientationOnLegInit() { return platform.mSetOrientationOnLegInit; }
59 
60  void setOrientationOnLegInit(bool setOrientationOnLegInit) { platform.mSetOrientationOnLegInit = setOrientationOnLegInit; }
61 
62  PyNoiseSourceWrapper *getPositionXNoiseSource() {
63  if (platform.positionXNoiseSource == nullptr) return nullptr;
64  return new PyNoiseSourceWrapper(*platform.positionXNoiseSource);
65  }
66 
67  PyNoiseSourceWrapper *getPositionYNoiseSource() {
68  if (platform.positionYNoiseSource == nullptr) return nullptr;
69  return new PyNoiseSourceWrapper(*platform.positionYNoiseSource);
70  }
71 
72  PyNoiseSourceWrapper *getPositionZNoiseSource() {
73  if (platform.positionZNoiseSource == nullptr) return nullptr;
74  return new PyNoiseSourceWrapper(*platform.positionZNoiseSource);
75  }
76 
77  PyNoiseSourceWrapper *getAttitudeXNoiseSource(){
78  if(platform.attitudeXNoiseSource == nullptr) return nullptr;
79  return new PyNoiseSourceWrapper(*platform.attitudeXNoiseSource);
80  }
81 
82  PyNoiseSourceWrapper *getAttitudeYNoiseSource(){
83  if(platform.attitudeYNoiseSource == nullptr) return nullptr;
84  return new PyNoiseSourceWrapper(*platform.attitudeYNoiseSource);
85  }
86 
87  PyNoiseSourceWrapper *getAttitudeZNoiseSource(){
88  if(platform.attitudeZNoiseSource == nullptr) return nullptr;
89  return new PyNoiseSourceWrapper(*platform.attitudeZNoiseSource);
90  }
91 
92  PythonDVec3 * getRelativePosition()
93  {return new PythonDVec3(&platform.cfg_device_relativeMountPosition);}
94  Rotation & getRelativeAttitude()
95  {return platform.cfg_device_relativeMountAttitude;}
96  PythonDVec3 * getLastGroundCheck()
97  {return new PythonDVec3(&platform.lastGroundCheck);}
98  PythonDVec3 * getNextWaypointPosition()
99  {return new PythonDVec3(&platform.targetWaypoint);}
100  PythonDVec3 * getPositionPython()
101  {return new PythonDVec3(&platform.position);}
102  Rotation & getAttitudePython()
103  {return platform.attitude;}
104  PythonDVec3 * getCachedAbsolutePosition()
105  {return new PythonDVec3(&platform.cached_absoluteMountPosition);}
106  Rotation & getCachedAbsoluteAttitude()
107  {return platform.cached_absoluteMountAttitude;}
108  PythonDVec3 * getCachedCurrentDir()
109  {return new PythonDVec3(&platform.cached_dir_current);}
110  PythonDVec3 * getCachedCurrentDirXY()
111  {return new PythonDVec3(&platform.cached_dir_current_xy);}
112  PythonDVec3 * getCachedVectorToTarget()
113  {return new PythonDVec3(&platform.cached_vectorToTarget);}
114  PythonDVec3 * getCachedVectorToTargetXY()
115  {return new PythonDVec3(&platform.cached_vectorToTarget_xy);}
116 };
117 
118 #endif
std::shared_ptr< NoiseSource< double > > positionZNoiseSource
Noise source for z component of platform position.
Definition: Platform.h:61
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyNoiseSourceWrapper.h>
6 
7 namespace pyhelios{
8 
15 public:
16  // *** ATTRIBUTES *** //
17  // ******************** //
18  Platform &platform;
19 
20  // *** CONSTRUCTION / DESTRUCTION *** //
21  // ************************************ //
22  PyPlatformWrapper(Platform &platform) : platform(platform) {}
23 
24  virtual ~PyPlatformWrapper() = default;
25 
26  // *** GETTERS and SETTERS *** //
27  // ***************************** //
28  double getLastCheckZ() { return platform.lastCheckZ; }
29 
30  void setLastCheckZ(double checkZ) { platform.lastCheckZ = checkZ; }
31 
32  double getDmax() { return platform.dmax; }
33 
34  void setDmax(double dmax) { platform.dmax = dmax; }
35 
36  double getMovePerSec() { return platform.cfg_settings_movePerSec_m; }
37 
38  void setMovePerSec(double movePerSec) { platform.cfg_settings_movePerSec_m = movePerSec; }
39 
40  bool isOnGround() { return platform.onGround; }
41 
42  void setOnGround(bool onGround) { platform.onGround = onGround; }
43 
44  bool isStopAndTurn() { return platform.stopAndTurn; }
45 
46  void setStopAndTurn(bool stopAndTurn) { platform.stopAndTurn = stopAndTurn; }
47 
48  bool isSlowdownEnabled() { return platform.slowdownEnabled; }
49 
50  void setSlowdownEnabled(bool slowdownEnabled) { platform.slowdownEnabled = slowdownEnabled; }
51 
52  //double getYawAtDeparture() { return platform.yawAtDeparture; }
53 
54  //void setYawAtDeparture(double yawAtDeparture) { platform.yawAtDeparture = yawAtDeparture; }
55 
56  bool isSmoothTurn() { return platform.smoothTurn; }
57 
58  void setSmoothTurn(bool smoothTurn) { platform.smoothTurn = smoothTurn; }
59 
60  bool isOrientationOnLegInit() { return platform.mSetOrientationOnLegInit; }
61 
62  void setOrientationOnLegInit(bool setOrientationOnLegInit) { platform.mSetOrientationOnLegInit = setOrientationOnLegInit; }
63 
64  PyNoiseSourceWrapper *getPositionXNoiseSource() {
65  if (platform.positionXNoiseSource == nullptr) return nullptr;
66  return new PyNoiseSourceWrapper(*platform.positionXNoiseSource);
67  }
68 
69  PyNoiseSourceWrapper *getPositionYNoiseSource() {
70  if (platform.positionYNoiseSource == nullptr) return nullptr;
71  return new PyNoiseSourceWrapper(*platform.positionYNoiseSource);
72  }
73 
74  PyNoiseSourceWrapper *getPositionZNoiseSource() {
75  if (platform.positionZNoiseSource == nullptr) return nullptr;
76  return new PyNoiseSourceWrapper(*platform.positionZNoiseSource);
77  }
78 
79  PyNoiseSourceWrapper *getAttitudeXNoiseSource(){
80  if(platform.attitudeXNoiseSource == nullptr) return nullptr;
81  return new PyNoiseSourceWrapper(*platform.attitudeXNoiseSource);
82  }
83 
84  PyNoiseSourceWrapper *getAttitudeYNoiseSource(){
85  if(platform.attitudeYNoiseSource == nullptr) return nullptr;
86  return new PyNoiseSourceWrapper(*platform.attitudeYNoiseSource);
87  }
88 
89  PyNoiseSourceWrapper *getAttitudeZNoiseSource(){
90  if(platform.attitudeZNoiseSource == nullptr) return nullptr;
91  return new PyNoiseSourceWrapper(*platform.attitudeZNoiseSource);
92  }
93 
94  PythonDVec3 * getRelativePosition()
95  {return new PythonDVec3(&platform.cfg_device_relativeMountPosition);}
96  Rotation & getRelativeAttitude()
97  {return platform.cfg_device_relativeMountAttitude;}
98  PythonDVec3 * getLastGroundCheck()
99  {return new PythonDVec3(&platform.lastGroundCheck);}
100  PythonDVec3 * getNextWaypointPosition()
101  {return new PythonDVec3(&platform.targetWaypoint);}
102  PythonDVec3 * getPositionPython()
103  {return new PythonDVec3(&platform.position);}
104  Rotation & getAttitudePython()
105  {return platform.attitude;}
106  PythonDVec3 * getCachedAbsolutePosition()
107  {return new PythonDVec3(&platform.cached_absoluteMountPosition);}
108  Rotation & getCachedAbsoluteAttitude()
109  {return platform.cached_absoluteMountAttitude;}
110  PythonDVec3 * getCachedCurrentDir()
111  {return new PythonDVec3(&platform.cached_dir_current);}
112  PythonDVec3 * getCachedCurrentDirXY()
113  {return new PythonDVec3(&platform.cached_dir_current_xy);}
114  PythonDVec3 * getCachedVectorToTarget()
115  {return new PythonDVec3(&platform.cached_vectorToTarget);}
116  PythonDVec3 * getCachedVectorToTargetXY()
117  {return new PythonDVec3(&platform.cached_vectorToTarget_xy);}
118 };
119 
120 }
121 
122 #endif
std::shared_ptr< NoiseSource< double > > positionZNoiseSource
Noise source for z component of platform position.
Definition: Platform.h:61
glm::dvec3 targetWaypoint
Target waypoint (destination)
Definition: Platform.h:98
bool smoothTurn
Flag to specify if platform must work in smooth turn mode (true) or not (false). Not all platforms su...
Definition: Platform.h:121
Class representing a platform asset.
Definition: Platform.h:21
glm::dvec3 cached_vectorToTarget_xy
Distance vector from current position to target over XY plane (z is always 0)
Definition: Platform.h:178
-
Definition: Rotation.h:80
+
Definition: Rotation.h:81
+
Wrapper for NoiseSource abstract class.
Definition: PyNoiseSourceWrapper.h:16
glm::dvec3 position
Platform 3D position.
Definition: Platform.h:133
std::shared_ptr< NoiseSource< double > > attitudeXNoiseSource
Noise source for x component of platform attitude.
Definition: Platform.h:65
glm::dvec3 cached_dir_current
Current director vector over XY plane.
Definition: Platform.h:164
double lastCheckZ
Not used at the moment. Might be removed in the future.
Definition: Platform.h:39
std::shared_ptr< NoiseSource< double > > positionXNoiseSource
Noise source for x component of platform position.
Definition: Platform.h:53
+
Definition: PyAABBWrapper.h:7
double dmax
Not used at the moment. Might be removed in the future.
Definition: Platform.h:79
bool stopAndTurn
Flag to specify if platform must work in stop and turn mode (true) or not (false). Not all platforms support this mode, so it will only be used when possible.
Definition: Platform.h:115
Rotation cached_absoluteMountAttitude
Cached absolute mount attitude.
Definition: Platform.h:159
std::shared_ptr< NoiseSource< double > > positionYNoiseSource
Noise source for y component of platform position.
Definition: Platform.h:57
bool mSetOrientationOnLegInit
Not used at the moment. Might be removed in the future.
Definition: Platform.h:142
-
Wrapper for NoiseSource abstract class.
Definition: PyNoiseSourceWrapper.h:14
glm::dvec3 cfg_device_relativeMountPosition
Device mount position relative to the platform.
Definition: Platform.h:29
glm::dvec3 cached_vectorToTarget
Distance vector from current position to target.
Definition: Platform.h:173
Rotation cfg_device_relativeMountAttitude
Device mount attitude relative to the platform.
Definition: Platform.h:33
@@ -118,9 +119,9 @@
double cfg_settings_movePerSec_m
How meters per seconds the platform moves. NOTICE this behavior must be overridden by platforms imple...
Definition: Platform.h:90
std::shared_ptr< NoiseSource< double > > attitudeYNoiseSource
Noise source for y component of platform attitude.
Definition: Platform.h:69
glm::dvec3 cached_absoluteMountPosition
Cached absolute mount position.
Definition: Platform.h:155
-
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:14
+
Wrapper for Platform class.
Definition: PyPlatformWrapper.h:14
std::shared_ptr< NoiseSource< double > > attitudeZNoiseSource
Noise source for z component of platform attitude.
Definition: Platform.h:73
-
Wrapper for Platform class.
Definition: PyPlatformWrapper.h:12
+
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:16
diff --git a/doc/html/d2/d1e/classvisualhelios_1_1VHDynObjectAdapter-members.html b/doc/html/d2/d1e/classvisualhelios_1_1VHDynObjectAdapter-members.html index 6f490b84f..73cb2656f 100644 --- a/doc/html/d2/d1e/classvisualhelios_1_1VHDynObjectAdapter-members.html +++ b/doc/html/d2/d1e/classvisualhelios_1_1VHDynObjectAdapter-members.html @@ -95,7 +95,7 @@ - + diff --git a/doc/html/d2/d2e/PyDoubleVector_8h_source.html b/doc/html/d2/d2e/PyDoubleVector_8h_source.html index 4ee378f06..f41a64f13 100644 --- a/doc/html/d2/d2e/PyDoubleVector_8h_source.html +++ b/doc/html/d2/d2e/PyDoubleVector_8h_source.html @@ -90,8 +90,9 @@
PyDoubleVector.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyHeliosUtils.h>
6 #include <vector>
7 
16 public:
17  // *** ATTRIBUTES *** //
18  // ******************** //
19  std::vector<double> *vec = nullptr;
20  bool release = true;
21 
22  // *** CONSTRUCTION / DESTRUCTION *** //
23  // ************************************ //
24  PyDoubleVector(std::vector<double> *vec) : vec(vec), release(false) {}
25  PyDoubleVector(std::vector<double> const vec){
26  this->vec = new std::vector<double>(vec);
27  release = true;
28  }
29  virtual ~PyDoubleVector(){if(release && vec != nullptr) free(vec);}
30 
31  // *** GETTERS and SETTERS *** //
32  // ***************************** //
33  double get(long _index){
34  size_t index = PyHeliosUtils::handlePythonIndex(_index, vec->size());
35  return (*vec)[index];
36  }
37  void set(long _index, double value){
38  size_t index = PyHeliosUtils::handlePythonIndex(_index, vec->size());
39  (*vec)[index] = value;
40  }
41  void insert(double value){vec->push_back(value);}
42  void erase(long _index){
43  size_t index = PyHeliosUtils::handlePythonIndex(_index, vec->size());
44  vec->erase(vec->begin() + index);
45  }
46  size_t length() {return vec->size();}
47 };
48 
49 #endif
static size_t handlePythonIndex(long _index, size_t n)
Translate received index from python, where negative values have a special meaning (i...
Definition: PyHeliosUtils.h:14
-
Wrapper for std::vector<double> class.
Definition: PyDoubleVector.h:15
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyHeliosUtils.h>
6 #include <vector>
7 
8 namespace pyhelios{
9 
18 public:
19  // *** ATTRIBUTES *** //
20  // ******************** //
21  std::vector<double> *vec = nullptr;
22  bool release = true;
23 
24  // *** CONSTRUCTION / DESTRUCTION *** //
25  // ************************************ //
26  PyDoubleVector(std::vector<double> *vec) : vec(vec), release(false) {}
27  PyDoubleVector(std::vector<double> const vec){
28  this->vec = new std::vector<double>(vec);
29  release = true;
30  }
31  virtual ~PyDoubleVector(){if(release && vec != nullptr) free(vec);}
32 
33  // *** GETTERS and SETTERS *** //
34  // ***************************** //
35  double get(long _index){
36  size_t index = PyHeliosUtils::handlePythonIndex(_index, vec->size());
37  return (*vec)[index];
38  }
39  void set(long _index, double value){
40  size_t index = PyHeliosUtils::handlePythonIndex(_index, vec->size());
41  (*vec)[index] = value;
42  }
43  void insert(double value){vec->push_back(value);}
44  void erase(long _index){
45  size_t index = PyHeliosUtils::handlePythonIndex(_index, vec->size());
46  vec->erase(vec->begin() + index);
47  }
48  size_t length() {return vec->size();}
49 };
50 
51 }
52 
53 #endif
Wrapper for std::vector<double> class.
Definition: PyDoubleVector.h:17
+
Definition: PyAABBWrapper.h:7
+
static size_t handlePythonIndex(long _index, size_t n)
Translate received index from python, where negative values have a special meaning (i...
Definition: PyHeliosUtils.h:16
diff --git a/doc/html/d2/d47/classpyhelios_1_1PyPlatformWrapper-members.html b/doc/html/d2/d47/classpyhelios_1_1PyPlatformWrapper-members.html new file mode 100644 index 000000000..3aed36f27 --- /dev/null +++ b/doc/html/d2/d47/classpyhelios_1_1PyPlatformWrapper-members.html @@ -0,0 +1,144 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+
buildPolymesh()visualhelios::VHDynObjectAdapter
constructPolymesh()=0visualhelios::VHDynObjectAdapterpure virtual
doStep()visualhelios::VHDynObjectAdapter
doStep()visualhelios::VHDynObjectAdapter
dynObjvisualhelios::VHDynObjectAdapterprotected
getDynObj()visualhelios::VHDynObjectAdapterinline
getId() constvisualhelios::VHDynObjectAdapterinline
+ + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+ + + + + + + + + +
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyPlatformWrapper Member List
+
+
+ +

This is the complete list of members for pyhelios::PyPlatformWrapper, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
getAttitudePython() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getAttitudeXNoiseSource() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getAttitudeYNoiseSource() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getAttitudeZNoiseSource() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getCachedAbsoluteAttitude() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getCachedAbsolutePosition() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getCachedCurrentDir() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getCachedCurrentDirXY() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getCachedVectorToTarget() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getCachedVectorToTargetXY() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getDmax() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getLastCheckZ() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getLastGroundCheck() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getMovePerSec() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getNextWaypointPosition() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getPositionPython() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getPositionXNoiseSource() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getPositionYNoiseSource() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getPositionZNoiseSource() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getRelativeAttitude() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
getRelativePosition() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
isOnGround() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
isOrientationOnLegInit() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
isSlowdownEnabled() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
isSmoothTurn() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
isStopAndTurn() (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
platform (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapper
PyPlatformWrapper(Platform &platform) (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
setDmax(double dmax) (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
setLastCheckZ(double checkZ) (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
setMovePerSec(double movePerSec) (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
setOnGround(bool onGround) (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
setOrientationOnLegInit(bool setOrientationOnLegInit) (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
setSlowdownEnabled(bool slowdownEnabled) (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
setSmoothTurn(bool smoothTurn) (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
setStopAndTurn(bool stopAndTurn) (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrapperinline
~PyPlatformWrapper()=default (defined in pyhelios::PyPlatformWrapper)pyhelios::PyPlatformWrappervirtual
+
+ + + + diff --git a/doc/html/d2/d5b/classpyhelios_1_1PyRandomnessGeneratorWrapper.html b/doc/html/d2/d5b/classpyhelios_1_1PyRandomnessGeneratorWrapper.html new file mode 100644 index 000000000..f04cdb70f --- /dev/null +++ b/doc/html/d2/d5b/classpyhelios_1_1PyRandomnessGeneratorWrapper.html @@ -0,0 +1,154 @@ + + + + + + + +Helios++: pyhelios::PyRandomnessGeneratorWrapper Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyRandomnessGeneratorWrapper Class Reference
+
+
+ +

Wrapper for RandomnessGenerator class. + More...

+ +

#include <PyRandomnessGeneratorWrapper.h>

+
+Collaboration diagram for pyhelios::PyRandomnessGeneratorWrapper:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + + +

+Public Member Functions

PyRandomnessGeneratorWrapper (RandomnessGenerator< double > &rg)
 
+void computeUniformRealDistribution (double lowerBound, double upperBound)
 
+double uniformRealDistributionNext ()
 
+void computeNormalDistribution (double mean, double stdev)
 
+double normalDistributionNext ()
 
+ + + +

+Public Attributes

+RandomnessGenerator< double > & rg
 
+

Detailed Description

+

Wrapper for RandomnessGenerator class.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/d2/d5b/classpyhelios_1_1PyRandomnessGeneratorWrapper.js b/doc/html/d2/d5b/classpyhelios_1_1PyRandomnessGeneratorWrapper.js new file mode 100644 index 000000000..11eee86d4 --- /dev/null +++ b/doc/html/d2/d5b/classpyhelios_1_1PyRandomnessGeneratorWrapper.js @@ -0,0 +1,10 @@ +var classpyhelios_1_1PyRandomnessGeneratorWrapper = +[ + [ "PyRandomnessGeneratorWrapper", "d2/d5b/classpyhelios_1_1PyRandomnessGeneratorWrapper.html#ae37442b8714ec441383e0ca0f37cef0e", null ], + [ "~PyRandomnessGeneratorWrapper", "d2/d5b/classpyhelios_1_1PyRandomnessGeneratorWrapper.html#ac89ee34a8510e2dd1d8b4937e8f4ae04", null ], + [ "computeNormalDistribution", "d2/d5b/classpyhelios_1_1PyRandomnessGeneratorWrapper.html#a3fb20280ab8e2c0f20ebf0dc3a3beb75", null ], + [ "computeUniformRealDistribution", "d2/d5b/classpyhelios_1_1PyRandomnessGeneratorWrapper.html#ac6226911242a5f15d9bf4b994695ec93", null ], + [ "normalDistributionNext", "d2/d5b/classpyhelios_1_1PyRandomnessGeneratorWrapper.html#a9ffd8d0bbf1a049a8b246db2b9cb3125", null ], + [ "uniformRealDistributionNext", "d2/d5b/classpyhelios_1_1PyRandomnessGeneratorWrapper.html#a3eaeb7ca3cc80627c654efb2ca3ed683", null ], + [ "rg", "d2/d5b/classpyhelios_1_1PyRandomnessGeneratorWrapper.html#abb4dd8cefe3c02ebfc1ca181ba9d20f7", null ] +]; \ No newline at end of file diff --git a/doc/html/d2/d6f/classpyhelios_1_1PySimulationCycleCallback__coll__graph.map b/doc/html/d2/d6f/classpyhelios_1_1PySimulationCycleCallback__coll__graph.map new file mode 100644 index 000000000..d3065edf4 --- /dev/null +++ b/doc/html/d2/d6f/classpyhelios_1_1PySimulationCycleCallback__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/d2/d6f/classpyhelios_1_1PySimulationCycleCallback__coll__graph.md5 b/doc/html/d2/d6f/classpyhelios_1_1PySimulationCycleCallback__coll__graph.md5 new file mode 100644 index 000000000..7f4c4a4ae --- /dev/null +++ b/doc/html/d2/d6f/classpyhelios_1_1PySimulationCycleCallback__coll__graph.md5 @@ -0,0 +1 @@ +bc762e3461f04cde87f4587ced2e2d8d \ No newline at end of file diff --git a/doc/html/d2/d6f/classpyhelios_1_1PySimulationCycleCallback__coll__graph.png b/doc/html/d2/d6f/classpyhelios_1_1PySimulationCycleCallback__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..481ffca2c15172a751b6f3fbc3c61a7d48382674 GIT binary patch literal 5878 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 + diff --git a/doc/html/d2/d75/classpyhelios_1_1PyHeliosSimulation__coll__graph.md5 b/doc/html/d2/d75/classpyhelios_1_1PyHeliosSimulation__coll__graph.md5 new file mode 100644 index 000000000..f03b85969 --- /dev/null +++ b/doc/html/d2/d75/classpyhelios_1_1PyHeliosSimulation__coll__graph.md5 @@ -0,0 +1 @@ +a9a6aca36513e90572b3621154c52717 \ No newline at end of file diff --git a/doc/html/d2/d75/classpyhelios_1_1PyHeliosSimulation__coll__graph.png b/doc/html/d2/d75/classpyhelios_1_1PyHeliosSimulation__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..4b4cc3d5d1904d05ccf0301441c5f871ff73b946 GIT binary patch literal 5714 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 DWuz;l literal 0 HcmV?d00001 diff --git a/doc/html/d2/d7a/classpyhelios_1_1PyVertexWrapper-members.html b/doc/html/d2/d7a/classpyhelios_1_1PyVertexWrapper-members.html new file mode 100644 index 000000000..177b499c4 --- /dev/null +++ b/doc/html/d2/d7a/classpyhelios_1_1PyVertexWrapper-members.html @@ -0,0 +1,114 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyVertexWrapper Member List
+
+
+ +

This is the complete list of members for pyhelios::PyVertexWrapper, including all inherited members.

+ + + + + + + + +
getNormal() (defined in pyhelios::PyVertexWrapper)pyhelios::PyVertexWrapperinline
getPosition() (defined in pyhelios::PyVertexWrapper)pyhelios::PyVertexWrapperinline
PyVertexWrapper(Vertex *v) (defined in pyhelios::PyVertexWrapper)pyhelios::PyVertexWrapperinline
PyVertexWrapper(Vertex const v) (defined in pyhelios::PyVertexWrapper)pyhelios::PyVertexWrapperinline
release (defined in pyhelios::PyVertexWrapper)pyhelios::PyVertexWrapper
v (defined in pyhelios::PyVertexWrapper)pyhelios::PyVertexWrapper
~PyVertexWrapper() (defined in pyhelios::PyVertexWrapper)pyhelios::PyVertexWrapperinlinevirtual
+
+ + + + diff --git a/doc/html/d2/dca/classpyhelios_1_1PyHeliosException__coll__graph.map b/doc/html/d2/dca/classpyhelios_1_1PyHeliosException__coll__graph.map new file mode 100644 index 000000000..7bead3e35 --- /dev/null +++ b/doc/html/d2/dca/classpyhelios_1_1PyHeliosException__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/d2/dca/classpyhelios_1_1PyHeliosException__coll__graph.md5 b/doc/html/d2/dca/classpyhelios_1_1PyHeliosException__coll__graph.md5 new file mode 100644 index 000000000..a7fb64c1a --- /dev/null +++ b/doc/html/d2/dca/classpyhelios_1_1PyHeliosException__coll__graph.md5 @@ -0,0 +1 @@ +ba727f14c0ce40f90879e7e7f3b81cf2 \ No newline at end of file diff --git a/doc/html/d2/dca/classpyhelios_1_1PyHeliosException__coll__graph.png b/doc/html/d2/dca/classpyhelios_1_1PyHeliosException__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..393646f56f14702f7928a35ebe50615ad672ad42 GIT binary patch literal 6081 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 s#CLdg%
glm::dvec3 cfg_device_rotateAxis
Rotation axis.
Definition: ScannerHead.h:57
Rotation cached_mountRelativeAttitude
Relative scanner head mount attitude.
Definition: ScannerHead.h:50
double cfg_setting_rotatePerSec_rad
Rotation per second (radians)
Definition: ScannerHead.h:26
-
Definition: Rotation.h:80
+
Definition: Rotation.h:81
bool rotateCompleted()
Check if rotation has been completed.
Definition: ScannerHead.cpp:35
double cfg_setting_rotateRange_rad
Difference between rotation stop and start angles (radians)
Definition: ScannerHead.h:38
double getRotateRange()
Get rotation range.
Definition: ScannerHead.h:186
diff --git a/doc/html/d3/d0b/typedef_8h_source.html b/doc/html/d3/d0b/typedef_8h_source.html index 7523276d9..baecd3d74 100644 --- a/doc/html/d3/d0b/typedef_8h_source.html +++ b/doc/html/d3/d0b/typedef_8h_source.html @@ -90,13 +90,13 @@
typedef.h
-
1 #pragma once
2 
3 #include <iostream>
4 #include <string>
5 #include <sstream>
6 
7 #include <glm/glm.hpp>
8 #include <glm/gtx/string_cast.hpp>
9 
10 #include "maths/Rotation.h"
11 
12 #include <boost/variant/get.hpp>
13 #include <boost/variant/variant.hpp>
14 
15 
19 typedef boost::variant<
20  bool, int, float, double, std::string, glm::dvec3, Rotation
21 > ObjectT;
22 
27 struct stringVisitor : public boost::static_visitor<std::string>{
31  std::string operator() (bool b) const {
32  std::stringstream ss;
33  ss << b;
34  return ss.str();
35  }
39  std::string operator() (int i) const {
40  std::stringstream ss;
41  ss << i;
42  return ss.str();
43  }
47  std::string operator() (float f) const {
48  std::stringstream ss;
49  ss << f;
50  return ss.str();
51  }
55  std::string operator() (double d) const {
56  std::stringstream ss;
57  ss << d;
58  return ss.str();
59  }
63  std::string operator() (std::string const & s) const {
64  std::stringstream ss;
65  ss << s;
66  return ss.str();
67  }
71  std::string operator() (glm::dvec3 v) const {
72  std::stringstream ss;
73  ss << glm::to_string(v);
74  return ss.str();
75  }
80  std::string operator() (Rotation r) const {
81  std::stringstream ss;
82  ss << r.getQ0() << '\n' << r.getQ1() << '\n' << r.getQ2()
83  << '\n' << r.getQ3();
84  return ss.str();
85  }
86 };
87 
88 // "C/C++, unfortunately, does not have a sgn function in its standard library,
89 // however this is defined in the Boost library."
93 template <typename T> int sgn(T val) {
94  return (T(0) < val) - (val < T(0));
95 }
96 
Definition: Rotation.h:80
-
double getQ0()
Get the scalar coordinate of the quaternion.
Definition: Rotation.h:115
+
1 #pragma once
2 
3 #include <iostream>
4 #include <string>
5 #include <sstream>
6 
7 #include <glm/glm.hpp>
8 #include <glm/gtx/string_cast.hpp>
9 
10 #include "maths/Rotation.h"
11 
12 #include <boost/variant/get.hpp>
13 #include <boost/variant/variant.hpp>
14 
15 
19 typedef boost::variant<
20  bool, int, float, double, std::string, glm::dvec3, Rotation
21 > ObjectT;
22 
27 struct stringVisitor : public boost::static_visitor<std::string>{
31  std::string operator() (bool b) const {
32  std::stringstream ss;
33  ss << b;
34  return ss.str();
35  }
39  std::string operator() (int i) const {
40  std::stringstream ss;
41  ss << i;
42  return ss.str();
43  }
47  std::string operator() (float f) const {
48  std::stringstream ss;
49  ss << f;
50  return ss.str();
51  }
55  std::string operator() (double d) const {
56  std::stringstream ss;
57  ss << d;
58  return ss.str();
59  }
63  std::string operator() (std::string const & s) const {
64  std::stringstream ss;
65  ss << s;
66  return ss.str();
67  }
71  std::string operator() (glm::dvec3 v) const {
72  std::stringstream ss;
73  ss << glm::to_string(v);
74  return ss.str();
75  }
80  std::string operator() (Rotation r) const {
81  std::stringstream ss;
82  ss << r.getQ0() << '\n' << r.getQ1() << '\n' << r.getQ2()
83  << '\n' << r.getQ3();
84  return ss.str();
85  }
86 };
87 
88 // "C/C++, unfortunately, does not have a sgn function in its standard library,
89 // however this is defined in the Boost library."
93 template <typename T> int sgn(T val) {
94  return (T(0) < val) - (val < T(0));
95 }
96 
Definition: Rotation.h:81
+
double getQ0()
Get the scalar coordinate of the quaternion.
Definition: Rotation.h:116
std::string operator()(bool b) const
String visitor behavior fo bool type.
Definition: typedef.h:31
-
double getQ3()
Get the third coordinate of the vectorial part of the quaternion.
Definition: Rotation.h:137
+
double getQ3()
Get the third coordinate of the vectorial part of the quaternion.
Definition: Rotation.h:138
stringVisitor defines a different string building behavior for different printable objects ...
Definition: typedef.h:27
-
double getQ1()
Get the first coordinate of the vectorial part of the quaternion.
Definition: Rotation.h:122
-
double getQ2()
Get the second coordinate of the vectorial part of the quaternion.
Definition: Rotation.h:130
+
double getQ1()
Get the first coordinate of the vectorial part of the quaternion.
Definition: Rotation.h:123
+
double getQ2()
Get the second coordinate of the vectorial part of the quaternion.
Definition: Rotation.h:131
diff --git a/doc/html/d3/d6f/AbstractDetector_8h_source.html b/doc/html/d3/d6f/AbstractDetector_8h_source.html index c8376b9df..a46dda6ad 100644 --- a/doc/html/d3/d6f/AbstractDetector_8h_source.html +++ b/doc/html/d3/d6f/AbstractDetector_8h_source.html @@ -94,7 +94,7 @@
double cfg_device_accuracy_m
Detector accuracy in meters.
Definition: AbstractDetector.h:42
virtual void shutdown()
Shutdown the detector when simulation has finished.
Definition: AbstractDetector.cpp:65
bool lasOutput
Flag specifying if detector output must be written in LAS format (true) or not (false) ...
Definition: AbstractDetector.h:54
-
Definition: Rotation.h:80
+
Definition: Rotation.h:81
bool las10
Flag specifying if detect output must be writing in LAS 1.0 (LAS 1.4 is written by default) ...
Definition: AbstractDetector.h:59
std::string outputFileLineFormatString
Format string for output file line.
Definition: AbstractDetector.h:78
double lasScale
Scale factor specification to be used when LAS output format specified.
Definition: AbstractDetector.h:70
diff --git a/doc/html/d3/d71/PyTrajectoryWrapper_8h_source.html b/doc/html/d3/d71/PyTrajectoryWrapper_8h_source.html index 26ef4b879..08c2f4068 100644 --- a/doc/html/d3/d71/PyTrajectoryWrapper_8h_source.html +++ b/doc/html/d3/d71/PyTrajectoryWrapper_8h_source.html @@ -90,14 +90,15 @@
PyTrajectoryWrapper.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <Trajectory.h>
6 #include <PythonDVec3.h>
7 
18 public:
19  // *** ATTRIBUTES *** //
20  // ******************** //
21  Trajectory &t;
22 
23  // *** CONSTRUCTION / DESTRUCTION *** //
24  // ************************************ //
25  PyTrajectoryWrapper(Trajectory &t) : t(t) {}
26  virtual ~PyTrajectoryWrapper() {}
27 
28  // *** GETTERS and SETTERS *** //
29  // ***************************** //
30  long getGpsTime() {return t.gpsTime;}
31  void setGpsTime(long gpsTime) {t.gpsTime = gpsTime;}
32  PythonDVec3 *getPosition() {return new PythonDVec3(t.position);}
33  void setPosition(double x, double y, double z)
34  {t.position = glm::dvec3(x, y, z);}
35  double getRoll() {return t.roll;}
36  void setRoll(double roll) {t.roll = roll;}
37  double getPitch() {return t.pitch;}
38  void setPitch(double pitch) {t.pitch = pitch;}
39  double getYaw() {return t.yaw;}
40  void setYaw(double yaw) {t.yaw = yaw;}
41 };
42 
43 #endif
glm::dvec3 position
Trajectory position/coordinates.
Definition: Trajectory.h:20
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <Trajectory.h>
6 #include <PythonDVec3.h>
7 
8 namespace pyhelios{
9 
20 public:
21  // *** ATTRIBUTES *** //
22  // ******************** //
23  Trajectory &t;
24 
25  // *** CONSTRUCTION / DESTRUCTION *** //
26  // ************************************ //
27  PyTrajectoryWrapper(Trajectory &t) : t(t) {}
28  virtual ~PyTrajectoryWrapper() {}
29 
30  // *** GETTERS and SETTERS *** //
31  // ***************************** //
32  long getGpsTime() {return t.gpsTime;}
33  void setGpsTime(long gpsTime) {t.gpsTime = gpsTime;}
34  PythonDVec3 *getPosition() {return new PythonDVec3(t.position);}
35  void setPosition(double x, double y, double z)
36  {t.position = glm::dvec3(x, y, z);}
37  double getRoll() {return t.roll;}
38  void setRoll(double roll) {t.roll = roll;}
39  double getPitch() {return t.pitch;}
40  void setPitch(double pitch) {t.pitch = pitch;}
41  double getYaw() {return t.yaw;}
42  void setYaw(double yaw) {t.yaw = yaw;}
43 };
44 
45 }
46 
47 #endif
glm::dvec3 position
Trajectory position/coordinates.
Definition: Trajectory.h:20
+
Definition: PyAABBWrapper.h:7
Class representing a concrete trajectory definition.
Definition: Trajectory.h:8
double roll
Roll angle in radians.
Definition: Trajectory.h:24
double pitch
Pitch angle in radians.
Definition: Trajectory.h:28
+
Wrapper for Trajectory class.
Definition: PyTrajectoryWrapper.h:19
long gpsTime
GPS time in milliseconds identifying the moment at which trajectory is registered.
Definition: Trajectory.h:16
-
Wrapper for Trajectory class.
Definition: PyTrajectoryWrapper.h:17
-
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:14
double yaw
Yaw angle in radians.
Definition: Trajectory.h:32
+
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:16
diff --git a/doc/html/d3/d8f/classpyhelios_1_1PyIntegerList-members.html b/doc/html/d3/d8f/classpyhelios_1_1PyIntegerList-members.html new file mode 100644 index 000000000..fed4f9a47 --- /dev/null +++ b/doc/html/d3/d8f/classpyhelios_1_1PyIntegerList-members.html @@ -0,0 +1,115 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyIntegerList Member List
+
+
+ +

This is the complete list of members for pyhelios::PyIntegerList, including all inherited members.

+ + + + + + + + + +
erase(long _index) (defined in pyhelios::PyIntegerList)pyhelios::PyIntegerListinline
get(long _index) (defined in pyhelios::PyIntegerList)pyhelios::PyIntegerListinline
insert(long _index, int value) (defined in pyhelios::PyIntegerList)pyhelios::PyIntegerListinline
length() (defined in pyhelios::PyIntegerList)pyhelios::PyIntegerListinline
list (defined in pyhelios::PyIntegerList)pyhelios::PyIntegerList
PyIntegerList(std::list< int > &list) (defined in pyhelios::PyIntegerList)pyhelios::PyIntegerListinline
set(long _index, int value) (defined in pyhelios::PyIntegerList)pyhelios::PyIntegerListinline
~PyIntegerList() (defined in pyhelios::PyIntegerList)pyhelios::PyIntegerListinlinevirtual
+
+ + + + diff --git a/doc/html/d3/dbe/FullWaveformPulseDetector_8h_source.html b/doc/html/d3/dbe/FullWaveformPulseDetector_8h_source.html index 2f72ded7b..2efeacd78 100644 --- a/doc/html/d3/dbe/FullWaveformPulseDetector_8h_source.html +++ b/doc/html/d3/dbe/FullWaveformPulseDetector_8h_source.html @@ -93,7 +93,7 @@
1 #pragma once
2 
3 #include <boost/asio/thread_pool.hpp>
4 #include <boost/asio/post.hpp>
5 
6 #include "AbstractDetector.h"
7 
15  // *** ATTRIBUTES *** //
16  // ******************** //
21  std::shared_ptr<SyncFileWriter> fw_sfw;
22 
23 public:
24  // *** CONSTRUCTION / DESTRUCTION *** //
25  // ************************************ //
32  std::shared_ptr<Scanner> scanner,
33  double accuracy_m,
34  double range_min
35  ) : AbstractDetector(scanner, accuracy_m, range_min) {}
36  std::shared_ptr<AbstractDetector> clone() override;
37  void _clone(std::shared_ptr<AbstractDetector> ad) override;
38 
39  // *** M E T H O D S *** //
40  // *********************** //
44  void shutdown() override;
45  void writeFullWave(
46  std::vector<double> & fullwave,
47  int fullwave_index,
48  double min_time,
49  double max_time,
50  glm::dvec3& beamOrigin,
51  glm::dvec3& beamDir,
52  double gpstime
53  );
57  void applySettings(std::shared_ptr<ScannerSettings> & settings) override;
61  void simulatePulse(
62  thread_pool & pool,
63  glm::dvec3 absoluteBeamOrigin,
64  Rotation absoluteBeamAttitude,
65  int state_currentPulseNumber,
66  double currentGpsTime
67  ) override;
68 
69  // *** GETTERS and SETTERS *** //
70  // ***************************** //
78  void setOutputFilePath(
79  std::string path,
80  std::string fname="fullwave.txt",
81  bool computeWaveform=true
82  );
83 };
std::shared_ptr< SyncFileWriter > fw_sfw
Synchronous file writer used to handle output.
Definition: FullWaveformPulseDetector.h:21
void shutdown() override
Definition: FullWaveformPulseDetector.cpp:93
Concrete implementation of abstract detector to compute full waveform pulses.
Definition: FullWaveformPulseDetector.h:14
-
Definition: Rotation.h:80
+
Definition: Rotation.h:81
FullWaveformPulseDetector(std::shared_ptr< Scanner > scanner, double accuracy_m, double range_min)
Base constructor for full waveform pulse detector.
Definition: FullWaveformPulseDetector.h:31
Base abstract class for detectors.
Definition: AbstractDetector.h:22
Class representing a thread pool to deal with multi threading tasks.
Definition: ThreadPool.h:14
diff --git a/doc/html/d4/d2c/classpyhelios_1_1PyTrajectoryVectorWrapper.html b/doc/html/d4/d2c/classpyhelios_1_1PyTrajectoryVectorWrapper.html new file mode 100644 index 000000000..15e9e3492 --- /dev/null +++ b/doc/html/d4/d2c/classpyhelios_1_1PyTrajectoryVectorWrapper.html @@ -0,0 +1,146 @@ + + + + + + + +Helios++: pyhelios::PyTrajectoryVectorWrapper Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyTrajectoryVectorWrapper Class Reference
+
+
+ +

Python wrapper for helios trajectory. + More...

+ +

#include <PyTrajectoryVectorWrapper.h>

+ + + + + + + + + + +

+Public Member Functions

PyTrajectoryVectorWrapper (std::vector< Trajectory > &allTrajectories)
 
+PyTrajectoryWrapperget (size_t index)
 
+void erase (size_t index)
 
+size_t length ()
 
+ + + +

+Public Attributes

+std::vector< TrajectoryallTrajectories
 
+

Detailed Description

+

Python wrapper for helios trajectory.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+
See also
PyTrajectoryWrapper
+
+PyHeliosOutputWrapper
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/d4/d2c/classpyhelios_1_1PyTrajectoryVectorWrapper.js b/doc/html/d4/d2c/classpyhelios_1_1PyTrajectoryVectorWrapper.js new file mode 100644 index 000000000..a78b83837 --- /dev/null +++ b/doc/html/d4/d2c/classpyhelios_1_1PyTrajectoryVectorWrapper.js @@ -0,0 +1,9 @@ +var classpyhelios_1_1PyTrajectoryVectorWrapper = +[ + [ "PyTrajectoryVectorWrapper", "d4/d2c/classpyhelios_1_1PyTrajectoryVectorWrapper.html#adb171c5ca20074f113a95c7acadba65b", null ], + [ "~PyTrajectoryVectorWrapper", "d4/d2c/classpyhelios_1_1PyTrajectoryVectorWrapper.html#a9b49c02192b4ebfafbc94ba150cdc53c", null ], + [ "erase", "d4/d2c/classpyhelios_1_1PyTrajectoryVectorWrapper.html#a04f499aa724b16837dbd3a4f51041fc3", null ], + [ "get", "d4/d2c/classpyhelios_1_1PyTrajectoryVectorWrapper.html#a240e13600604a60e020e8903a3efba79", null ], + [ "length", "d4/d2c/classpyhelios_1_1PyTrajectoryVectorWrapper.html#a762849a26ecdc3efe23c50c632320c3b", null ], + [ "allTrajectories", "d4/d2c/classpyhelios_1_1PyTrajectoryVectorWrapper.html#aa9d50d888b4b4b3c8c35d26d4ebaae0e", null ] +]; \ No newline at end of file diff --git a/doc/html/d4/d45/classpyhelios_1_1PyMeasurementWrapper.html b/doc/html/d4/d45/classpyhelios_1_1PyMeasurementWrapper.html new file mode 100644 index 000000000..73c815d3c --- /dev/null +++ b/doc/html/d4/d45/classpyhelios_1_1PyMeasurementWrapper.html @@ -0,0 +1,215 @@ + + + + + + + +Helios++: pyhelios::PyMeasurementWrapper Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyMeasurementWrapper Class Reference
+
+
+ +

Wrapper for Measurement class. + More...

+ +

#include <PyMeasurementWrapper.h>

+
+Collaboration diagram for pyhelios::PyMeasurementWrapper:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PyMeasurementWrapper (Measurement &m)
 
+std::string getHitObjectId ()
 
+void setHitObjectId (std::string const hitObjectId)
 
+PythonDVec3getPosition ()
 
+void setPosition (double x, double y, double z)
 
+PythonDVec3getBeamDirection ()
 
+void setBeamDirection (double x, double y, double z)
 
+PythonDVec3getBeamOrigin ()
 
+void setBeamOrigin (double x, double y, double z)
 
+double getDistance ()
 
+void setDistance (double distance)
 
+double getIntensity ()
 
+void setIntensity (double intensity)
 
+double getEchoWidth ()
 
+void setEchoWidth (double echoWidth)
 
+int getReturnNumber ()
 
+void setReturnNumber (int returnNumber)
 
+int getPulseReturnNumber ()
 
+void setPulseReturnNumber (double pulseReturnNumber)
 
+int getFullwaveIndex ()
 
+void setFullwaveIndex (int fullwaveIndex)
 
+int getClassification ()
 
+void setClassification (int classification)
 
+long getGpsTime ()
 
+void setGpsTime (long gpsTime)
 
+ + + +

+Public Attributes

+Measurementm
 
+

Detailed Description

+

Wrapper for Measurement class.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+
See also
Measurement
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/d4/d45/classpyhelios_1_1PyMeasurementWrapper.js b/doc/html/d4/d45/classpyhelios_1_1PyMeasurementWrapper.js new file mode 100644 index 000000000..447e07aa2 --- /dev/null +++ b/doc/html/d4/d45/classpyhelios_1_1PyMeasurementWrapper.js @@ -0,0 +1,30 @@ +var classpyhelios_1_1PyMeasurementWrapper = +[ + [ "PyMeasurementWrapper", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#a0c4005988d86ef01438bc91d902821c1", null ], + [ "~PyMeasurementWrapper", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#acfd37dca54b07062822d4f84cd448a9b", null ], + [ "getBeamDirection", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#addd1c7bef329d90f26e8e82cfbc62110", null ], + [ "getBeamOrigin", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#a9e92bac600b325653aa3b90e8ae7dfca", null ], + [ "getClassification", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#a83c9ef3085bbcd13463ce1c41c800932", null ], + [ "getDistance", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#aa4d87d9ef6929ffe67647f3924dc20a9", null ], + [ "getEchoWidth", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#a2cc3e36d124e753caa450e9d78954b85", null ], + [ "getFullwaveIndex", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#a07bc441a364f94aedc403b10323b727f", null ], + [ "getGpsTime", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#ab2865d404df56b9945bfbe1515a92a1a", null ], + [ "getHitObjectId", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#a3d82c7bf5a917e4bdacac8071ea02b2c", null ], + [ "getIntensity", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#ad8134b431db1255284752bbf9f628a9a", null ], + [ "getPosition", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#a3c445f2fe13dc47e1cc77a97fbc116fe", null ], + [ "getPulseReturnNumber", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#ad7b8855dec20a1016d9c895e9180460d", null ], + [ "getReturnNumber", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#aec6c19887b45057fadb6df304d6e0b24", null ], + [ "setBeamDirection", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#a4e6a08dc1a5625d219eebb066878f960", null ], + [ "setBeamOrigin", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#a99308945a62b1fb81c9d7b0ad90a26e7", null ], + [ "setClassification", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#ab001817a6beae692a1bd3b8d5cf75787", null ], + [ "setDistance", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#a586e16249b032a10f81f83b836d6dde1", null ], + [ "setEchoWidth", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#a607d0d2ffb4cc834cf482d00a5022086", null ], + [ "setFullwaveIndex", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#a710c16a33bb55bf0cc3d3565669114d5", null ], + [ "setGpsTime", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#ac69e205c2ef74e97abb94c0d2f3b54c0", null ], + [ "setHitObjectId", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#acb8e4604dc81b372ecbf746474ef7ef5", null ], + [ "setIntensity", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#a64ae67e18489908044b900765963be7f", null ], + [ "setPosition", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#a9694d0a3ad95f6a5ba8dd88550d70280", null ], + [ "setPulseReturnNumber", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#a34eba233bbc353531ef3190a0e67b030", null ], + [ "setReturnNumber", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#a7eec7f24bb84b83fe1f15bc37c9819b4", null ], + [ "m", "d4/d45/classpyhelios_1_1PyMeasurementWrapper.html#a31b91920d1e43270ef5b3924cf015038", null ] +]; \ No newline at end of file diff --git a/doc/html/d4/d53/classpyhelios_1_1PyPlatformWrapper__coll__graph.map b/doc/html/d4/d53/classpyhelios_1_1PyPlatformWrapper__coll__graph.map new file mode 100644 index 000000000..3f334a991 --- /dev/null +++ b/doc/html/d4/d53/classpyhelios_1_1PyPlatformWrapper__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/doc/html/d4/d53/classpyhelios_1_1PyPlatformWrapper__coll__graph.md5 b/doc/html/d4/d53/classpyhelios_1_1PyPlatformWrapper__coll__graph.md5 new file mode 100644 index 000000000..1a9ec1ea7 --- /dev/null +++ b/doc/html/d4/d53/classpyhelios_1_1PyPlatformWrapper__coll__graph.md5 @@ -0,0 +1 @@ +fedcebd83585d1a9dba2f4191f36a7a6 \ No newline at end of file diff --git a/doc/html/d4/d53/classpyhelios_1_1PyPlatformWrapper__coll__graph.png b/doc/html/d4/d53/classpyhelios_1_1PyPlatformWrapper__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..3642ed6a9811aefc48257cafc01116e3991cb732 GIT binary patch literal 14213 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 + + + + + + +Helios++: pyhelios::PyNoiseSourceWrapper Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyNoiseSourceWrapper Class Reference
+
+
+ +

Wrapper for NoiseSource abstract class. + More...

+ +

#include <PyNoiseSourceWrapper.h>

+
+Collaboration diagram for pyhelios::PyNoiseSourceWrapper:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PyNoiseSourceWrapper (NoiseSource< double > &ns)
 
+double getClipMin ()
 
+void setClipMin (double clipMin)
 
+double getClipMax ()
 
+void setClipMax (double clipMax)
 
+bool isEnabled ()
 
+void setEnabled (bool enabled)
 
+bool isFixedValueEnabled ()
 
+unsigned long getFixedLifespan ()
 
+void setFixedLifespan (unsigned long fixedLifespan)
 
+unsigned long getFixedValueRemainingUses ()
 
+void setFixedValueRemainingUses (unsigned long remainingUses)
 
+double next ()
 
+ + + +

+Public Attributes

+NoiseSource< double > & ns
 
+

Detailed Description

+

Wrapper for NoiseSource abstract class.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+
See also
NoiseSource
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.js b/doc/html/d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.js new file mode 100644 index 000000000..5a8c94a04 --- /dev/null +++ b/doc/html/d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.js @@ -0,0 +1,18 @@ +var classpyhelios_1_1PyNoiseSourceWrapper = +[ + [ "PyNoiseSourceWrapper", "d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.html#a407e25da0807d3601424cdd5756e7a50", null ], + [ "~PyNoiseSourceWrapper", "d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.html#afe06592b0788c000d23306b8b4b0996d", null ], + [ "getClipMax", "d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.html#a6c5b318b9850dbe7b905f51a387864e8", null ], + [ "getClipMin", "d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.html#a19b54dea01afd16ca1dc07f7adb69e82", null ], + [ "getFixedLifespan", "d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.html#a90bbf08e813bd3e0b5765c5fc5d6e03b", null ], + [ "getFixedValueRemainingUses", "d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.html#ab1f75905ab581bf019407faf733bb166", null ], + [ "isEnabled", "d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.html#ad828a9d7c0fecc0791a6361d2b43c2f5", null ], + [ "isFixedValueEnabled", "d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.html#ad5d4ef225245562fef3daf3b7fa59090", null ], + [ "next", "d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.html#a2e9ee9dacd9a693adc4b5e30f785a3dd", null ], + [ "setClipMax", "d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.html#a0334274bbb6b0c636c8a680c2b3a4d55", null ], + [ "setClipMin", "d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.html#ac325530cb58da0ca3692f815d5a61396", null ], + [ "setEnabled", "d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.html#a77e7ab430b7aa38f1fafcab6e9d57bc9", null ], + [ "setFixedLifespan", "d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.html#af636d046afb7789bb980c98eff626edc", null ], + [ "setFixedValueRemainingUses", "d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.html#a356248df1308047b97b5f87839096eb5", null ], + [ "ns", "d4/d55/classpyhelios_1_1PyNoiseSourceWrapper.html#a797f47ced20d2e10ee1faf4752c63bfb", null ] +]; \ No newline at end of file diff --git a/doc/html/d4/d6d/ConicBeamDeflector_8h_source.html b/doc/html/d4/d6d/ConicBeamDeflector_8h_source.html index 50267ae63..223e93a1f 100644 --- a/doc/html/d4/d6d/ConicBeamDeflector_8h_source.html +++ b/doc/html/d4/d6d/ConicBeamDeflector_8h_source.html @@ -92,7 +92,7 @@
1 #pragma once
2 
3 #include "AbstractBeamDeflector.h"
8 
9 public:
10  // *** ATTRIBUTES *** //
11  // ******************** /7
16 
17  // *** CONSTRUCTION / DESTRUCTION *** //
18  // ************************************ //
25  double scanAngleMax_rad,
26  double scanFreqMax_Hz,
27  double scanFreqMin_Hz
28  ) :
29  AbstractBeamDeflector(scanAngleMax_rad, scanFreqMax_Hz, scanFreqMin_Hz)
30  {}
31  std::shared_ptr<AbstractBeamDeflector> clone() override;
32  void _clone(std::shared_ptr<AbstractBeamDeflector> abd) override;
33 
34 
35  // *** M E T H O D S *** //
36  // *********************** //
40  void applySettings(std::shared_ptr<ScannerSettings> settings) override;
44  void doSimStep() override;
45 };
Rotation r1
Rotation used to create the radius of the cone.
Definition: ConicBeamDeflector.h:15
Base abstract class for beam deflectors.
Definition: AbstractBeamDeflector.h:10
-
Definition: Rotation.h:80
+
Definition: Rotation.h:81
void doSimStep() override
Definition: ConicBeamDeflector.cpp:39
ConicBeamDeflector(double scanAngleMax_rad, double scanFreqMax_Hz, double scanFreqMin_Hz)
Constructor for conic beam deflector.
Definition: ConicBeamDeflector.h:24
Class representing a conic beam deflector.
Definition: ConicBeamDeflector.h:7
diff --git a/doc/html/d4/d9d/classpyhelios_1_1PyBeamDeflectorWrapper-members.html b/doc/html/d4/d9d/classpyhelios_1_1PyBeamDeflectorWrapper-members.html new file mode 100644 index 000000000..4a73a8061 --- /dev/null +++ b/doc/html/d4/d9d/classpyhelios_1_1PyBeamDeflectorWrapper-members.html @@ -0,0 +1,131 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyBeamDeflectorWrapper Member List
+
+
+ +

This is the complete list of members for pyhelios::PyBeamDeflectorWrapper, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
beamDeflector (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapper
getAngleDiff() (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
getCachedAngleBetweenPulses() (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
getCurrentBeamAngle() (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
getEmitterRelativeAttitude() (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
getScanAngle() (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
getScanAngleMax() (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
getScanFreq() (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
getScanFreqMax() (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
getScanFreqMin() (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
getVerticalAngleMax() (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
getVerticalAngleMin() (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
PyBeamDeflectorWrapper(std::shared_ptr< AbstractBeamDeflector > beamDeflector) (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
setAngleDiff(double angleDiff) (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
setCachedAngleBetweenPulses(double angleBetweenPulses) (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
setCurrentBeamAngle(double currentBeamAngle) (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
setScanAngle(double scanAngle) (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
setScanAngleMax(double scanAngleMax) (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
setScanFreq(double scanFreq) (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
setScanFreqMax(double scanFreqMax_Hz) (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
setScanFreqMin(double scanFreqMin_Hz) (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
setVerticalAngleMax(double verticalAngleMax) (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
setVerticalAngleMin(double verticalAngleMin) (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinline
~PyBeamDeflectorWrapper() (defined in pyhelios::PyBeamDeflectorWrapper)pyhelios::PyBeamDeflectorWrapperinlinevirtual
+
+ + + + diff --git a/doc/html/d4/d9d/classpyhelios_1_1PyPlatformWrapper.html b/doc/html/d4/d9d/classpyhelios_1_1PyPlatformWrapper.html new file mode 100644 index 000000000..b7832658f --- /dev/null +++ b/doc/html/d4/d9d/classpyhelios_1_1PyPlatformWrapper.html @@ -0,0 +1,246 @@ + + + + + + + +Helios++: pyhelios::PyPlatformWrapper Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyPlatformWrapper Class Reference
+
+
+ +

Wrapper for Platform class. + More...

+ +

#include <PyPlatformWrapper.h>

+
+Collaboration diagram for pyhelios::PyPlatformWrapper:
+
+
Collaboration graph
+ + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PyPlatformWrapper (Platform &platform)
 
+double getLastCheckZ ()
 
+void setLastCheckZ (double checkZ)
 
+double getDmax ()
 
+void setDmax (double dmax)
 
+double getMovePerSec ()
 
+void setMovePerSec (double movePerSec)
 
+bool isOnGround ()
 
+void setOnGround (bool onGround)
 
+bool isStopAndTurn ()
 
+void setStopAndTurn (bool stopAndTurn)
 
+bool isSlowdownEnabled ()
 
+void setSlowdownEnabled (bool slowdownEnabled)
 
+bool isSmoothTurn ()
 
+void setSmoothTurn (bool smoothTurn)
 
+bool isOrientationOnLegInit ()
 
+void setOrientationOnLegInit (bool setOrientationOnLegInit)
 
+PyNoiseSourceWrappergetPositionXNoiseSource ()
 
+PyNoiseSourceWrappergetPositionYNoiseSource ()
 
+PyNoiseSourceWrappergetPositionZNoiseSource ()
 
+PyNoiseSourceWrappergetAttitudeXNoiseSource ()
 
+PyNoiseSourceWrappergetAttitudeYNoiseSource ()
 
+PyNoiseSourceWrappergetAttitudeZNoiseSource ()
 
+PythonDVec3getRelativePosition ()
 
+RotationgetRelativeAttitude ()
 
+PythonDVec3getLastGroundCheck ()
 
+PythonDVec3getNextWaypointPosition ()
 
+PythonDVec3getPositionPython ()
 
+RotationgetAttitudePython ()
 
+PythonDVec3getCachedAbsolutePosition ()
 
+RotationgetCachedAbsoluteAttitude ()
 
+PythonDVec3getCachedCurrentDir ()
 
+PythonDVec3getCachedCurrentDirXY ()
 
+PythonDVec3getCachedVectorToTarget ()
 
+PythonDVec3getCachedVectorToTargetXY ()
 
+ + + +

+Public Attributes

+Platformplatform
 
+

Detailed Description

+

Wrapper for Platform class.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/d4/d9d/classpyhelios_1_1PyPlatformWrapper.js b/doc/html/d4/d9d/classpyhelios_1_1PyPlatformWrapper.js new file mode 100644 index 000000000..a7a800c99 --- /dev/null +++ b/doc/html/d4/d9d/classpyhelios_1_1PyPlatformWrapper.js @@ -0,0 +1,40 @@ +var classpyhelios_1_1PyPlatformWrapper = +[ + [ "PyPlatformWrapper", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#ab3882624b109c0c25d262be9aa1f9944", null ], + [ "~PyPlatformWrapper", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#aaac433cfe200e0042781e81d9c6d5405", null ], + [ "getAttitudePython", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#af2f9e69c70173dc1714e5b50db01a51e", null ], + [ "getAttitudeXNoiseSource", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a39252d930aa3b452d2bfc99eb15c109e", null ], + [ "getAttitudeYNoiseSource", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#ad635aa74612d99ff8fe07f87be698673", null ], + [ "getAttitudeZNoiseSource", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#ac7d2699c3e1f7229dfb158212281e9fd", null ], + [ "getCachedAbsoluteAttitude", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#ab54c12c1f4ad9d9cf167ed47ea65f682", null ], + [ "getCachedAbsolutePosition", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#afad22e003de899594176762cccb16c66", null ], + [ "getCachedCurrentDir", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#ad25594274984b7291e27c85fcbaedd7d", null ], + [ "getCachedCurrentDirXY", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#aeb98569d4e6ab9d141c0a207f4f276cf", null ], + [ "getCachedVectorToTarget", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a91550ca202e7e0bace800398ab859096", null ], + [ "getCachedVectorToTargetXY", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#afd5a7915553b73ac3ea669cb20632766", null ], + [ "getDmax", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a9decf1cd56a8bf0e4b86e04c6356aac7", null ], + [ "getLastCheckZ", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a6e5841515ceb6f315999e80869835efb", null ], + [ "getLastGroundCheck", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a8d7705d4542e2364595ab93e06d0b3c9", null ], + [ "getMovePerSec", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a162c06ca901610d9dbb28399ab853b5f", null ], + [ "getNextWaypointPosition", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a2f75b97690aeb7a9fe8318fca1858bae", null ], + [ "getPositionPython", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#ad393cf97b82158075ddc3addfdcf0f3d", null ], + [ "getPositionXNoiseSource", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a3ee1f4719bbc1a3634d7fe7763c6026b", null ], + [ "getPositionYNoiseSource", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a27a9dd663ea0acc02ec9c4d945f2cc11", null ], + [ "getPositionZNoiseSource", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a4f2eee27090d0d917ff7a35b9827c1ca", null ], + [ "getRelativeAttitude", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#aa10b63e3a3552539837fe99abba624f1", null ], + [ "getRelativePosition", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#aed47e37bf8bc5d7df22f6c336f92a7df", null ], + [ "isOnGround", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#acfa5d1a77c532b8cb125cd5050b823b8", null ], + [ "isOrientationOnLegInit", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a06e9cefe8aeae4640767f2b4ef17fc3e", null ], + [ "isSlowdownEnabled", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a490335834e2922bc4b152808e9a477b6", null ], + [ "isSmoothTurn", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a0dcea1d9d996dae309290a64e4173cee", null ], + [ "isStopAndTurn", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a4124284b56821a3a290a02f193d9e284", null ], + [ "setDmax", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a590e67c0dcd0bfa097b780e4a08dfeac", null ], + [ "setLastCheckZ", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a81355727ddb46b0a693c1f7224428bd7", null ], + [ "setMovePerSec", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a47d20fbab9e06c635d6f1d61623ba452", null ], + [ "setOnGround", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#afe1f5a253427340766af06a59e60e3b0", null ], + [ "setOrientationOnLegInit", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#aa661b94f6a921a489f6e54f50aae7b61", null ], + [ "setSlowdownEnabled", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a17a07d67455ff2ea5da32179701f7c11", null ], + [ "setSmoothTurn", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a475dee99fe1205375a50e8787cc964a7", null ], + [ "setStopAndTurn", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#a6f6fa05956d7779633a2c16b6d227c9b", null ], + [ "platform", "d4/d9d/classpyhelios_1_1PyPlatformWrapper.html#aaa20486f2f3d05d1c7dc600fc544b426", null ] +]; \ No newline at end of file diff --git a/doc/html/d4/dc2/classpyhelios_1_1PyPrimitiveWrapper__inherit__graph.map b/doc/html/d4/dc2/classpyhelios_1_1PyPrimitiveWrapper__inherit__graph.map new file mode 100644 index 000000000..942486ccc --- /dev/null +++ b/doc/html/d4/dc2/classpyhelios_1_1PyPrimitiveWrapper__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/html/d4/dc2/classpyhelios_1_1PyPrimitiveWrapper__inherit__graph.md5 b/doc/html/d4/dc2/classpyhelios_1_1PyPrimitiveWrapper__inherit__graph.md5 new file mode 100644 index 000000000..03028973f --- /dev/null +++ b/doc/html/d4/dc2/classpyhelios_1_1PyPrimitiveWrapper__inherit__graph.md5 @@ -0,0 +1 @@ +271ac4175a38d874755f033a0fcca26e \ No newline at end of file diff --git a/doc/html/d4/dc2/classpyhelios_1_1PyPrimitiveWrapper__inherit__graph.png b/doc/html/d4/dc2/classpyhelios_1_1PyPrimitiveWrapper__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..eb6efd766ab54d50c12d0646f08bb0fcac37c2c2 GIT binary patch literal 9376 zcmZvCWmuL`v-LwrC@mn3G*W`JbV`?kbV^AH(v5U?Nk61?cXun@CEY0{gKS6&J-;1iOe><4kk z6YOthOMWZ_@){y7F7nAa^>E2W{nOMF^2rs`>&(~mDDXcJ>19zG@ESy*(7eC!4Ek@9 z^q~oBF|*t>v6FglD8CNG5WQhB`1}xLJ+iJ(yA%+b4m#m%{7$iUJ+!()&s z{Gv>d4cI(8KVRG2{MWf{+27Oi%;{)R#KED)Y+~|X7a3I)rlzJSi13RI-;p6oIy&LS#Y|zu+zL!C zi_I=CFE20uOiuoP+c`fy@lZ1}qkrEX?V0@b5u1=O_~%a|aR~{7^Q{r65hEkx+U{;} zYAVTCt;I~~+F{*FZ;DN8aEsejNbSt@G$k!9lAxeq62HqkN-8P}EEMW#owDX;5@K#^ zzr@5>?(Xj87Bei9lamk#i%z4Tw>JbBg3;RADy5*1;7TSzcKWSBTRAnP`lH&-?QN-E zTZBfH$=Yx-yWu}@D(m126ciM1@FpA_oT!)>cs)Hmxl|r(TU%TCzn)i1PH>Qkd_|ke zD-B2ZWH;q~PC zNlncVL{-vz2L=oh9&g_7Tly1u@&$#3@Jddf%iVA6#$1TnkoIsyjg4s-7#N~5G9pW~ z>N-b9F&Y~ipVt6)x&{XaqhMg*Gk!iE&y|HOs-%QvXlVHD@!qAox7Tp3(|@+khCE%! zi^cIif|L&e`4B;3ZdVGjW4+V=1$5?fskTpE9&G>`A!XgMj<&Y=02LJ#0s=CI_|xM< z$J)1Vcb8UUY0@5NW{X@OKYsKJ4D15SqoSg!m+Qkpq0sKXiT2C`3v|b>(NlHe56Wjs zMj(~_l9LG!4i2yg2!i6`aCvxneSU9;A}M@SQDJpFP_M9KHy!m$NWc%kB*%czGcqDT z?yuJ))f?^KgoTCa8yov)X1=cYKoveUJ^lA!u1dYxna%a;2pz=fa0)l(z`y|3bN^Ml z1}qfBKVxGZ*Qe{Yf4fn~j6hzJ$|bRi*q8Q}!M$c>#ai!+?DIo?c`~hKvvza7eZBJZ zhz$8(zln&5eEa_0Hz7eS_HrbN4PkzM9(sOzeJ!k|MGPK8_NE;W!~gvGGr!v7Wo*p6ebpKK`3o9Zb0%svFKR>X( zo`*@J5>deI(l0nzI`*1INA~P;ph@@3KW1gGYW`p%c5d!h50(Z7K2Rv-Hy)BO0ycQ? z4))@b65D@!s!Uq7a>d%e(*@ulBp4qo-ISHF^W;-#Ye4{5tL(ph^F{>Vj-0%_#KQ3K zu+pbbh+y*|qu2VQsb;H8F>n9vBMS+&(Rz^%#Y9EDc03BeHP0_T`^Ut@lyk(+!GQ=l zapn&$OUaf^WFg?PBw*35_ipvL`+K%IG~41g4DsX=}@7z0~NxxTxKHHpmF^ z?(jvX;^ifL|Ni~XN}E?K_wH@&>5V%sK0YNtQ9L}norOA^*lX(l-fA5Gq`IyyS#fc( zxX=vUGj48f_p<@I^6F~8*w~lgyt@ZE6^Q=1ULFLGq;Q8We;XPaQr6aHs_{fXKma!K zyI!Dx{4Pr5KW2)Y`+Z(|V=g&6fkWC7fIyXYt}|0^hg`bPqh zfGY4sJ- zcpr$xbaBUgjm7D_MOju}9+J@giSKO1cqxs>-G);L%E3q-v3xw7aKXWZ!zn(h{k% zvNAnAeY>95ga7QTdKe))5(Ku5jg2q3uU=(WSL154ymI$kT48*8yepd}R$re9F*D~| z(3Fty?>_WJ#+201ApE<&p281}ow;IRVUd!T@5vPL6<-Jo4>vG0{K5FSw7)sKsGvaD z!GY76pRBO35R04~6Jl63nxi9IdC7U@NF;y^J(6Z-^Z^*8 z&xM49%)Wj#>u2+P5>F`vS7MJCSc#l}ps7CN8@$rzR&Sx4N@K z|I=!UAmevmfpWHzwssi6*xGu8;%SdgDmNO}7sZ!$Dg4Cw}p|*ulQPzyEf$$os1g zKq53V6JlUsP=cHLb&u)LlCiRsMxwN8dh6&YqPtuC`ue(BD=o)(XEfUvbSom@{5 z-;hE=(tU?EMd@)34>jL1sk6#FqR#g}JvyPWvAq&Mz1Yh|wmGIaIdgp$5n*zsC>%tT zwIMPos;i6IdUr&GgQIdfqogF)S*k65hS_EZ~%Zp^(kp8S(iG zSqj|g2TgOc6XlOo!pF-?Y*zF7*Vkx1B_$Q(hSWJVN@uSbigI#D=oB9#9_}Vi7Hlxv z*KH}VCb@VchBj9N$(Q@Q;XLB7a_g&1pS;_iKI2?X(cv&MQpu%oVNK+r|A<#TPmHD$ z$Ai5nH!lxA5Ho-MPZrw!?Y_>5v-aflwCKF*;JPiF%`%E#pj(Yi<~zh^haJB@YC!p@ zq_5q{5PxX$@Fp8=4QC~B+tg1UYfy;ejeXLAs&H^PODR6RFgI_|4-mK~o z?1a_x9&}Y#c6=Z5lakp3JEx|Qh=^idzRvjV+t46bYjvL8gaJ(e4RQPz%i_TP{<$bF z>in#ZuG@bf7kC+ZY(^`u6s{di}SzrFu_VsL|MGe_`u=KbYl| zORhxU+7gILC3#Ms@mV6W44@7P$uKCqWsJNsJxtoyNVosk@jV{>z&So#_5B^sog!du zC;6B!NkO{>jmf6Yxq*cwVNH#w`{f*FP{bqZ<74Ud#l-HPKdV`VGTzd$l+kGqSlTS# zZtdwwNaW&4OFMxX#Idwi&mdt0W0zH7+g%1@#6AA722AnAls;!Hq2oIm^ zW6pJr#g&203i15>&qI>6P{y}qur#^7;*PF=T5h34MCx77@Ja_(@)Gb?dhvabk~#-r zBI9te!|4}5+u4(g*?Mosf`;DohL1Y;&D*k0WO9=Bf!H>qsX|oet0itTqPNN#ar{9l zD2Sq#i`OgHy#eU#ag7C83^!XTpZxqueVUpCKs@-SlgV$>6b6Fn!l|dnVV!t)*Qvrh z7PGk}u>bAkKu+!^CA}Hu#YHtXF(2l`t+eN&L{KHL&)XR}GJZ}ZQTKErQgknMLw?*bf9V2g*+?gZIGKe8L)k+-MvWd%dK^lVk&MuJ)7$F7Slz*a(k7F z1MlkKoSdR0eqNl~+TQEazND^C6DAkI2=+B8?pqeuR!!=dA zPQ#s6JP?Z1S#}B# z%*;JIZDZr!x4oSwE-ub!d$f+tGASHpGYH9XhRVt_&?O@aW`KSXGCMbBRCuYPrskh3 z`!XsuH9Ve?PJawK2D2GHj=%o}pB**AP$IcsQ4y!(LDIyRDfRJ7B9`N$O-`&7?z@6b z_!w~yaE8p1>%@iI2XjK@W@Fr}+}y%)!~E)+m!BM^a(tm1BAOcmvF{L(k2`GI1lkjr zt4_C4s_g>`ov+Ig&$s*5A0OyuD~vD}7Y|_j@do=b85$fE6BZ`n;4pI+1ML@T`PV55 z68@wJm_Nupd6fS;{dzgB0#2-oL@?C{j}hbVzZokm(nG~{Vun&r7bk9RK5>Z~5k*C< zIf`hEA2GZFp3d+lI&$qq8wd&4x*?DqQ!8YGLJl-LIgcAE0tLRlz$g8=OR81>GCSE8OI9_4c zBZ5Y59lEo_d(qtN%L5$8s7CT5RF?c;{vTIZn0-7cjxsF9UUG8QpkN9`)YoU2yJ!0j zj(P^Qw>yJjmXg+lOxMLf!HI4}Y`{0@mlv1kougo_^}ilJR0QA|b1E8|O^}fuQt~4` z0q7HJ`*%OVv3~W7LB<~FuMc!uzWHggX-^3t&2q^VNvk&1r|j6`Kalo@j|qwd&=d0H zL8d=h@HpGLl+nxmK6zuql1cX-{q~Ym6r5R73Nbw&H59lIbA6w`9dNe+#(Tf{Iv;5j}1eiE3To&fVN6Z<*b*6+x`03^(c3b^vR{I~G? z#b(kY7=?|R-hcjx!=U5^em#YtU=$9ri^1rq$G5%7cfghUf4iA^oLP0|D6na=_#!b1 zGBd5+*MAGWFpr9@4!+%7%Fg!s(bmSuY%z|?DNTlqN!AUhiFiCr^JkixZ$&;k5y;3W z2)}kNJoq+01-kZcJAWvQ1INrs_#Dx*vVyciSbtqo zT$|w2=k{^Vpt^`ztCpV6PoZzf;x(v;9rrhde!Fw=d8b!a?UnT>uwX?I+ zx3VhvmJDXY+1XidHrmVYT7SQF&zz3U%=CdNw8CnEOI>p?Lu0(&eWlfd&2B@={qbg- zm4m}_N?ohSYj4PUrIi$LEY2sZKHZK?daWdYhWlD_k}_HL)rMzzd3g{+CYK}%3KFdE3Y8q`bDoWlj|0wf{!5d}F~9C7@NTe+ zF%}0xLc)&OdTSApmoHx)EVmGwn3y;}-t*c!Y#JM zb>EIoNqK=0=o?F?*f}8-s(jZ z7BWEED~$S9H#QK#m<%Y%b-)ZpyQcS+(X5?1LwWGb^Qk*JI(S^pau&JTF6S*E-pegd zT7E}6W7!0(`Vf12dwp~B;DQ4Bh6-6eAtN+E5Cr=ABG@}PtnKYFIOemtU0Ra7w?`4p zQmSTt^G4c|2HxDm3(Ss5DJko_6OD?E$182*4|i96ZBLJk?6jgmAx7cUw6yO~Q*s9f z1`Hs8Pg|eO@Om78(Sarw7DLmeIzueF&HZTT=*hyb^~2Z_qN3V$J#UPaH6WJbInscM z2&18)VS^l;uJ?tp^-@w&&VqEF1(UV9ni@Va&$rhv(9!XxX3CFTA0HowySjXrTHF$i zjg8sBAX*DXE;Ti^UJg#qIlwTgi-^F5hK3pu5fK$PH>a}os+*g?2@MX$PRl>FfH1MM z$AWpFV*7VS7044Vk6U{#`yHiTf{z7hyu7^fw=7gtzJ!1!(`6ht=_POj1meV>Kl(mC zJ_l=EflL$>K5+UyJw5O4KFr_LSuON}0e=omy&7OFy;}<;PikmrD6j+z?t>Y-$@!Gh zD69g|Lu_P`ea~OK*t`@l3Tt_|T(CS^Y$z@-k4jETDhJ#EN7G115}OfH3Y(E+)gZ?! zNJ3K5Y@P!aR3_&^w?^}MvTsJqHMu3XphX6@Zr;o}1IyOEHp{M_)g`VdCS{`m_b&V0d~uAwD7D9WygC zU`}Xc2!Jc)=y4e)B_W1SFh3I8GV7$bw z8r*Lx3otYW#O7}f4-RJ21>Cv~K`3RY&zVo;RYXN$^%58nb6M(>k&!_?DsR)-dea3x z25&ERyHeBABv5l3tkgiiC90WGy;7t`%vx7dgZE%*V-wlj%n!(EFhHV9OG`VSZJ?^C zsI2bqGpdbFPT~qr5K03;@D2_}1&9a!^@b7p-d!Ebmb8_ZW5N3fTW%$UhohgJon->T z4=`zKgYk?oW-C9R?%lh08-hQ-($mo)7qiSk3k#nMJzTs5u?G>(a+KjS?Q+JmstO1| zg3&{7KIXwdt)imhd5y^Y4WNB&>g(%+Ncr^JAr&)KroVeZG*I9^kB*C@z8uz5TR{-M zI$8oPIs6w>QzO9fKJO7nQMM{c;D5Y7R~-8dR0nLDXEruAfZkqP?eHZKbmti!8R;36 zc0=Ii}(xc5`d1b9fjH1Z+V;K|5fwl-1RP0LNx{ zFkA6_#9k$?*-@tQ`?dm%4Y|-9;{x=k(ca`Q=i`9n}*W$v=shB>%i36kz4GTjn)@{+`2zTfX!Y(K&k#KhA*&0sHKDlxC z@Bp3S^Tj47Om3Uy?(X21u(I{5@BGGnIF zwbj&+GOdMMp-^~tL2|&DUIXSE4)QxgD3LI``aICjPakMLJf8PFAcJjhFU;L9#y%Jt z*Hl-pZf^QtExTdbG@k~{Zh!ppPrwKb4h{}Rj$a- zj@dx%Gtt*?U-rDS0x(H?p6n?tjq0{vQkRsKMZwO=X`GdnRa{sY!luR@1ZKIOM*H1P z5>nDRFiOnippWZvM|>pGIJCU}-P!r$=I*Y_>+$Bp0gt&AJ__RS)Kt8~{>5(CGM&<OkDl0*Ckl4Gou63se?RGH3to z&q(}p2L~}cIvU|{ysTph6#=NK)#AztWCK$qBqYl*s08q%%oaI@VuqkGkoJrN0s@8? z7gPNM0zw|!`CKpP-EKA$lY!3Swws$c3)uai)gtp2(gWFuBR!)-kSt!`$Dq|JE%k;vS8&Hz)TW2AhYS*q9R7EDwFW;TJ1)A z>96;drNkO{xD8xH(`EFz)R7>79IuXarkk8>906JD|NECUU{Y1n3TZKa_Oi63h2P1H z*Mf>&1!&rYJ99*1@!g*EY&5S0lJgKVc7~dfbvTqtcFZg0pTxrKnyrb?dr+Q(6E!h$nsC7$ic~4 zS6D@(1uH*)YHn^Wn_$LU*I4UCe2KgT*+%Oxhp~87Id&m2mu~+$hhhl`31Lzq&Q&;Q z5Ea3$#~428nwry@6S_>yBBP-s<7z-4h|;jT00iFP91iAdWQ$Xq%@5Fb_xEK>^rFoV zfE2A>XHANPPUMFvbdQxS8Lm?AQHjs3nv-@mJ2%HUrzWH$03a6BYI&p?pQqc%-%rO@ zEI_k*+jd_$Ym0$_fwLb!^&31W3VI-*XhtU|qdGY`LD~U(P+_woxC03Llhux$`I@5c zT6&zeoPEhHM#^9%zrre$LGz6+|KhWxF=6W+R`Z}rWzLWY-~L4E+rft zYiDbP9}#xci3}V-&P+XJ>M~VzrfKPA+FlTZ${K~0g8ATrGsor zDNEUt^Ca+ZX3+ITNOoonJiF-(hS7L#*Z#`6fUbD zH8q?jqp87JVu6&P9|6;fdgT{X85tSzK1m=MHXXNiU9EV532}6_>bGEQ)A7^e@zb~M zQPP~eyuW{YLV>^}p{}kTdrMsQQR0)Lsw&>mQWH$ztk}HgBT}{4K5l!$@bdD~Zu2As zC9U3W^EsF=V6y8QK8}AAJSl(DK5YLCn29c!PeYbB`rP9991*_OWQ54Xz@VeLrY5&M5Dps?$A`k@kVTa&1j=`uU%sjCwJx%A|Azs%_RWUaiS zq5~+fnhl$NSd`>IXCkuZaXxts^Q&ZvG~>X?2<%Qk_hWobWIvFf&>=ja(@&WK8hTVx z68)uoh@btJanG_H3SNqlPftA(e)dSPyIntegerList.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyHeliosUtils.h>
6 #include <list>
7 
16 public:
17  // *** ATTRIBUTES *** //
18  // ******************** //
19  std::list<int> &list;
20 
21  // *** CONSTRUCTION *** //
22  // ********************** //
23  PyIntegerList(std::list<int> &list) : list(list) {}
24  virtual ~PyIntegerList() {}
25 
26  // *** GETTERS and SETTERS *** //
27  // ***************************** //
28  int get(long _index){
29  size_t index = PyHeliosUtils::handlePythonIndex(_index, list.size());
30  std::list<int>::iterator it = list.begin();
31  for(size_t i = 0 ; i < index ; i++)it++;
32  return *it;
33  }
34  void set(long _index, int value){
35  size_t index = PyHeliosUtils::handlePythonIndex(_index, list.size());
36  std::list<int>::iterator it = list.begin();
37  for(size_t i = 0 ; i < index ; i++)it++;
38  *it = value;
39  }
40  void insert(long _index, int value){
41  size_t index = PyHeliosUtils::handlePythonIndex(_index, list.size());
42  std::list<int>::iterator it = list.begin();
43  for(size_t i = 0 ; i < index ; i++)it++;
44  list.insert(it, value);
45  }
46  void erase(long _index){
47  size_t index = PyHeliosUtils::handlePythonIndex(_index, list.size());
48  std::list<int>::iterator it = list.begin();
49  for(size_t i = 0 ; i < index ; i++)it++;
50  list.erase(it);
51  }
52  size_t length() {return list.size();}
53 };
54 
55 #endif
static size_t handlePythonIndex(long _index, size_t n)
Translate received index from python, where negative values have a special meaning (i...
Definition: PyHeliosUtils.h:14
-
Wrapper for std::list<int> class.
Definition: PyIntegerList.h:15
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyHeliosUtils.h>
6 #include <list>
7 
8 namespace pyhelios{
9 
10 
19 public:
20  // *** ATTRIBUTES *** //
21  // ******************** //
22  std::list<int> &list;
23 
24  // *** CONSTRUCTION *** //
25  // ********************** //
26  PyIntegerList(std::list<int> &list) : list(list) {}
27  virtual ~PyIntegerList() {}
28 
29  // *** GETTERS and SETTERS *** //
30  // ***************************** //
31  int get(long _index){
32  size_t index = PyHeliosUtils::handlePythonIndex(_index, list.size());
33  std::list<int>::iterator it = list.begin();
34  for(size_t i = 0 ; i < index ; i++)it++;
35  return *it;
36  }
37  void set(long _index, int value){
38  size_t index = PyHeliosUtils::handlePythonIndex(_index, list.size());
39  std::list<int>::iterator it = list.begin();
40  for(size_t i = 0 ; i < index ; i++)it++;
41  *it = value;
42  }
43  void insert(long _index, int value){
44  size_t index = PyHeliosUtils::handlePythonIndex(_index, list.size());
45  std::list<int>::iterator it = list.begin();
46  for(size_t i = 0 ; i < index ; i++)it++;
47  list.insert(it, value);
48  }
49  void erase(long _index){
50  size_t index = PyHeliosUtils::handlePythonIndex(_index, list.size());
51  std::list<int>::iterator it = list.begin();
52  for(size_t i = 0 ; i < index ; i++)it++;
53  list.erase(it);
54  }
55  size_t length() {return list.size();}
56 };
57 
58 }
59 
60 #endif
Definition: PyAABBWrapper.h:7
+
Wrapper for std::list<int> class.
Definition: PyIntegerList.h:18
+
static size_t handlePythonIndex(long _index, size_t n)
Translate received index from python, where negative values have a special meaning (i...
Definition: PyHeliosUtils.h:16
diff --git a/doc/html/d5/d20/classpyhelios_1_1PyDetailedVoxelWrapper__inherit__graph.map b/doc/html/d5/d20/classpyhelios_1_1PyDetailedVoxelWrapper__inherit__graph.map new file mode 100644 index 000000000..ecf98f078 --- /dev/null +++ b/doc/html/d5/d20/classpyhelios_1_1PyDetailedVoxelWrapper__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/d5/d20/classpyhelios_1_1PyDetailedVoxelWrapper__inherit__graph.md5 b/doc/html/d5/d20/classpyhelios_1_1PyDetailedVoxelWrapper__inherit__graph.md5 new file mode 100644 index 000000000..ca47f832c --- /dev/null +++ b/doc/html/d5/d20/classpyhelios_1_1PyDetailedVoxelWrapper__inherit__graph.md5 @@ -0,0 +1 @@ +9a52e87cb5f8ec613a1e4e76c7a769dd \ No newline at end of file diff --git a/doc/html/d5/d20/classpyhelios_1_1PyDetailedVoxelWrapper__inherit__graph.png b/doc/html/d5/d20/classpyhelios_1_1PyDetailedVoxelWrapper__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..c18cf4b1b77a615e49996cef5622762c029ff987 GIT binary patch literal 5901 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 literal 0 HcmV?d00001 diff --git a/doc/html/d5/d48/classpyhelios_1_1PyMeasurementWrapper-members.html b/doc/html/d5/d48/classpyhelios_1_1PyMeasurementWrapper-members.html new file mode 100644 index 000000000..8d3caf1ec --- /dev/null +++ b/doc/html/d5/d48/classpyhelios_1_1PyMeasurementWrapper-members.html @@ -0,0 +1,134 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyMeasurementWrapper Member List
+
+
+ +

This is the complete list of members for pyhelios::PyMeasurementWrapper, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
getBeamDirection() (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
getBeamOrigin() (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
getClassification() (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
getDistance() (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
getEchoWidth() (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
getFullwaveIndex() (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
getGpsTime() (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
getHitObjectId() (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
getIntensity() (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
getPosition() (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
getPulseReturnNumber() (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
getReturnNumber() (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
m (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapper
PyMeasurementWrapper(Measurement &m) (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
setBeamDirection(double x, double y, double z) (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
setBeamOrigin(double x, double y, double z) (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
setClassification(int classification) (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
setDistance(double distance) (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
setEchoWidth(double echoWidth) (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
setFullwaveIndex(int fullwaveIndex) (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
setGpsTime(long gpsTime) (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
setHitObjectId(std::string const hitObjectId) (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
setIntensity(double intensity) (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
setPosition(double x, double y, double z) (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
setPulseReturnNumber(double pulseReturnNumber) (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
setReturnNumber(int returnNumber) (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinline
~PyMeasurementWrapper() (defined in pyhelios::PyMeasurementWrapper)pyhelios::PyMeasurementWrapperinlinevirtual
+
+ + + + diff --git a/doc/html/d5/d6c/SurveyCopyTest_8h_source.html b/doc/html/d5/d6c/SurveyCopyTest_8h_source.html index b9fa1776c..54a655b84 100644 --- a/doc/html/d5/d6c/SurveyCopyTest_8h_source.html +++ b/doc/html/d5/d6c/SurveyCopyTest_8h_source.html @@ -91,19 +91,19 @@
1 #pragma once
2 
3 #include "BaseTest.h"
4 #include <Survey.h>
5 #include <OscillatingMirrorBeamDeflector.h>
6 #include <HelicopterPlatform.h>
7 #include <FullWaveformPulseDetector.h>
8 
9 namespace HeliosTests{
16 class SurveyCopyTest : public BaseTest{
17 public:
18  // *** CONSTRUCTOR *** //
19  // ********************* //
23  SurveyCopyTest() : BaseTest("Survey copy test"){}
24 
25  // *** R U N *** //
26  // *************** //
30  bool run() override;
31 };
32 
34  // Build base Survey
35  std::shared_ptr<Survey> survey = std::make_shared<Survey>();
36  survey->name = "MySurvey";
37  survey->numRuns = 1;
38  survey->simSpeedFactor = 1;
39  std::list<int> pulseFreqs;
40  pulseFreqs.push_back(100);
41  pulseFreqs.push_back(30);
42  pulseFreqs.push_back(70);
43  survey->scanner = std::make_shared<Scanner>(
44  0.1,
45  glm::dvec3(2.0, 3.0, 0.0),
46  Rotation(0.0, 0.0, 0.0, 0.0, true),
47  pulseFreqs,
48  4.0,
49  "MyScanner",
50  80.5,
51  3.0,
52  0.9,
53  0.7,
54  0.8,
55  100,
56  false,
57  false,
58  false,
59  true
60  );
61  survey->scanner->scannerHead = std::make_shared<ScannerHead>(
62  glm::dvec3(0.4, 0.7, 0.1), 0.067
63  );
64  survey->scanner->beamDeflector =
65  std::make_shared<OscillatingMirrorBeamDeflector>(
66  3.141592,
67  1400.5,
68  70.8,
69  1
70  );
71  survey->scanner->platform = std::make_shared<HelicopterPlatform>();
72  survey->scanner->detector = std::make_shared<FullWaveformPulseDetector>(
73  survey->scanner,
74  1.5,
75  0.1
76  );
77  survey->legs.push_back(std::make_shared<Leg>());
78  survey->legs[0]->mPlatformSettings = std::make_shared<PlatformSettings>();
79  survey->legs[0]->mPlatformSettings->onGround = false;
80  survey->scanner->platform->scene = std::make_shared<Scene>();
81  std::shared_ptr<Scene> baseScene = survey->scanner->platform->scene;
82  baseScene->primitives.push_back(new Triangle(
83  Vertex(), Vertex(), Vertex()
84  ));
85  baseScene->primitives[0]->part = std::make_shared<ScenePart>();
86  baseScene->primitives[0]->part->mPrimitives.push_back(
87  baseScene->primitives[0]);
88  baseScene->primitives[0]->part->onRayIntersectionMode = "TRANSMITTIVE";
89  baseScene->primitives.push_back(new DetailedVoxel(
90  glm::dvec3(0.0, 0.0, 0.5),
91  2.15,
92  std::vector<int>({1,2}),
93  std::vector<double>({0.1, 0.2, 0.3})
94  ));
95  baseScene->primitives[1]->material = std::make_shared<Material>();
96  baseScene->primitives[1]->material->ka[0] = 1.1;
97  baseScene->primitives[1]->material->ks[1] = 1.2;
98 
99  // Copy base Survey
100  std::shared_ptr<Survey> copy = std::make_shared<Survey>(*survey);
101 
102  // Do some changes on copy
103  copy->name = "CopiedSurvey";
104  copy->numRuns = 0;
105  copy->scanner->name = "CopiedScanner";
106  Rotation &copyMRA =
107  copy->scanner->scannerHead->getMountRelativeAttitudeByReference();
108  copyMRA.setQ3(copyMRA.getQ3() + 0.1);
109  copy->scanner->beamDeflector->cfg_device_scanFreqMax_Hz += 1.0;
110  copy->scanner->platform->cfg_device_relativeMountPosition.x += 0.01;
111  HelicopterPlatform *hp =
112  ((HelicopterPlatform *)copy->scanner->platform.get());
113  glm::dvec3 & speedXy = hp->getSpeedXyByReference();
114  speedXy.x += 0.1;
115  Rotation & r = hp->getRotationByReference();
116  r.setQ2(r.getQ2()+0.1);
117  copy->scanner->FWF_settings.minEchoWidth += 0.001;
118  copy->legs[0]->mPlatformSettings->onGround = true;
119  std::shared_ptr<Scene> copyScene = copy->scanner->platform->scene;
120  copyScene->primitives[0]->getVertices()[0].pos.x += 0.1;
121  copyScene->primitives[0]->part->onRayIntersectionArgument += 0.034;
122  copyScene->primitives[1]->material->ks[1] += 0.1;
123  DetailedVoxel *copyDv = (DetailedVoxel *) copyScene->primitives[1];
124  (*copyDv)[1] += 0.1;
125 
126  // Validate copy
127  if(copy->name == survey->name) return false;
128  if(copy->numRuns == survey->numRuns) return false;
129  if(copy->simSpeedFactor != survey->simSpeedFactor) return false;
130  if(copy->scanner->name == survey->scanner->name) return false;
131  if(copy->scanner->numTimeBins!=survey->scanner->numTimeBins) return false;
132  if(copy->scanner->isCalcEchowidth() != survey->scanner->isCalcEchowidth())
133  return false;
134  if(copy->scanner->FWF_settings.minEchoWidth ==
135  survey->scanner->FWF_settings.minEchoWidth)
136  return false;
137  if(copy->scanner->FWF_settings.apertureDiameter !=
138  survey->scanner->FWF_settings.apertureDiameter)
139  return false;
140  if(copy->scanner->scannerHead->getRotatePerSecMax() !=
141  survey->scanner->scannerHead->getRotatePerSecMax())
142  return false;
143  Rotation &baseMRA =
144  survey->scanner->scannerHead->getMountRelativeAttitudeByReference();
145  if(copyMRA.getQ0()!=baseMRA.getQ0() || copyMRA.getQ3()==baseMRA.getQ3())
146  return false;
147  if(copy->scanner->beamDeflector->cfg_device_scanFreqMin_Hz !=
148  survey->scanner->beamDeflector->cfg_device_scanFreqMin_Hz)
149  return false;
150  if(copy->scanner->beamDeflector->cfg_device_scanFreqMax_Hz ==
151  survey->scanner->beamDeflector->cfg_device_scanFreqMax_Hz)
152  return false;
153  if(copy->scanner->platform->cfg_device_relativeMountPosition.x ==
154  survey->scanner->platform->cfg_device_relativeMountPosition.x)
155  return false;
156  if(copy->scanner->platform->cfg_device_relativeMountPosition.y !=
157  survey->scanner->platform->cfg_device_relativeMountPosition.y)
158  return false;
159  HelicopterPlatform *copyHp =
160  (HelicopterPlatform *) copy->scanner->platform.get();
161  HelicopterPlatform *baseHp =
162  (HelicopterPlatform *) survey->scanner->platform.get();
163  glm::dvec3 &copySpeedXy = copyHp->getSpeedXyByReference();
164  glm::dvec3 &baseSpeedXy = baseHp->getSpeedXyByReference();
165  if(copySpeedXy.x == baseSpeedXy.x) return false;
166  if(copySpeedXy.y != baseSpeedXy.y) return false;
167  Rotation &copyRot = copyHp->getRotationByReference();
168  Rotation &baseRot = baseHp->getRotationByReference();
169  if(copyRot.getQ1() != baseRot.getQ1()) return false;
170  if(copyRot.getQ2() == baseRot.getQ2()) return false;
171  if(copy->legs[0]->mPlatformSettings->onGround ==
172  survey->legs[0]->mPlatformSettings->onGround)
173  return false;
174  if(copy->legs[0]->mPlatformSettings->stopAndTurn !=
175  survey->legs[0]->mPlatformSettings->stopAndTurn)
176  return false;
177  if(copyScene->primitives[0]->getVertices()[0].pos.x ==
178  baseScene->primitives[0]->getVertices()[0].pos.x)
179  return false;
180  if(copyScene->primitives[0]->getVertices()[0].pos.y !=
181  baseScene->primitives[0]->getVertices()[0].pos.y)
182  return false;
183  if(copyScene->primitives[0]->part->onRayIntersectionArgument ==
184  baseScene->primitives[0]->part->onRayIntersectionArgument)
185  return false;
186  if(copyScene->primitives[0]->part->onRayIntersectionMode !=
187  baseScene->primitives[0]->part->onRayIntersectionMode)
188  return false;
189  if(copyScene->primitives[1]->material->ka[0] !=
190  baseScene->primitives[1]->material->ka[0])
191  return false;
192  if(copyScene->primitives[1]->material->ks[1] ==
193  baseScene->primitives[1]->material->ks[1])
194  return false;
195  DetailedVoxel *baseDv = (DetailedVoxel *) baseScene->primitives[1];
196  copyDv = (DetailedVoxel *) copyScene->primitives[1];
197  if((*baseDv)[0] != (*copyDv)[0]) return false;
198  if((*baseDv)[1] == (*copyDv)[1]) return false;
199 
200  return true;
201 }
202 
203 }
Test survey copy.
Definition: SurveyCopyTest.h:16
-
Definition: Rotation.h:80
-
double getQ0()
Get the scalar coordinate of the quaternion.
Definition: Rotation.h:115
+
Definition: Rotation.h:81
+
double getQ0()
Get the scalar coordinate of the quaternion.
Definition: Rotation.h:116
glm::dvec3 & getSpeedXyByReference()
Obtain xy speed vector by reference.
Definition: HelicopterPlatform.h:231
-
double getQ3()
Get the third coordinate of the vectorial part of the quaternion.
Definition: Rotation.h:137
+
double getQ3()
Get the third coordinate of the vectorial part of the quaternion.
Definition: Rotation.h:138
BaseTest class.
Definition: BaseTest.h:19
Class which extends Voxel to support AMAPVox format with extra features.
Definition: DetailedVoxel.h:12
SurveyCopyTest()
Survey copy test constructor.
Definition: SurveyCopyTest.h:23
bool run() override
Definition: SurveyCopyTest.h:33
-
double getQ1()
Get the first coordinate of the vectorial part of the quaternion.
Definition: Rotation.h:122
+
double getQ1()
Get the first coordinate of the vectorial part of the quaternion.
Definition: Rotation.h:123
Class representing triangle primitive.
Definition: Triangle.h:13
Rotation & getRotationByReference()
Obtain rotation assistance r by reference.
Definition: HelicopterPlatform.h:236
Definition: BaseTest.h:6
-
double getQ2()
Get the second coordinate of the vectorial part of the quaternion.
Definition: Rotation.h:130
+
double getQ2()
Get the second coordinate of the vectorial part of the quaternion.
Definition: Rotation.h:131
Class representing a helicopter platform.
Definition: HelicopterPlatform.h:12
Class representing a vertex.
Definition: Vertex.h:14
diff --git a/doc/html/d5/d7f/Voxel_8h_source.html b/doc/html/d5/d7f/Voxel_8h_source.html index 53b192056..f7b28b3b8 100644 --- a/doc/html/d5/d7f/Voxel_8h_source.html +++ b/doc/html/d5/d7f/Voxel_8h_source.html @@ -96,7 +96,7 @@
Voxel()=default
Default voxel constructor.
AABB * bbox
Axis aligned bounding box containing the voxel.
Definition: Voxel.h:58
Vertex * getVertices() override
Definition: Voxel.cpp:120
-
Definition: Rotation.h:80
+
Definition: Rotation.h:81
Vertex v
Vertex representing the voxel center.
Definition: Voxel.h:33
Primitive * clone() override
Definition: Voxel.cpp:17
double getRayIntersectionDistance(const glm::dvec3 &rayOrigin, const glm::dvec3 &rayDir) override
Definition: Voxel.cpp:113
diff --git a/doc/html/d5/dad/PyPrimitiveWrapper_8h_source.html b/doc/html/d5/dad/PyPrimitiveWrapper_8h_source.html index 5065948f8..6738155eb 100644 --- a/doc/html/d5/dad/PyPrimitiveWrapper_8h_source.html +++ b/doc/html/d5/dad/PyPrimitiveWrapper_8h_source.html @@ -90,23 +90,24 @@
PyPrimitiveWrapper.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyScenePartWrapper.h>
6 #include <PyAABBWrapper.h>
7 #include <PythonDVec3.h>
8 #include <PyDoubleVector.h>
9 #include <PyVertexWrapper.h>
10 
19 public:
20  // *** ATTRIBUTE *** //
21  // ******************* //
22  Primitive *prim = nullptr;
23 
24  // *** CONSTRUCTION / DESTRUCTION *** //
25  // ************************************ //
26  PyPrimitiveWrapper(Primitive *prim) : prim(prim) {}
27  virtual ~PyPrimitiveWrapper() = default;
28 
29  // *** GETTERS and SETTERS *** //
30  // ***************************** //
31  PyScenePartWrapper * getScenePart()
32  {return new PyScenePartWrapper(*prim->part);}
33  Material & getMaterial()
34  {return *prim->material;}
35  PyAABBWrapper * getAABB() {return new PyAABBWrapper(prim->getAABB());}
36  PythonDVec3 * getCentroid() {return new PythonDVec3(prim->getCentroid());}
37  double getIncidenceAngle(
38  double ox, double oy, double oz,
39  double dx, double dy, double dz,
40  double px, double py, double pz
41  ){
42  glm::dvec3 origin(ox, oy, oz);
43  glm::dvec3 direction(dx, dy, dz);
44  glm::dvec3 intersectionPoint(px, py, pz);
45  return prim->getIncidenceAngle_rad(
46  origin,
47  direction,
48  intersectionPoint
49  );
50  }
51  PyDoubleVector * getRayIntersection(
52  double ox, double oy, double oz,
53  double dx, double dy, double dz
54  ){
55  glm::dvec3 origin(ox, oy, oz);
56  glm::dvec3 direction(dx, dy, dz);
57  return new PyDoubleVector(prim->getRayIntersection(origin, direction));
58  }
59  double getRayIntersectionDistance(
60  double ox, double oy, double oz,
61  double dx, double dy, double dz
62  ){
63  glm::dvec3 origin(ox, oy, oz);
64  glm::dvec3 direction(dx, dy, dz);
65  return prim->getRayIntersectionDistance(origin, direction);
66  }
67  size_t getNumVertices(){return prim->getNumVertices();}
68  PyVertexWrapper * getVertex(size_t index)
69  {return new PyVertexWrapper(prim->getVertices()+index);}
70  void update(){prim->update();}
71 
72 
73 };
74 
75 #endif
Wrapper for Vertex class.
Definition: PyVertexWrapper.h:15
-
Wrapper for AABB class.
Definition: PyAABBWrapper.h:14
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyScenePartWrapper.h>
6 #include <PyAABBWrapper.h>
7 #include <PythonDVec3.h>
8 #include <PyDoubleVector.h>
9 #include <PyVertexWrapper.h>
10 
11 namespace pyhelios{
12 
21 public:
22  // *** ATTRIBUTE *** //
23  // ******************* //
24  Primitive *prim = nullptr;
25 
26  // *** CONSTRUCTION / DESTRUCTION *** //
27  // ************************************ //
28  PyPrimitiveWrapper(Primitive *prim) : prim(prim) {}
29  virtual ~PyPrimitiveWrapper() = default;
30 
31  // *** GETTERS and SETTERS *** //
32  // ***************************** //
33  PyScenePartWrapper * getScenePart()
34  {return new PyScenePartWrapper(*prim->part);}
35  Material & getMaterial()
36  {return *prim->material;}
37  PyAABBWrapper * getAABB() {return new PyAABBWrapper(prim->getAABB());}
38  PythonDVec3 * getCentroid() {return new PythonDVec3(prim->getCentroid());}
39  double getIncidenceAngle(
40  double ox, double oy, double oz,
41  double dx, double dy, double dz,
42  double px, double py, double pz
43  ){
44  glm::dvec3 origin(ox, oy, oz);
45  glm::dvec3 direction(dx, dy, dz);
46  glm::dvec3 intersectionPoint(px, py, pz);
47  return prim->getIncidenceAngle_rad(
48  origin,
49  direction,
50  intersectionPoint
51  );
52  }
53  PyDoubleVector * getRayIntersection(
54  double ox, double oy, double oz,
55  double dx, double dy, double dz
56  ){
57  glm::dvec3 origin(ox, oy, oz);
58  glm::dvec3 direction(dx, dy, dz);
59  return new PyDoubleVector(prim->getRayIntersection(origin, direction));
60  }
61  double getRayIntersectionDistance(
62  double ox, double oy, double oz,
63  double dx, double dy, double dz
64  ){
65  glm::dvec3 origin(ox, oy, oz);
66  glm::dvec3 direction(dx, dy, dz);
67  return prim->getRayIntersectionDistance(origin, direction);
68  }
69  size_t getNumVertices(){return prim->getNumVertices();}
70  PyVertexWrapper * getVertex(size_t index)
71  {return new PyVertexWrapper(prim->getVertices()+index);}
72  void update(){prim->update();}
73 
74 
75 };
76 
77 }
78 
79 #endif
Wrapper for std::vector<double> class.
Definition: PyDoubleVector.h:17
+
Wrapper for ScenePart class.
Definition: PyScenePartWrapper.h:16
+
Wrapper for Primitive class.
Definition: PyPrimitiveWrapper.h:20
virtual AABB * getAABB()=0
Obtain the axis aligned bounding box containing the primitive.
-
Wrapper for ScenePart class.
Definition: PyScenePartWrapper.h:14
std::shared_ptr< Material > material
Shared pointer to the material defining certain properties such as reflectance, specularity, ...
Definition: Primitive.h:43
+
Definition: PyAABBWrapper.h:7
virtual glm::dvec3 getCentroid()=0
Obtain the primitive centroid.
virtual void update()=0
Necessary primitive updates after modification.
virtual size_t getNumVertices()
Obtain the number of vertices returned by the getVertices function.
Definition: Primitive.h:111
virtual std::vector< double > getRayIntersection(const glm::dvec3 &rayOrigin, const glm::dvec3 &rayDir)=0
Obtain the intersection point between primitive and given ray.
-
Wrapper for std::vector<double> class.
Definition: PyDoubleVector.h:15
Class representing a material specification.
Definition: Material.h:11
virtual Vertex * getVertices()=0
Obtain basic vertices for the primitive.
std::shared_ptr< ScenePart > part
Shared pointer to the scene part the primitive belongs to.
Definition: Primitive.h:37
-
Wrapper for Primitive class.
Definition: PyPrimitiveWrapper.h:18
+
Wrapper for AABB class.
Definition: PyAABBWrapper.h:16
Abstract class defining the common behavior for all primitives.
Definition: Primitive.h:20
-
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:14
+
Wrapper for Vertex class.
Definition: PyVertexWrapper.h:17
virtual double getIncidenceAngle_rad(const glm::dvec3 &rayOrigin, const glm::dvec3 &rayDir, const glm::dvec3 &intersectionPoint)=0
Obtain the incidence angle in radians.
+
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:16
virtual double getRayIntersectionDistance(const glm::dvec3 &rayOrigin, const glm::dvec3 &rayDir)=0
Obtain the intersection distance between primitive and given ray.
diff --git a/doc/html/d5/dc2/classpyhelios_1_1PyTrajectoryWrapper__coll__graph.map b/doc/html/d5/dc2/classpyhelios_1_1PyTrajectoryWrapper__coll__graph.map new file mode 100644 index 000000000..e4fed4c4c --- /dev/null +++ b/doc/html/d5/dc2/classpyhelios_1_1PyTrajectoryWrapper__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/d5/dc2/classpyhelios_1_1PyTrajectoryWrapper__coll__graph.md5 b/doc/html/d5/dc2/classpyhelios_1_1PyTrajectoryWrapper__coll__graph.md5 new file mode 100644 index 000000000..0574e829d --- /dev/null +++ b/doc/html/d5/dc2/classpyhelios_1_1PyTrajectoryWrapper__coll__graph.md5 @@ -0,0 +1 @@ +5f9ecfa6a0c1a0be65acc954f549d084 \ No newline at end of file diff --git a/doc/html/d5/dc2/classpyhelios_1_1PyTrajectoryWrapper__coll__graph.png b/doc/html/d5/dc2/classpyhelios_1_1PyTrajectoryWrapper__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..3f446d6d433f6af24726db47d024d19f5ec351a2 GIT binary patch literal 4593 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 literal 0 HcmV?d00001 diff --git a/doc/html/d5/dc4/classvisualhelios_1_1VHDynObjectAdapter.html b/doc/html/d5/dc4/classvisualhelios_1_1VHDynObjectAdapter.html index 1d5ae379d..173bd7c01 100644 --- a/doc/html/d5/dc4/classvisualhelios_1_1VHDynObjectAdapter.html +++ b/doc/html/d5/dc4/classvisualhelios_1_1VHDynObjectAdapter.html @@ -131,10 +131,9 @@ virtual void vertexToMesh (Vertex const &vertex)=0  Add a vertex to the polymesh. More...
  - -void doStep () - Method to adapt dynamic object computations over time to visual Helios.
-  +bool doStep () + Method to adapt dynamic object computations over time to visual Helios. More...
DynObjectgetDynObj ()  Obtain the adapted dynamic object. More...
  @@ -257,6 +256,26 @@

visualhelios::VHDynObjectXYZAdapter, and visualhelios::VHDynObjectXYZRGBAdapter.

+ + + +

◆ doStep()

+ +
+
+ + + + + + + +
bool VHDynObjectAdapter::doStep ()
+
+ +

Method to adapt dynamic object computations over time to visual Helios.

+
Returns
True if the dynamic object was modified, false otherwise
+
diff --git a/doc/html/d5/dc4/classvisualhelios_1_1VHDynObjectAdapter.js b/doc/html/d5/dc4/classvisualhelios_1_1VHDynObjectAdapter.js index 1af276b93..e75e57765 100644 --- a/doc/html/d5/dc4/classvisualhelios_1_1VHDynObjectAdapter.js +++ b/doc/html/d5/dc4/classvisualhelios_1_1VHDynObjectAdapter.js @@ -4,7 +4,7 @@ var classvisualhelios_1_1VHDynObjectAdapter = [ "~VHDynObjectAdapter", "d5/dc4/classvisualhelios_1_1VHDynObjectAdapter.html#a286ec3e5b424644ddecbc452153e415a", null ], [ "buildPolymesh", "d5/dc4/classvisualhelios_1_1VHDynObjectAdapter.html#ae701def6228c5c389653bcbdccce6248", null ], [ "constructPolymesh", "d5/dc4/classvisualhelios_1_1VHDynObjectAdapter.html#a090ded6755f5de016155dfccaaf47aa1", null ], - [ "doStep", "d5/dc4/classvisualhelios_1_1VHDynObjectAdapter.html#af00e84d619122104a3b3b1432b768908", null ], + [ "doStep", "d5/dc4/classvisualhelios_1_1VHDynObjectAdapter.html#a29bebc8fd47860af2b7da838adfd007a", null ], [ "getDynObj", "d5/dc4/classvisualhelios_1_1VHDynObjectAdapter.html#a57e16c1d7f6a7431083fb02832639a0a", null ], [ "getId", "d5/dc4/classvisualhelios_1_1VHDynObjectAdapter.html#aa3b1bb14958f7f255df7483ecafb1997", null ], [ "getVertices", "d5/dc4/classvisualhelios_1_1VHDynObjectAdapter.html#ad488d76211bd042da9490c16be65e966", null ], diff --git a/doc/html/d5/dcb/classRotation.html b/doc/html/d5/dcb/classRotation.html index 97f1fced2..7828956c3 100644 --- a/doc/html/d5/dcb/classRotation.html +++ b/doc/html/d5/dcb/classRotation.html @@ -96,8 +96,6 @@
Rotation Class Reference
- -

#include <Rotation.h>

@@ -157,7 +155,7 @@ +PythonDVec3

Public Member Functions

 Get the roll, pitch and yaw for the Rotation. More...
 
-PythonDVec3getAxisPython ()
getAxisPython ()
 

@@ -189,24 +187,7 @@

std::ostream & operator<< (std::ostream &out, Rotation &r)
 
-

Detailed Description

-

This class implements rotations in a three-dimensional space.

-

Rotations can be represented by several different mathematical entities (matrices, axe and angle, Cardan or Euler angles, quaternions). This class presents an higher level abstraction, more user-oriented and hiding this implementation details. Well, for the curious, we use quaternions for the internal representation. The user can build a rotation from any of these representations, and any of these representations can be retrieved from a Rotation instance (see the various constructors and getters). In addition, a rotation can also be built implicitly from a set of vectors and their image.

-

This implies that this class can be used to convert from one representation to another one. For example, converting a rotation matrix into a set of Cardan angles from can be done using the following single line of code:

-
-double[] angles = new Rotation(matrix, 1.0e-10).getAngles(RotationOrder.XYZ);
-

Focus is oriented on what a rotation do rather than on its underlying representation. Once it has been built, and regardless of its internal representation, a rotation is an operator which basically transforms three dimensional vectors into other three dimensional vectors. Depending on the application, the meaning of these vectors may vary and the semantics of the rotation also.

-

For example in an spacecraft attitude simulation tool, users will often consider the vectors are fixed (say the Earth direction for example) and the frames change. The rotation transforms the coordinates of the vector in inertial frame into the coordinates of the same vector in satellite frame. In this case, the rotation implicitly defines the relation between the two frames.

-

Another example could be a telescope control application, where the rotation would transform the sighting direction at rest into the desired observing direction when the telescope is pointed towards an object of interest. In this case the rotation transforms the direction at rest in a topocentric frame into the sighting direction in the same topocentric frame. This implies in this case the frame is fixed and the vector moves.

-

In many case, both approaches will be combined. In our telescope example, we will probably also need to transform the observing direction in the topocentric frame into the observing direction in inertial frame taking into account the observatory location and the Earth rotation, which would essentially be an application of the first approach.

-

These examples show that a rotation is what the user wants it to be. This class does not push the user towards one specific definition and hence does not provide methods like projectVectorIntoDestinationFrame or computeTransformedDirection. It provides simpler and more generic methods: applyTo(Vector3D) and applyInverseTo(Vector3D).

-

Since a rotation is basically a vectorial operator, several rotations can be composed together and the composite operation r = r1 o r2 (which means that for each vector u, r(u) = r1(r2(u))) is also a rotation. Hence we can consider that in addition to vectors, a rotation can be applied to other rotations as well (or to itself). With our previous notations, we would say we can apply r1 to r2 and the result we get is r = r1 o r2. For this purpose, the class provides the methods: applyTo(Rotation) and applyInverseTo(Rotation).

-

Rotations are guaranteed to be immutable objects.

-
See also
Vector3D
-
-RotationOrder
-
Since
1.2
-

Constructor & Destructor Documentation

+

Constructor & Destructor Documentation

◆ Rotation() [1/4]

diff --git a/doc/html/d5/def/classpyhelios_1_1PyDoubleVector-members.html b/doc/html/d5/def/classpyhelios_1_1PyDoubleVector-members.html new file mode 100644 index 000000000..7746c7b5f --- /dev/null +++ b/doc/html/d5/def/classpyhelios_1_1PyDoubleVector-members.html @@ -0,0 +1,117 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyDoubleVector Member List
+
+
+ +

This is the complete list of members for pyhelios::PyDoubleVector, including all inherited members.

+ + + + + + + + + + + +
erase(long _index) (defined in pyhelios::PyDoubleVector)pyhelios::PyDoubleVectorinline
get(long _index) (defined in pyhelios::PyDoubleVector)pyhelios::PyDoubleVectorinline
insert(double value) (defined in pyhelios::PyDoubleVector)pyhelios::PyDoubleVectorinline
length() (defined in pyhelios::PyDoubleVector)pyhelios::PyDoubleVectorinline
PyDoubleVector(std::vector< double > *vec) (defined in pyhelios::PyDoubleVector)pyhelios::PyDoubleVectorinline
PyDoubleVector(std::vector< double > const vec) (defined in pyhelios::PyDoubleVector)pyhelios::PyDoubleVectorinline
release (defined in pyhelios::PyDoubleVector)pyhelios::PyDoubleVector
set(long _index, double value) (defined in pyhelios::PyDoubleVector)pyhelios::PyDoubleVectorinline
vec (defined in pyhelios::PyDoubleVector)pyhelios::PyDoubleVector
~PyDoubleVector() (defined in pyhelios::PyDoubleVector)pyhelios::PyDoubleVectorinlinevirtual
+
+ + + + diff --git a/doc/html/d5/df8/PyBeamDeflectorWrapper_8h_source.html b/doc/html/d5/df8/PyBeamDeflectorWrapper_8h_source.html index e875a70a0..42f6e0d24 100644 --- a/doc/html/d5/df8/PyBeamDeflectorWrapper_8h_source.html +++ b/doc/html/d5/df8/PyBeamDeflectorWrapper_8h_source.html @@ -90,9 +90,10 @@
PyBeamDeflectorWrapper.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <AbstractBeamDeflector.h>
6 #include <memory>
7 
16 public:
17  // *** ATTRIBUTES *** //
18  // ******************** //
19  AbstractBeamDeflector &beamDeflector;
20 
21  // *** CONSTRUCTION *** //
22  // ********************** //
24  std::shared_ptr<AbstractBeamDeflector> beamDeflector
25  ) : beamDeflector(*beamDeflector) {}
26  virtual ~PyBeamDeflectorWrapper(){}
27 
28  // *** GETTERS and SETTERS *** //
29  // ***************************** //
30  inline double getScanFreqMax()
31  {return beamDeflector.cfg_device_scanFreqMax_Hz;}
32  inline void setScanFreqMax(double scanFreqMax_Hz)
33  {beamDeflector.cfg_device_scanFreqMax_Hz = scanFreqMax_Hz;}
34  inline double getScanFreqMin()
35  {return beamDeflector.cfg_device_scanFreqMin_Hz;}
36  inline void setScanFreqMin(double scanFreqMin_Hz)
37  {beamDeflector.cfg_device_scanFreqMin_Hz = scanFreqMin_Hz;}
38  inline double getScanAngleMax()
39  {return beamDeflector.cfg_device_scanAngleMax_rad;}
40  inline void setScanAngleMax(double scanAngleMax)
41  {beamDeflector.cfg_device_scanAngleMax_rad = scanAngleMax;}
42  inline double getScanFreq()
43  {return beamDeflector.cfg_device_scanFreqMin_Hz;}
44  inline void setScanFreq(double scanFreq)
45  {beamDeflector.cfg_device_scanFreqMin_Hz = scanFreq;}
46  inline double getScanAngle()
47  {return beamDeflector.cfg_setting_scanAngle_rad;}
48  inline void setScanAngle(double scanAngle)
49  {beamDeflector.cfg_setting_scanAngle_rad = scanAngle;}
50  inline double getVerticalAngleMin()
51  {return beamDeflector.cfg_setting_verticalAngleMin_rad;}
52  inline void setVerticalAngleMin(double verticalAngleMin)
53  {beamDeflector.cfg_setting_verticalAngleMin_rad = verticalAngleMin;}
54  inline double getVerticalAngleMax()
55  {return beamDeflector.cfg_setting_verticalAngleMax_rad;}
56  inline void setVerticalAngleMax(double verticalAngleMax)
57  {beamDeflector.cfg_setting_verticalAngleMax_rad = verticalAngleMax;}
58  inline double getCurrentBeamAngle()
59  {return beamDeflector.state_currentBeamAngle_rad;}
60  inline void setCurrentBeamAngle(double currentBeamAngle)
61  {beamDeflector.state_currentBeamAngle_rad = currentBeamAngle;}
62  inline double getAngleDiff()
63  {return beamDeflector.state_angleDiff_rad;}
64  inline void setAngleDiff(double angleDiff)
65  {beamDeflector.state_angleDiff_rad = angleDiff;}
66  inline double getCachedAngleBetweenPulses()
67  {return beamDeflector.cached_angleBetweenPulses_rad;}
68  inline void setCachedAngleBetweenPulses(double angleBetweenPulses)
69  {beamDeflector.cached_angleBetweenPulses_rad = angleBetweenPulses;}
70  inline Rotation& getEmitterRelativeAttitude()
71  {return beamDeflector.getEmitterRelativeAttitudeByReference();}
72 };
73 
74 #endif
Base abstract class for beam deflectors.
Definition: AbstractBeamDeflector.h:10
-
Wrapper for AbstractBeamDeflector class.
Definition: PyBeamDeflectorWrapper.h:15
-
Definition: Rotation.h:80
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <AbstractBeamDeflector.h>
6 #include <memory>
7 
8 namespace pyhelios{
9 
18 public:
19  // *** ATTRIBUTES *** //
20  // ******************** //
21  AbstractBeamDeflector &beamDeflector;
22 
23  // *** CONSTRUCTION *** //
24  // ********************** //
26  std::shared_ptr<AbstractBeamDeflector> beamDeflector
27  ) : beamDeflector(*beamDeflector) {}
28  virtual ~PyBeamDeflectorWrapper(){}
29 
30  // *** GETTERS and SETTERS *** //
31  // ***************************** //
32  inline double getScanFreqMax()
33  {return beamDeflector.cfg_device_scanFreqMax_Hz;}
34  inline void setScanFreqMax(double scanFreqMax_Hz)
35  {beamDeflector.cfg_device_scanFreqMax_Hz = scanFreqMax_Hz;}
36  inline double getScanFreqMin()
37  {return beamDeflector.cfg_device_scanFreqMin_Hz;}
38  inline void setScanFreqMin(double scanFreqMin_Hz)
39  {beamDeflector.cfg_device_scanFreqMin_Hz = scanFreqMin_Hz;}
40  inline double getScanAngleMax()
41  {return beamDeflector.cfg_device_scanAngleMax_rad;}
42  inline void setScanAngleMax(double scanAngleMax)
43  {beamDeflector.cfg_device_scanAngleMax_rad = scanAngleMax;}
44  inline double getScanFreq()
45  {return beamDeflector.cfg_device_scanFreqMin_Hz;}
46  inline void setScanFreq(double scanFreq)
47  {beamDeflector.cfg_device_scanFreqMin_Hz = scanFreq;}
48  inline double getScanAngle()
49  {return beamDeflector.cfg_setting_scanAngle_rad;}
50  inline void setScanAngle(double scanAngle)
51  {beamDeflector.cfg_setting_scanAngle_rad = scanAngle;}
52  inline double getVerticalAngleMin()
53  {return beamDeflector.cfg_setting_verticalAngleMin_rad;}
54  inline void setVerticalAngleMin(double verticalAngleMin)
55  {beamDeflector.cfg_setting_verticalAngleMin_rad = verticalAngleMin;}
56  inline double getVerticalAngleMax()
57  {return beamDeflector.cfg_setting_verticalAngleMax_rad;}
58  inline void setVerticalAngleMax(double verticalAngleMax)
59  {beamDeflector.cfg_setting_verticalAngleMax_rad = verticalAngleMax;}
60  inline double getCurrentBeamAngle()
61  {return beamDeflector.state_currentBeamAngle_rad;}
62  inline void setCurrentBeamAngle(double currentBeamAngle)
63  {beamDeflector.state_currentBeamAngle_rad = currentBeamAngle;}
64  inline double getAngleDiff()
65  {return beamDeflector.state_angleDiff_rad;}
66  inline void setAngleDiff(double angleDiff)
67  {beamDeflector.state_angleDiff_rad = angleDiff;}
68  inline double getCachedAngleBetweenPulses()
69  {return beamDeflector.cached_angleBetweenPulses_rad;}
70  inline void setCachedAngleBetweenPulses(double angleBetweenPulses)
71  {beamDeflector.cached_angleBetweenPulses_rad = angleBetweenPulses;}
72  inline Rotation& getEmitterRelativeAttitude()
73  {return beamDeflector.getEmitterRelativeAttitudeByReference();}
74 };
75 
76 }
77 
78 #endif
Base abstract class for beam deflectors.
Definition: AbstractBeamDeflector.h:10
+
Definition: Rotation.h:81
+
Definition: PyAABBWrapper.h:7
+
Wrapper for AbstractBeamDeflector class.
Definition: PyBeamDeflectorWrapper.h:17
diff --git a/doc/html/d5/dfb/classpyhelios_1_1PyMeasurementVectorWrapper.html b/doc/html/d5/dfb/classpyhelios_1_1PyMeasurementVectorWrapper.html new file mode 100644 index 000000000..53c6629db --- /dev/null +++ b/doc/html/d5/dfb/classpyhelios_1_1PyMeasurementVectorWrapper.html @@ -0,0 +1,148 @@ + + + + + + + +Helios++: pyhelios::PyMeasurementVectorWrapper Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyMeasurementVectorWrapper Class Reference
+
+
+ +

Wrapper for std::vector<Measurement> class. + More...

+ +

#include <PyMeasurementVectorWrapper.h>

+ + + + + + + + + + +

+Public Member Functions

PyMeasurementVectorWrapper (std::vector< Measurement > &allMeasurements)
 
+PyMeasurementWrapperget (long index)
 
+void erase (long index)
 
+size_t length ()
 
+ + + +

+Public Attributes

+std::vector< MeasurementallMeasurements
 
+

Detailed Description

+

Wrapper for std::vector<Measurement> class.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+
See also
std::vector
+
+PyWrapperMeasurement
+
+Measurement
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/d5/dfb/classpyhelios_1_1PyMeasurementVectorWrapper.js b/doc/html/d5/dfb/classpyhelios_1_1PyMeasurementVectorWrapper.js new file mode 100644 index 000000000..5e3f151da --- /dev/null +++ b/doc/html/d5/dfb/classpyhelios_1_1PyMeasurementVectorWrapper.js @@ -0,0 +1,9 @@ +var classpyhelios_1_1PyMeasurementVectorWrapper = +[ + [ "PyMeasurementVectorWrapper", "d5/dfb/classpyhelios_1_1PyMeasurementVectorWrapper.html#a6bae7fac1a44a14857b0250488eca8ab", null ], + [ "~PyMeasurementVectorWrapper", "d5/dfb/classpyhelios_1_1PyMeasurementVectorWrapper.html#abeab43ac7d03d67c573e120782a7266d", null ], + [ "erase", "d5/dfb/classpyhelios_1_1PyMeasurementVectorWrapper.html#a5542016d2f13ef7b721a3ec794bb6c41", null ], + [ "get", "d5/dfb/classpyhelios_1_1PyMeasurementVectorWrapper.html#ade5da963a85e6cd4ca004473629c2e4a", null ], + [ "length", "d5/dfb/classpyhelios_1_1PyMeasurementVectorWrapper.html#a414e5bcfaadeeb1467a7335ce357356c", null ], + [ "allMeasurements", "d5/dfb/classpyhelios_1_1PyMeasurementVectorWrapper.html#a34fae8e02bf17fc4925db51132d19a70", null ] +]; \ No newline at end of file diff --git a/doc/html/d6/d03/ScenePart_8h_source.html b/doc/html/d6/d03/ScenePart_8h_source.html index 73b1ed7c6..4ccda5c67 100644 --- a/doc/html/d6/d03/ScenePart_8h_source.html +++ b/doc/html/d6/d03/ScenePart_8h_source.html @@ -94,7 +94,7 @@
std::vector< Vertex * > getAllVertices()
Obtain all vertices in the scene part.
Definition: ScenePart.cpp:80
Class representing a .obj loaded file.
Definition: WavefrontObj.h:15
std::vector< Primitive * > mPrimitives
Vector of pointers to primitives used by this scene part.
Definition: ScenePart.h:40
-
Definition: Rotation.h:80
+
Definition: Rotation.h:81
void addObj(WavefrontObj *obj)
Add the primitives of a WavefrontObj to the ScenePart.
Definition: ScenePart.cpp:62
Rotation mRotation
Specify the rotation for the scene part.
Definition: ScenePart.h:85
std::shared_ptr< LadLut > ladlut
Look-up table for leaf angle distribution.
Definition: ScenePart.h:76
diff --git a/doc/html/d6/d07/classpyhelios_1_1PyTriangleWrapper__inherit__graph.map b/doc/html/d6/d07/classpyhelios_1_1PyTriangleWrapper__inherit__graph.map new file mode 100644 index 000000000..839fd83d4 --- /dev/null +++ b/doc/html/d6/d07/classpyhelios_1_1PyTriangleWrapper__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/d6/d07/classpyhelios_1_1PyTriangleWrapper__inherit__graph.md5 b/doc/html/d6/d07/classpyhelios_1_1PyTriangleWrapper__inherit__graph.md5 new file mode 100644 index 000000000..8a1ec5b6b --- /dev/null +++ b/doc/html/d6/d07/classpyhelios_1_1PyTriangleWrapper__inherit__graph.md5 @@ -0,0 +1 @@ +1678e3b3ba3f22999a401c6d19a61a73 \ No newline at end of file diff --git a/doc/html/d6/d07/classpyhelios_1_1PyTriangleWrapper__inherit__graph.png b/doc/html/d6/d07/classpyhelios_1_1PyTriangleWrapper__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..b8ceae224e16018186989af6cc86c683045e8d1a GIT binary patch literal 4849 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 DptW3h literal 0 HcmV?d00001 diff --git a/doc/html/d6/d95/classpyhelios_1_1PyVertexWrapper.html b/doc/html/d6/d95/classpyhelios_1_1PyVertexWrapper.html new file mode 100644 index 000000000..f66e1718e --- /dev/null +++ b/doc/html/d6/d95/classpyhelios_1_1PyVertexWrapper.html @@ -0,0 +1,156 @@ + + + + + + + +Helios++: pyhelios::PyVertexWrapper Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyVertexWrapper Class Reference
+
+
+ +

Wrapper for Vertex class. + More...

+ +

#include <PyVertexWrapper.h>

+
+Collaboration diagram for pyhelios::PyVertexWrapper:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + + + + + +

+Public Member Functions

PyVertexWrapper (Vertex *v)
 
PyVertexWrapper (Vertex const v)
 
+PythonDVec3getPosition ()
 
+PythonDVec3getNormal ()
 
+ + + + + +

+Public Attributes

+Vertexv
 
+bool release = true
 
+

Detailed Description

+

Wrapper for Vertex class.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+
See also
Vertex
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/d6/d95/classpyhelios_1_1PyVertexWrapper.js b/doc/html/d6/d95/classpyhelios_1_1PyVertexWrapper.js new file mode 100644 index 000000000..9f76c0ff5 --- /dev/null +++ b/doc/html/d6/d95/classpyhelios_1_1PyVertexWrapper.js @@ -0,0 +1,10 @@ +var classpyhelios_1_1PyVertexWrapper = +[ + [ "PyVertexWrapper", "d6/d95/classpyhelios_1_1PyVertexWrapper.html#a4bb61681e4393e6e25eba8123970e3a5", null ], + [ "PyVertexWrapper", "d6/d95/classpyhelios_1_1PyVertexWrapper.html#aef2cca2e39123ed2279232f119917f35", null ], + [ "~PyVertexWrapper", "d6/d95/classpyhelios_1_1PyVertexWrapper.html#a5155effba211db52cc336c0fe777bfb7", null ], + [ "getNormal", "d6/d95/classpyhelios_1_1PyVertexWrapper.html#ae66fa90e89c818eb3a6aaa5aaf65232a", null ], + [ "getPosition", "d6/d95/classpyhelios_1_1PyVertexWrapper.html#ad637723956507c75310f4ebde98e74e5", null ], + [ "release", "d6/d95/classpyhelios_1_1PyVertexWrapper.html#a7c517802406189783b258a00cc550931", null ], + [ "v", "d6/d95/classpyhelios_1_1PyVertexWrapper.html#a2f74901cff2299bfe69005facf05e250", null ] +]; \ No newline at end of file diff --git a/doc/html/d6/d96/classHeliosException__inherit__graph.map b/doc/html/d6/d96/classHeliosException__inherit__graph.map index ead13b337..33116cdf5 100644 --- a/doc/html/d6/d96/classHeliosException__inherit__graph.map +++ b/doc/html/d6/d96/classHeliosException__inherit__graph.map @@ -1,3 +1,3 @@ - + diff --git a/doc/html/d6/d96/classHeliosException__inherit__graph.md5 b/doc/html/d6/d96/classHeliosException__inherit__graph.md5 index 22cd81722..bc4979860 100644 --- a/doc/html/d6/d96/classHeliosException__inherit__graph.md5 +++ b/doc/html/d6/d96/classHeliosException__inherit__graph.md5 @@ -1 +1 @@ -4b30421c94ea8f99722edbc27379df1d \ No newline at end of file +8018634d37465e257d98f09cb2cebd68 \ No newline at end of file diff --git a/doc/html/d6/d96/classHeliosException__inherit__graph.png b/doc/html/d6/d96/classHeliosException__inherit__graph.png index 6b151b1374ff8a70a6d888bbd2690655c7e0de5a..6dadca779333dfcec258efacbf10be0be73ba02d 100644 GIT binary patch literal 5986 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 literal 5700 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 V%6@SQg0V29qhX+4qI&nqzW~G`#J>Ol diff --git a/doc/html/d6/dd1/classvisualhelios_1_1VHDynObjectXYZRGBAdapter.html b/doc/html/d6/dd1/classvisualhelios_1_1VHDynObjectXYZRGBAdapter.html index bf001b120..0a088fff9 100644 --- a/doc/html/d6/dd1/classvisualhelios_1_1VHDynObjectXYZRGBAdapter.html +++ b/doc/html/d6/dd1/classvisualhelios_1_1VHDynObjectXYZRGBAdapter.html @@ -136,10 +136,9 @@ void buildPolymesh ()  Build the polygon mesh from dynamic object primitives. This implies building corresponding vertices vector too. More...
  - -void doStep () - Method to adapt dynamic object computations over time to visual Helios.
-  +bool doStep () + Method to adapt dynamic object computations over time to visual Helios. More...
DynObjectgetDynObj ()  Obtain the adapted dynamic object. More...
  diff --git a/doc/html/d6/dd5/HelicopterPlatform_8h_source.html b/doc/html/d6/dd5/HelicopterPlatform_8h_source.html index e4855f03d..b0b2c12c4 100644 --- a/doc/html/d6/dd5/HelicopterPlatform_8h_source.html +++ b/doc/html/d6/dd5/HelicopterPlatform_8h_source.html @@ -107,7 +107,7 @@
double cfg_pitch_speed
Pitch rotation speed (units per second)
Definition: HelicopterPlatform.h:64
bool cache_turning
Flag specifying if helicopter is currently turning (true) or not (false)
Definition: HelicopterPlatform.h:163
double yaw
Helicopter yaw angle.
Definition: HelicopterPlatform.h:36
-
Definition: Rotation.h:80
+
Definition: Rotation.h:81
void handleRoute(int simFrequency_hz)
Determine remaining iterations and start turning mode if necessary.
Definition: HelicopterPlatform.cpp:366
glm::dvec3 speed_xy
Helicopter speed vector over xy plane.
Definition: HelicopterPlatform.h:136
double ef_xy_max
Max engine force over XY plane.
Definition: HelicopterPlatform.h:32
diff --git a/doc/html/d6/dda/classHeliosException.html b/doc/html/d6/dda/classHeliosException.html index e13064944..0358ec7fe 100644 --- a/doc/html/d6/dda/classHeliosException.html +++ b/doc/html/d6/dda/classHeliosException.html @@ -104,7 +104,7 @@
Inheritance graph
- +
[legend]
diff --git a/doc/html/d6/df3/classpyhelios_1_1PyHeliosSimulation-members.html b/doc/html/d6/df3/classpyhelios_1_1PyHeliosSimulation-members.html new file mode 100644 index 000000000..6ad06196b --- /dev/null +++ b/doc/html/d6/df3/classpyhelios_1_1PyHeliosSimulation-members.html @@ -0,0 +1,166 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyHeliosSimulation Member List
+
+
+ +

This is the complete list of members for pyhelios::PyHeliosSimulation, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addRotateFilter(double q0, double q1, double q2, double q3, std::string partId) (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulation
addScaleFilter(double scaleFactor, std::string partId) (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulation
addTranslateFilter(double x, double y, double z, std::string partId) (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulation
assetsPath (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationprivate
callback (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationprivate
clearCallback()pyhelios::PyHeliosSimulationinline
copy() (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulation
exportToFile (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulation
finalOutput (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulation
finished (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationprivate
getAssetsPath()pyhelios::PyHeliosSimulationinline
getLas10() (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationinline
getLasOutput() (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationinline
getLeg(int index)pyhelios::PyHeliosSimulationinline
getNumLegs()pyhelios::PyHeliosSimulationinline
getNumThreads()pyhelios::PyHeliosSimulationinline
getPlatform()pyhelios::PyHeliosSimulationinline
getScanner()pyhelios::PyHeliosSimulationinline
getScene() (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationinline
getSimFrequency()pyhelios::PyHeliosSimulationinline
getSurvey()pyhelios::PyHeliosSimulationinline
getSurveyPath()pyhelios::PyHeliosSimulationinline
getZipOutput() (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationinline
isFinished()pyhelios::PyHeliosSimulation
isPaused()pyhelios::PyHeliosSimulationinline
isRunning()pyhelios::PyHeliosSimulation
isStarted()pyhelios::PyHeliosSimulationinline
isStopped()pyhelios::PyHeliosSimulationinline
join()pyhelios::PyHeliosSimulation
las10 (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationprivate
lasOutput (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationprivate
loadSurvey(bool legNoiseDisabled=false, bool rebuildScene=false, bool writeWaveform=false, bool calcEchowidth=false, bool fullWaveNoise=false, bool platformNoiseDisabled=true)pyhelios::PyHeliosSimulation
newLeg(int index)pyhelios::PyHeliosSimulation
numThreads (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationprivate
outputPath (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationprivate
pause()pyhelios::PyHeliosSimulation
paused (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationprivate
playback (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationprivate
PyHeliosSimulation()=default (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulation
PyHeliosSimulation(std::string surveyPath, std::string assetsPath="assets/", std::string outputPath="output/", size_t numThreads=0, bool lasOutput=false, bool las10=false, bool zipOutput=false)pyhelios::PyHeliosSimulation
removeLeg(int index)pyhelios::PyHeliosSimulationinline
resume()pyhelios::PyHeliosSimulation
setCallback(PyObject *pyCallback)pyhelios::PyHeliosSimulation
setLas10(double las10_) (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationinline
setLasOutput(double lasOutput_) (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationinline
setNumThreads(size_t numThreads)pyhelios::PyHeliosSimulationinline
setSimFrequency(size_t simFrequency)pyhelios::PyHeliosSimulationinline
setZipOutput(bool zipOutput_) (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationinline
simFrequency (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationprivate
start()pyhelios::PyHeliosSimulation
started (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationprivate
stop()pyhelios::PyHeliosSimulation
stopped (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationprivate
survey (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationprivate
surveyPath (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationprivate
thread (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationprivate
xmlreader (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationprivate
zipOutput (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationprivate
~PyHeliosSimulation() (defined in pyhelios::PyHeliosSimulation)pyhelios::PyHeliosSimulationvirtual
+
+ + + + diff --git a/doc/html/d7/d17/classpyhelios_1_1PySceneWrapper.html b/doc/html/d7/d17/classpyhelios_1_1PySceneWrapper.html new file mode 100644 index 000000000..decbf7540 --- /dev/null +++ b/doc/html/d7/d17/classpyhelios_1_1PySceneWrapper.html @@ -0,0 +1,171 @@ + + + + + + + +Helios++: pyhelios::PySceneWrapper Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PySceneWrapper Class Reference
+
+
+ +

Wrapper for Scene. + More...

+ +

#include <PySceneWrapper.h>

+
+Collaboration diagram for pyhelios::PySceneWrapper:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PySceneWrapper (Scene &scene)
 
+PyTriangleWrappernewTriangle ()
 
+PyDetailedVoxelWrappernewDetailedVoxel ()
 
+PyPrimitiveWrappergetPrimitive (size_t index)
 
+PyAABBWrappergetAABB ()
 
+PythonDVec3getGroundPointAt (double x, double y, double z)
 
+PyRaySceneIntersectionWrappergetIntersection (double ox, double oy, double oz, double dx, double dy, double dz, bool groundOnly)
 
+PythonDVec3getShift ()
 
+bool finalizeLoading ()
 
+void writeObject (std::string path)
 
+ + + +

+Public Attributes

+Scenescene
 
+

Detailed Description

+

Wrapper for Scene.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+
See also
Scene
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/d7/d17/classpyhelios_1_1PySceneWrapper.js b/doc/html/d7/d17/classpyhelios_1_1PySceneWrapper.js new file mode 100644 index 000000000..bd27d2f57 --- /dev/null +++ b/doc/html/d7/d17/classpyhelios_1_1PySceneWrapper.js @@ -0,0 +1,15 @@ +var classpyhelios_1_1PySceneWrapper = +[ + [ "PySceneWrapper", "d7/d17/classpyhelios_1_1PySceneWrapper.html#a67fc7dcd46c6912bf1241733043ce4cb", null ], + [ "~PySceneWrapper", "d7/d17/classpyhelios_1_1PySceneWrapper.html#a21f7e474ba752c3ea022de63e893b49b", null ], + [ "finalizeLoading", "d7/d17/classpyhelios_1_1PySceneWrapper.html#a11e7f3529cba0794d346fcf45d0063f8", null ], + [ "getAABB", "d7/d17/classpyhelios_1_1PySceneWrapper.html#a3e2c6465a5b50b5227a71751dc757c67", null ], + [ "getGroundPointAt", "d7/d17/classpyhelios_1_1PySceneWrapper.html#a6cf0052e4d5c4a6807616832449b98d4", null ], + [ "getIntersection", "d7/d17/classpyhelios_1_1PySceneWrapper.html#a5a846c0b9f99896ec78d07b47a9bed7a", null ], + [ "getPrimitive", "d7/d17/classpyhelios_1_1PySceneWrapper.html#ae70fa0efda015a39872e949bb8ae7902", null ], + [ "getShift", "d7/d17/classpyhelios_1_1PySceneWrapper.html#ae8d6c365a9270573133bf5ec081cfaf4", null ], + [ "newDetailedVoxel", "d7/d17/classpyhelios_1_1PySceneWrapper.html#aa7ea4859ae9d1f11f927fbf49d896b82", null ], + [ "newTriangle", "d7/d17/classpyhelios_1_1PySceneWrapper.html#acdf47587638bc462273a84b410447bda", null ], + [ "writeObject", "d7/d17/classpyhelios_1_1PySceneWrapper.html#a431a81756741fb29009ec46b2c7d4223", null ], + [ "scene", "d7/d17/classpyhelios_1_1PySceneWrapper.html#af4d604e384fdabf6ab6b3966a27e96a7", null ] +]; \ No newline at end of file diff --git a/doc/html/d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.html b/doc/html/d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.html new file mode 100644 index 000000000..e63bdd520 --- /dev/null +++ b/doc/html/d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.html @@ -0,0 +1,213 @@ + + + + + + + +Helios++: pyhelios::PyDetailedVoxelWrapper Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyDetailedVoxelWrapper Class Reference
+
+
+ +

Wrapper for DetailedVoxel class. + More...

+ +

#include <PyDetailedVoxelWrapper.h>

+
+Inheritance diagram for pyhelios::PyDetailedVoxelWrapper:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for pyhelios::PyDetailedVoxelWrapper:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PyDetailedVoxelWrapper (DetailedVoxel *dv)
 
+int getNbEchos ()
 
+void setNbEchos (int nbEchos)
 
+int getNbSampling ()
 
+void setNbSampling (int nbSampling)
 
+size_t getNumberOfDoubleValues ()
 
+double getDoubleValue (size_t index)
 
+void setDoubleValue (size_t index, double value)
 
+double getMaxPad ()
 
+void setMaxPad (double maxPad)
 
- Public Member Functions inherited from pyhelios::PyPrimitiveWrapper
PyPrimitiveWrapper (Primitive *prim)
 
+PyScenePartWrappergetScenePart ()
 
+MaterialgetMaterial ()
 
+PyAABBWrappergetAABB ()
 
+PythonDVec3getCentroid ()
 
+double getIncidenceAngle (double ox, double oy, double oz, double dx, double dy, double dz, double px, double py, double pz)
 
+PyDoubleVectorgetRayIntersection (double ox, double oy, double oz, double dx, double dy, double dz)
 
+double getRayIntersectionDistance (double ox, double oy, double oz, double dx, double dy, double dz)
 
+size_t getNumVertices ()
 
+PyVertexWrappergetVertex (size_t index)
 
+void update ()
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from pyhelios::PyPrimitiveWrapper
+Primitiveprim = nullptr
 
+

Detailed Description

+

Wrapper for DetailedVoxel class.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+
See also
DetailedVoxel
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.js b/doc/html/d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.js new file mode 100644 index 000000000..d3de9283a --- /dev/null +++ b/doc/html/d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.js @@ -0,0 +1,14 @@ +var classpyhelios_1_1PyDetailedVoxelWrapper = +[ + [ "PyDetailedVoxelWrapper", "d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.html#aca4b56cce2dfa9f94774ff7c417dbc33", null ], + [ "~PyDetailedVoxelWrapper", "d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.html#affeacf6fadcb63d48ca5984957b7b57e", null ], + [ "getDoubleValue", "d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.html#a9987a5ce2ce502ee07c0e7e2032414ec", null ], + [ "getMaxPad", "d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.html#ac7e2437db213155588b7a5967aa96fcc", null ], + [ "getNbEchos", "d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.html#a538cda586e018d4a701f924d6a964d9b", null ], + [ "getNbSampling", "d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.html#a97883aa15cdbcde94e86be8a3c9cb838", null ], + [ "getNumberOfDoubleValues", "d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.html#a0e38d1ca76d227a54b9d20eb37edffab", null ], + [ "setDoubleValue", "d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.html#a26d2112510f1adda25ef2e396d480c29", null ], + [ "setMaxPad", "d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.html#a8fa561dedc7d48bcaec988bf2fa0d6da", null ], + [ "setNbEchos", "d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.html#ab68f8c2af8463457088b400e8f4d359c", null ], + [ "setNbSampling", "d7/d21/classpyhelios_1_1PyDetailedVoxelWrapper.html#a31732b6ef73f8190a9583c82fef8701b", null ] +]; \ No newline at end of file diff --git a/doc/html/d7/d34/AbstractBeamDeflector_8h_source.html b/doc/html/d7/d34/AbstractBeamDeflector_8h_source.html index d526d99aa..4205ba7d6 100644 --- a/doc/html/d7/d34/AbstractBeamDeflector_8h_source.html +++ b/doc/html/d7/d34/AbstractBeamDeflector_8h_source.html @@ -95,7 +95,7 @@
double state_currentBeamAngle_rad
Current beam angle (radians)
Definition: AbstractBeamDeflector.h:50
double cfg_setting_verticalAngleMax_rad
Maximum vertical scanning angle (radians)
Definition: AbstractBeamDeflector.h:44
double cfg_device_scanAngleMax_rad
Maximum scanning angle (radians)
Definition: AbstractBeamDeflector.h:26
-
Definition: Rotation.h:80
+
Definition: Rotation.h:81
virtual bool lastPulseLeftDevice()
Check if last pulse left device (true) or not (false)
Definition: AbstractBeamDeflector.cpp:75
double state_angleDiff_rad
Angle differential (radians)
Definition: AbstractBeamDeflector.h:54
Rotation getEmitterRelativeAttitude()
Get the relative emitter attitude.
Definition: AbstractBeamDeflector.cpp:56
diff --git a/doc/html/d7/d3f/RotateFilter_8h_source.html b/doc/html/d7/d3f/RotateFilter_8h_source.html index 680185f39..ebd9bf0d5 100644 --- a/doc/html/d7/d3f/RotateFilter_8h_source.html +++ b/doc/html/d7/d3f/RotateFilter_8h_source.html @@ -90,7 +90,7 @@
RotateFilter.h
-
1 #pragma once
2 
3 #include "AbstractGeometryFilter.h"
4 
9 
10 public:
11  // *** ATTRIBUTES *** //
12  // ******************** //
17  bool useLocalRotation = false;
22 
23  // *** CONSTRUCTION / DESTRUCTION *** //
24  // ************************************ //
30 
31  // *** R U N *** //
32  // *************** //
36  ScenePart* run();
37 };
Definition: Rotation.h:80
+
1 #pragma once
2 
3 #include "AbstractGeometryFilter.h"
4 
9 
10 public:
11  // *** ATTRIBUTES *** //
12  // ******************** //
17  bool useLocalRotation = false;
22 
23  // *** CONSTRUCTION / DESTRUCTION *** //
24  // ************************************ //
30 
31  // *** R U N *** //
32  // *************** //
36  ScenePart* run();
37 };
Definition: Rotation.h:81
bool useLocalRotation
Specify if use local rotation (true) or rotation from parsed parameters (false, by default) ...
Definition: RotateFilter.h:17
RotateFilter(ScenePart *parts)
Constructor for rotate transform filter.
Definition: RotateFilter.h:29
Rotation localRotation
Local rotation specification.
Definition: RotateFilter.h:21
diff --git a/doc/html/d7/d52/SimplePrimitivesDemo_8h_source.html b/doc/html/d7/d52/SimplePrimitivesDemo_8h_source.html index 9b55e9f9c..e1162845c 100644 --- a/doc/html/d7/d52/SimplePrimitivesDemo_8h_source.html +++ b/doc/html/d7/d52/SimplePrimitivesDemo_8h_source.html @@ -92,15 +92,15 @@
1 #ifdef PCL_BINDING
2 #pragma once
3 
4 #include <demo/BaseDemo.h>
5 #include <scene/primitives/Triangle.h>
6 #include <visualhelios/adapters/VHDynObjectXYZAdapter.h>
7 
8 #include <vector>
9 #include <memory>
10 #include <pcl/common/common_headers.h>
11 #include <pcl/PolygonMesh.h>
12 
13 namespace HeliosDemos{
14 
16 
17 using std::vector;
18 using std::shared_ptr;
19 
29 public:
30  // *** CONSTRUCTION / DESTRUCTION *** //
31  // ************************************ //
35  SimplePrimitivesDemo() : BaseDemo("Simple primitives demo"){}
36 
37  // *** R U N *** //
38  // *************** //
42  void run() override;
43 
44  // *** U T I L *** //
45  // ***************** //
50  shared_ptr<DynObject> buildMobileStructure();
55  shared_ptr<DynObject> buildFixedStructure();
60  shared_ptr<DynObject> buildHelicalStructure();
65  shared_ptr<DynObject> buildStaticStructure();
70  shared_ptr<DynObject> buildGroundStructure();
71 };
72 
73 
74 }
75 #endif
BaseDemo class.
Definition: BaseDemo.h:22
void run() override
Definition: SimplePrimitivesDemo.cpp:24
-
shared_ptr< DynObject > buildGroundStructure()
Build the dynamic object representing the ground structure.
Definition: SimplePrimitivesDemo.cpp:458
-
shared_ptr< DynObject > buildFixedStructure()
Build the dynamic object representing the fixed structure.
Definition: SimplePrimitivesDemo.cpp:228
+
shared_ptr< DynObject > buildGroundStructure()
Build the dynamic object representing the ground structure.
Definition: SimplePrimitivesDemo.cpp:470
+
shared_ptr< DynObject > buildFixedStructure()
Build the dynamic object representing the fixed structure.
Definition: SimplePrimitivesDemo.cpp:236
Simple primitives demo.
Definition: SimplePrimitivesDemo.h:28
-
shared_ptr< DynObject > buildHelicalStructure()
Build the dynamic object representing the helical structure.
Definition: SimplePrimitivesDemo.cpp:315
+
shared_ptr< DynObject > buildHelicalStructure()
Build the dynamic object representing the helical structure.
Definition: SimplePrimitivesDemo.cpp:325
Class providing concrete implementation of a VHDynObjectAdapter for a simple XYZ visualization with n...
Definition: VHDynObjectXYZAdapter.h:18
SimplePrimitivesDemo()
Simple primitives demo constructor.
Definition: SimplePrimitivesDemo.h:35
-
shared_ptr< DynObject > buildStaticStructure()
Build the dynamic object representing the static structure.
Definition: SimplePrimitivesDemo.cpp:368
+
shared_ptr< DynObject > buildStaticStructure()
Build the dynamic object representing the static structure.
Definition: SimplePrimitivesDemo.cpp:380
Definition: BaseDemo.h:7
-
shared_ptr< DynObject > buildMobileStructure()
Build the dynamic object representing the mobile structure.
Definition: SimplePrimitivesDemo.cpp:139
+
shared_ptr< DynObject > buildMobileStructure()
Build the dynamic object representing the mobile structure.
Definition: SimplePrimitivesDemo.cpp:147
diff --git a/doc/html/d7/d5d/Primitive_8h_source.html b/doc/html/d7/d5d/Primitive_8h_source.html index c5436000a..fd8b41691 100644 --- a/doc/html/d7/d5d/Primitive_8h_source.html +++ b/doc/html/d7/d5d/Primitive_8h_source.html @@ -92,7 +92,7 @@
1 #pragma once
2 
3 #include <vector>
4 #include <boost/serialization/base_object.hpp>
5 #include <boost/serialization/shared_ptr.hpp>
6 #include <glm/glm.hpp>
7 
8 #include "Material.h"
9 #include "ScenePart.h"
10 #include <NoiseSource.h>
11 #include <IntersectionHandlingResult.h>
12 #include <util/HeliosException.h>
13 
14 class AABB;
15 class Vertex;
16 
20 class Primitive {
21  // *** SERIALIZATION *** //
22  // *********************** //
23  friend class boost::serialization::access;
24  template<class Archive>
25  void serialize(Archive &ar, const unsigned int version) {
26  ar & part;
27  ar & material;
28  }
29 
30 public:
31  // *** ATTRIBUTES *** //
32  // ******************** //
37  std::shared_ptr<ScenePart> part = nullptr;
43  std::shared_ptr<Material> material = nullptr;
44 
45  // *** CONSTRUCTION / DESTRUCTION *** //
46  // ************************************ //
47  virtual ~Primitive(){}
48  virtual Primitive* clone() = 0;
49  virtual void _clone(Primitive *p);
50 
51  // *** M E T H O D S *** //
52  // *********************** //
57  virtual AABB* getAABB() = 0;
62  virtual glm::dvec3 getCentroid() = 0;
70  virtual double getIncidenceAngle_rad(
71  const glm::dvec3& rayOrigin,
72  const glm::dvec3& rayDir,
73  const glm::dvec3& intersectionPoint
74  ) = 0;
81  virtual std::vector<double> getRayIntersection(
82  const glm::dvec3& rayOrigin, const glm::dvec3& rayDir) = 0;
90  virtual double getRayIntersectionDistance(
91  const glm::dvec3& rayOrigin, const glm::dvec3& rayDir) = 0;
103  virtual void onFinishLoading(NoiseSource<double> &uniformNoiseSource) {}
104 
111  inline virtual size_t getNumVertices() {return 0;}
117  virtual Vertex* getVertices() = 0;
118 
125  inline virtual size_t getNumFullVertices() {return getNumVertices();};
138  virtual Vertex* getFullVertices() {return getVertices();};
139 
167  inline virtual double getGroundZOffset() {return 0;}
168 
173  virtual void update() = 0;
174 
175  // *** RAY INTERSECTION HANDLING *** //
176  // *********************************** //
188  virtual inline bool canHandleIntersections(){return false;}
210  NoiseSource<double> &uniformNoiseSource,
211  glm::dvec3 &rayDirection,
212  glm::dvec3 const &insideIntersectionPoint,
213  glm::dvec3 const &outsideIntersectionPoint,
214  double rayIntensity
215  );
216 
217  // *** TRANSFORMATIONS *** //
218  // ************************* //
223  virtual void rotate(Rotation &r);
228  virtual void scale(double const factor);
233  virtual void translate(glm::dvec3 const &shift);
234 
235  // *** S I G M A *** //
236  // ******************* //
243  virtual bool canComputeSigmaWithLadLut() {return false;}
255  virtual double computeSigmaWithLadLut(glm::dvec3 const &direction)
256  {throw HeliosException("Primitive cannot compute sigma with LadLut");}
257 
258  // *** STREAM OPERATORS *** //
259  // ************************** //
263  friend std::ostream& operator<< (std::ostream& out, Primitive &p);
264 };
virtual double computeSigmaWithLadLut(glm::dvec3 const &direction)
Compute sigma using LadLut.
Definition: Primitive.h:255
friend std::ostream & operator<<(std::ostream &out, Primitive &p)
Output stream operator << overloading.
Definition: Primitive.cpp:24
-
Definition: Rotation.h:80
+
Definition: Rotation.h:81
virtual AABB * getAABB()=0
Obtain the axis aligned bounding box containing the primitive.
std::shared_ptr< Material > material
Shared pointer to the material defining certain properties such as reflectance, specularity, ...
Definition: Primitive.h:43
Base class for Helios exceptions.
Definition: HeliosException.h:12
diff --git a/doc/html/d7/d69/PyHeliosOutputWrapper_8h_source.html b/doc/html/d7/d69/PyHeliosOutputWrapper_8h_source.html index d8d14b473..cb0140a51 100644 --- a/doc/html/d7/d69/PyHeliosOutputWrapper_8h_source.html +++ b/doc/html/d7/d69/PyHeliosOutputWrapper_8h_source.html @@ -90,9 +90,10 @@
PyHeliosOutputWrapper.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyMeasurementVectorWrapper.h>
6 #include <PyTrajectoryVectorWrapper.h>
7 
17 public:
18  // *** ATTRIBUTES *** //
19  // ******************** //
20  PyMeasurementVectorWrapper measurements;
21  PyTrajectoryVectorWrapper trajectories;
22  bool finished;
23 
24  // *** CONSTRUCTION / DESTRUCTION *** //
25  // ************************************ //
27  std::shared_ptr<std::vector<Measurement>> measurements,
28  std::shared_ptr<std::vector<Trajectory>> trajectories,
29  bool finished
30  ) :
31  measurements(PyMeasurementVectorWrapper(*measurements)),
32  trajectories(PyTrajectoryVectorWrapper(*trajectories)),
33  finished(finished)
34  {}
36  std::vector<Measurement> &measurements,
37  std::vector<Trajectory> &trajectories,
38  bool finished
39  ) :
40  measurements(PyMeasurementVectorWrapper(measurements)),
41  trajectories(PyTrajectoryVectorWrapper(trajectories)),
42  finished(finished)
43  {}
44  virtual ~PyHeliosOutputWrapper() {}
45 };
46 
47 #endif
Wrapper for std::vector<Measurement> class.
Definition: PyMeasurementVectorWrapper.h:18
-
Python wrapper for helios trajectory.
Definition: PyTrajectoryVectorWrapper.h:17
-
Python wrapper for helios output.
Definition: PyHeliosOutputWrapper.h:16
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyMeasurementVectorWrapper.h>
6 #include <PyTrajectoryVectorWrapper.h>
7 
8 namespace pyhelios{
9 
19 public:
20  // *** ATTRIBUTES *** //
21  // ******************** //
22  PyMeasurementVectorWrapper measurements;
23  PyTrajectoryVectorWrapper trajectories;
24  bool finished;
25 
26  // *** CONSTRUCTION / DESTRUCTION *** //
27  // ************************************ //
29  std::shared_ptr<std::vector<Measurement>> measurements,
30  std::shared_ptr<std::vector<Trajectory>> trajectories,
31  bool finished
32  ) :
33  measurements(PyMeasurementVectorWrapper(*measurements)),
34  trajectories(PyTrajectoryVectorWrapper(*trajectories)),
35  finished(finished)
36  {}
38  std::vector<Measurement> &measurements,
39  std::vector<Trajectory> &trajectories,
40  bool finished
41  ) :
42  measurements(PyMeasurementVectorWrapper(measurements)),
43  trajectories(PyTrajectoryVectorWrapper(trajectories)),
44  finished(finished)
45  {}
46  virtual ~PyHeliosOutputWrapper() {}
47 };
48 
49 }
50 
51 #endif
Python wrapper for helios trajectory.
Definition: PyTrajectoryVectorWrapper.h:19
+
Python wrapper for helios output.
Definition: PyHeliosOutputWrapper.h:18
+
Definition: PyAABBWrapper.h:7
+
Wrapper for std::vector<Measurement> class.
Definition: PyMeasurementVectorWrapper.h:20
diff --git a/doc/html/d7/d85/classpyhelios_1_1PyHeliosUtils-members.html b/doc/html/d7/d85/classpyhelios_1_1PyHeliosUtils-members.html new file mode 100644 index 000000000..a0d5b7a4b --- /dev/null +++ b/doc/html/d7/d85/classpyhelios_1_1PyHeliosUtils-members.html @@ -0,0 +1,108 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyHeliosUtils Member List
+
+
+ +

This is the complete list of members for pyhelios::PyHeliosUtils, including all inherited members.

+ + +
handlePythonIndex(long _index, size_t n)pyhelios::PyHeliosUtilsinlinestatic
+
+ + + + diff --git a/doc/html/d8/d17/classpyhelios_1_1PyTrajectoryVectorWrapper-members.html b/doc/html/d8/d17/classpyhelios_1_1PyTrajectoryVectorWrapper-members.html new file mode 100644 index 000000000..ddf44497c --- /dev/null +++ b/doc/html/d8/d17/classpyhelios_1_1PyTrajectoryVectorWrapper-members.html @@ -0,0 +1,113 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyTrajectoryVectorWrapper Member List
+
+
+ +

This is the complete list of members for pyhelios::PyTrajectoryVectorWrapper, including all inherited members.

+ + + + + + + +
allTrajectories (defined in pyhelios::PyTrajectoryVectorWrapper)pyhelios::PyTrajectoryVectorWrapper
erase(size_t index) (defined in pyhelios::PyTrajectoryVectorWrapper)pyhelios::PyTrajectoryVectorWrapperinline
get(size_t index) (defined in pyhelios::PyTrajectoryVectorWrapper)pyhelios::PyTrajectoryVectorWrapperinline
length() (defined in pyhelios::PyTrajectoryVectorWrapper)pyhelios::PyTrajectoryVectorWrapperinline
PyTrajectoryVectorWrapper(std::vector< Trajectory > &allTrajectories) (defined in pyhelios::PyTrajectoryVectorWrapper)pyhelios::PyTrajectoryVectorWrapperinline
~PyTrajectoryVectorWrapper() (defined in pyhelios::PyTrajectoryVectorWrapper)pyhelios::PyTrajectoryVectorWrapperinlinevirtual
+
+ + + + diff --git a/doc/html/d8/d43/PySceneWrapper_8h_source.html b/doc/html/d8/d43/PySceneWrapper_8h_source.html index 720ecf4dc..dd234d6cb 100644 --- a/doc/html/d8/d43/PySceneWrapper_8h_source.html +++ b/doc/html/d8/d43/PySceneWrapper_8h_source.html @@ -90,24 +90,25 @@
PySceneWrapper.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <Triangle.h>
6 #include <DetailedVoxel.h>
7 #include <AABB.h>
8 #include <Scene.h>
9 #include <PyPrimitiveWrapper.h>
10 #include <PyTriangleWrapper.h>
11 #include <PyDetailedVoxelWrapper.h>
12 #include <PyAABBWrapper.h>
13 #include <PyRaySceneIntersectionWrapper.h>
14 
23 public:
24  // *** ATTRIBUTES *** //
25  // ******************** //
26  Scene &scene;
27 
28  // *** CONSTRUCTOR / DESTRUCTOR *** //
29  // ********************************** //
30  PySceneWrapper(Scene &scene) : scene(scene) {}
31  virtual ~PySceneWrapper() {}
32 
33  // *** GETTERS and SETTERS *** //
34  // ***************************** //
35  PyTriangleWrapper * newTriangle(){
36  Vertex v;
37  v.pos[0] = 0.0; v.pos[1] = 0.0; v.pos[2] = 0.0;
38  Triangle * tri = new Triangle(v, v, v);
39  scene.primitives.push_back(tri);
40  return new PyTriangleWrapper(tri);
41  }
42  PyDetailedVoxelWrapper * newDetailedVoxel(){
43  std::vector<int> vi({0, 0});
44  std::vector<double> vd({0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0});
45  DetailedVoxel *dv = new DetailedVoxel(0.0, 0.0, 0.0, 0.5, vi, vd);
46  scene.primitives.push_back(dv);
47  return new PyDetailedVoxelWrapper(dv);
48  }
49  PyPrimitiveWrapper * getPrimitive(size_t index)
50  {return new PyPrimitiveWrapper(scene.primitives[index]);}
51  PyAABBWrapper * getAABB()
52  {return new PyAABBWrapper(scene.getAABB().get());}
53  PythonDVec3 * getGroundPointAt(double x, double y, double z){
54  glm::dvec3 gp = glm::dvec3(x, y, z);
55  return new PythonDVec3(gp);
56  }
57  PyRaySceneIntersectionWrapper * getIntersection(
58  double ox, double oy, double oz, // Origin
59  double dx, double dy, double dz, // Direction
60  bool groundOnly
61  ){
62  glm::dvec3 origin(ox, oy, oz);
63  glm::dvec3 direction(dx, dy, dz);
65  *scene.getIntersection(origin, direction, groundOnly)
66  );
67  }
68  PythonDVec3 * getShift(){return new PythonDVec3(scene.getShift());}
69 
70 
71  // *** M E T H O D S *** //
72  // *********************** //
73  bool finalizeLoading() {return scene.finalizeLoading();}
74  void writeObject(std::string path) {scene.writeObject(path);}
75 };
76 
77 #endif
Wrapper for Triangle class.
Definition: PyTriangleWrapper.h:15
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <Triangle.h>
6 #include <DetailedVoxel.h>
7 #include <AABB.h>
8 #include <Scene.h>
9 #include <PyPrimitiveWrapper.h>
10 #include <PyTriangleWrapper.h>
11 #include <PyDetailedVoxelWrapper.h>
12 #include <PyAABBWrapper.h>
13 #include <PyRaySceneIntersectionWrapper.h>
14 
15 namespace pyhelios{
16 
25 public:
26  // *** ATTRIBUTES *** //
27  // ******************** //
28  Scene &scene;
29 
30  // *** CONSTRUCTOR / DESTRUCTOR *** //
31  // ********************************** //
32  PySceneWrapper(Scene &scene) : scene(scene) {}
33  virtual ~PySceneWrapper() {}
34 
35  // *** GETTERS and SETTERS *** //
36  // ***************************** //
37  PyTriangleWrapper * newTriangle(){
38  Vertex v;
39  v.pos[0] = 0.0; v.pos[1] = 0.0; v.pos[2] = 0.0;
40  Triangle * tri = new Triangle(v, v, v);
41  scene.primitives.push_back(tri);
42  return new PyTriangleWrapper(tri);
43  }
44  PyDetailedVoxelWrapper * newDetailedVoxel(){
45  std::vector<int> vi({0, 0});
46  std::vector<double> vd({0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0});
47  DetailedVoxel *dv = new DetailedVoxel(0.0, 0.0, 0.0, 0.5, vi, vd);
48  scene.primitives.push_back(dv);
49  return new PyDetailedVoxelWrapper(dv);
50  }
51  PyPrimitiveWrapper * getPrimitive(size_t index)
52  {return new PyPrimitiveWrapper(scene.primitives[index]);}
53  PyAABBWrapper * getAABB()
54  {return new PyAABBWrapper(scene.getAABB().get());}
55  PythonDVec3 * getGroundPointAt(double x, double y, double z){
56  glm::dvec3 gp = glm::dvec3(x, y, z);
57  return new PythonDVec3(gp);
58  }
59  PyRaySceneIntersectionWrapper * getIntersection(
60  double ox, double oy, double oz, // Origin
61  double dx, double dy, double dz, // Direction
62  bool groundOnly
63  ){
64  glm::dvec3 origin(ox, oy, oz);
65  glm::dvec3 direction(dx, dy, dz);
67  *scene.getIntersection(origin, direction, groundOnly)
68  );
69  }
70  PythonDVec3 * getShift(){return new PythonDVec3(scene.getShift());}
71 
72 
73  // *** M E T H O D S *** //
74  // *********************** //
75  bool finalizeLoading() {return scene.finalizeLoading();}
76  void writeObject(std::string path) {scene.writeObject(path);}
77 };
78 
79 }
80 
81 #endif
Wrapper for Primitive class.
Definition: PyPrimitiveWrapper.h:20
std::vector< Primitive * > primitives
Vector of primitives composing the scene.
Definition: Scene.h:66
-
Wrapper for AABB class.
Definition: PyAABBWrapper.h:14
void writeObject(std::string path)
Serialize the scene and write it to given output file.
Definition: Scene.cpp:213
std::shared_ptr< AABB > getAABB()
Obtain the axis aligned bounding box defining scene boundaries.
Definition: Scene.cpp:151
+
Definition: PyAABBWrapper.h:7
+
Wrapper for Scene.
Definition: PySceneWrapper.h:24
+
Wrapper for Triangle class.
Definition: PyTriangleWrapper.h:17
Class which extends Voxel to support AMAPVox format with extra features.
Definition: DetailedVoxel.h:12
+
Wrapper for DetailedVoxel class.
Definition: PyDetailedVoxelWrapper.h:16
bool finalizeLoading()
Handle scene loading finish process.
Definition: Scene.cpp:64
Class representing triangle primitive.
Definition: Triangle.h:13
-
Wrapper for RaySceneIntersection.
Definition: PyRaySceneIntersectionWrapper.h:14
glm::dvec3 pos
Vertex 3D position.
Definition: Vertex.h:32
-
Wrapper for DetailedVoxel class.
Definition: PyDetailedVoxelWrapper.h:14
+
Wrapper for RaySceneIntersection.
Definition: PyRaySceneIntersectionWrapper.h:16
glm::dvec3 getShift()
Obtain the minimum boundaries of the original axis aligned bounding box containing the scene...
Definition: Scene.cpp:211
Class representing a scene asset.
Definition: Scene.h:25
-
Wrapper for Primitive class.
Definition: PyPrimitiveWrapper.h:18
+
Wrapper for AABB class.
Definition: PyAABBWrapper.h:16
std::shared_ptr< RaySceneIntersection > getIntersection(glm::dvec3 &rayOrigin, glm::dvec3 &rayDir, bool groundOnly)
Obtain the intersection between the ray and the scene, if any.
Definition: Scene.cpp:177
-
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:14
+
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:16
Class representing a vertex.
Definition: Vertex.h:14
-
Wrapper for Scene.
Definition: PySceneWrapper.h:22
diff --git a/doc/html/d8/d83/classpyhelios_1_1PyIntegerList.html b/doc/html/d8/d83/classpyhelios_1_1PyIntegerList.html new file mode 100644 index 000000000..8c1aec8b9 --- /dev/null +++ b/doc/html/d8/d83/classpyhelios_1_1PyIntegerList.html @@ -0,0 +1,150 @@ + + + + + + + +Helios++: pyhelios::PyIntegerList Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyIntegerList Class Reference
+
+
+ +

Wrapper for std::list<int> class. + More...

+ +

#include <PyIntegerList.h>

+ + + + + + + + + + + + + + +

+Public Member Functions

PyIntegerList (std::list< int > &list)
 
+int get (long _index)
 
+void set (long _index, int value)
 
+void insert (long _index, int value)
 
+void erase (long _index)
 
+size_t length ()
 
+ + + +

+Public Attributes

+std::list< int > & list
 
+

Detailed Description

+

Wrapper for std::list<int> class.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+
See also
std::list
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/d8/d83/classpyhelios_1_1PyIntegerList.js b/doc/html/d8/d83/classpyhelios_1_1PyIntegerList.js new file mode 100644 index 000000000..cc7eb7fee --- /dev/null +++ b/doc/html/d8/d83/classpyhelios_1_1PyIntegerList.js @@ -0,0 +1,11 @@ +var classpyhelios_1_1PyIntegerList = +[ + [ "PyIntegerList", "d8/d83/classpyhelios_1_1PyIntegerList.html#a4e36cb4d6b3a76cd0d53e6ba9d6445f0", null ], + [ "~PyIntegerList", "d8/d83/classpyhelios_1_1PyIntegerList.html#a24ee101d37b9bde00168ec4a1f44f81b", null ], + [ "erase", "d8/d83/classpyhelios_1_1PyIntegerList.html#a10d09c6510a32497e6c1b9304accf8a2", null ], + [ "get", "d8/d83/classpyhelios_1_1PyIntegerList.html#a505c5a30f1af704c94131b7ea801c531", null ], + [ "insert", "d8/d83/classpyhelios_1_1PyIntegerList.html#a0e76902d8231f86194da5397c00a098e", null ], + [ "length", "d8/d83/classpyhelios_1_1PyIntegerList.html#a866ba4b535eabc4a0f702fe10478ec5d", null ], + [ "set", "d8/d83/classpyhelios_1_1PyIntegerList.html#a3fa9c61bd4c27fcbb72c9e8342f86a57", null ], + [ "list", "d8/d83/classpyhelios_1_1PyIntegerList.html#a7660eb85f3bb9928d7504db03bef2e84", null ] +]; \ No newline at end of file diff --git a/doc/html/d8/d98/classpyhelios_1_1PyHeliosException.html b/doc/html/d8/d98/classpyhelios_1_1PyHeliosException.html new file mode 100644 index 000000000..41c0badea --- /dev/null +++ b/doc/html/d8/d98/classpyhelios_1_1PyHeliosException.html @@ -0,0 +1,155 @@ + + + + + + + +Helios++: pyhelios::PyHeliosException Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyHeliosException Class Reference
+
+
+ +

#include <PyHeliosException.h>

+
+Inheritance diagram for pyhelios::PyHeliosException:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for pyhelios::PyHeliosException:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + +

+Public Member Functions

PyHeliosException (std::string const msg="")
 
- Public Member Functions inherited from HeliosException
 HeliosException (std::string const msg="")
 Helios exception constructor. More...
 
const char * what () const noexcept override
 Helios exception overriding of what method. More...
 
+ + + + + +

+Additional Inherited Members

- Protected Attributes inherited from HeliosException
+std::string const msg
 Helios exception message.
 
+

Detailed Description

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+

Simple wrapper for HeliosException

+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/d8/d98/classpyhelios_1_1PyHeliosException.js b/doc/html/d8/d98/classpyhelios_1_1PyHeliosException.js new file mode 100644 index 000000000..6bde027d7 --- /dev/null +++ b/doc/html/d8/d98/classpyhelios_1_1PyHeliosException.js @@ -0,0 +1,4 @@ +var classpyhelios_1_1PyHeliosException = +[ + [ "PyHeliosException", "d8/d98/classpyhelios_1_1PyHeliosException.html#af791a6b463b48aa6c7c952f570f5f44f", null ] +]; \ No newline at end of file diff --git a/doc/html/d8/d9e/AbstractPulseRunnable_8h_source.html b/doc/html/d8/d9e/AbstractPulseRunnable_8h_source.html index ba83db44a..197bbf2f3 100644 --- a/doc/html/d8/d9e/AbstractPulseRunnable_8h_source.html +++ b/doc/html/d8/d9e/AbstractPulseRunnable_8h_source.html @@ -93,7 +93,7 @@
1 #pragma once
2 
3 #include "AbstractDetector.h"
4 #include <noise/RandomnessGenerator.h>
5 class Measurement;
6 #include "LasSpecification.h"
7 #include <mutex>
8 
9 // ############## BEGIN Static variables ###############
13 static const double speedOfLight_mPerSec = 299792458;
14 
18 static const double cfg_speedOfLight_mPerNanosec = 0.299792458;
19 
23 static const double speedOfLight_mPerPicosec = 0.000299792458;
24 // ############## END Static variables ###############
25 
30 public:
31  // *** ATTRIBUTES *** //
32  // ******************** //
36  std::shared_ptr<AbstractDetector> detector = nullptr;
37 
41  glm::dvec3 absoluteBeamOrigin;
46 
54  double currentGpsTime; // In milliseconds
55 
60  bool writeGround = true;
61 
62  // *** CONSTRUCTION / DESTRUCTION *** //
63  // ************************************ //
73  std::shared_ptr<AbstractDetector> detector,
74  glm::dvec3 absoluteBeamOrigin,
75  Rotation absoluteBeamAttitude,
76  int pulseNumber,
77  long gpsTime
78  ){
79  this->detector = detector;
80  this->absoluteBeamAttitude = absoluteBeamAttitude;
81  this->absoluteBeamOrigin = absoluteBeamOrigin;
82  this->currentPulseNum = pulseNumber;
83  this->currentGpsTime = gpsTime;
84  }
85 
86  // *** M E T H O D S *** //
87  // *********************** //
100  double calcCrossSection(double f, double Alf, double theta);
110  double phongBDRF(
111  double incidenceAngle,
112  double targetSpecularity,
113  double targetSpecularExponent
114  );
127  inline double calcAtmosphericFactor(double targetRange);
137  double calcReceivedPower(
138  double emittedPower,
139  double targetRange,
140  double incidenceAngle,
141  double targetReflectivity,
142  double targetSpecularity,
143  double targetSpecularExponent,
144  double targetArea
145  );
159  double calcReceivedPower(
160  double emittedPower,
161  double targetRange,
162  double sigma
163  );
172  static inline double _calcReceivedPower(
173  double Pt,
174  double Dr2,
175  double R,
176  double Bt2,
177  double etaSys,
178  double etaAtm,
179  double sigma
180  );
194  void capturePoint(
195  Measurement & m,
197  std::vector<Measurement> *allMeasurements,
198  std::mutex *allMeasurementsMutex,
199  std::vector<Measurement> *cycleMeasurements,
200  std::mutex *cycleMeasurementsMutex
201  );
214  double &distance,
215  glm::dvec3 &beamOrigin,
216  glm::dvec3 &beamDirection
217  );
218 
223  virtual void operator()() = 0;
224 };
double calcAtmosphericFactor(double targetRange)
Compute atmospheric factor , understood as the energy left after attenuation by air particles in rang...
Definition: AbstractPulseRunnable.cpp:32
bool writeGround
Flag to specify if ground points must be captured (true) or not (false)
Definition: AbstractPulseRunnable.h:60
-
Definition: Rotation.h:80
+
Definition: Rotation.h:81
static double _calcReceivedPower(double Pt, double Dr2, double R, double Bt2, double etaSys, double etaAtm, double sigma)
Compute received power .
Definition: AbstractPulseRunnable.cpp:81
Class representing a measurement.
Definition: Measurement.h:12
Base abstract class for pulse runnables.
Definition: AbstractPulseRunnable.h:29
diff --git a/doc/html/d8/dc0/classpyhelios_1_1PyRaySceneIntersectionWrapper-members.html b/doc/html/d8/dc0/classpyhelios_1_1PyRaySceneIntersectionWrapper-members.html new file mode 100644 index 000000000..000cbc55b --- /dev/null +++ b/doc/html/d8/dc0/classpyhelios_1_1PyRaySceneIntersectionWrapper-members.html @@ -0,0 +1,114 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyRaySceneIntersectionWrapper Member List
+
+
+ +

This is the complete list of members for pyhelios::PyRaySceneIntersectionWrapper, including all inherited members.

+ + + + + + + + +
getIncidenceAngle() (defined in pyhelios::PyRaySceneIntersectionWrapper)pyhelios::PyRaySceneIntersectionWrapperinline
getPoint() (defined in pyhelios::PyRaySceneIntersectionWrapper)pyhelios::PyRaySceneIntersectionWrapperinline
getPrimitive() (defined in pyhelios::PyRaySceneIntersectionWrapper)pyhelios::PyRaySceneIntersectionWrapperinline
PyRaySceneIntersectionWrapper(RaySceneIntersection const rsi) (defined in pyhelios::PyRaySceneIntersectionWrapper)pyhelios::PyRaySceneIntersectionWrapperinline
rsi (defined in pyhelios::PyRaySceneIntersectionWrapper)pyhelios::PyRaySceneIntersectionWrapper
setIncidenceAngle(double incidenceAngle) (defined in pyhelios::PyRaySceneIntersectionWrapper)pyhelios::PyRaySceneIntersectionWrapperinline
~PyRaySceneIntersectionWrapper() (defined in pyhelios::PyRaySceneIntersectionWrapper)pyhelios::PyRaySceneIntersectionWrapperinlinevirtual
+
+ + + + diff --git a/doc/html/d9/d17/classpyhelios_1_1PyHeliosException__inherit__graph.map b/doc/html/d9/d17/classpyhelios_1_1PyHeliosException__inherit__graph.map new file mode 100644 index 000000000..7bead3e35 --- /dev/null +++ b/doc/html/d9/d17/classpyhelios_1_1PyHeliosException__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/d9/d17/classpyhelios_1_1PyHeliosException__inherit__graph.md5 b/doc/html/d9/d17/classpyhelios_1_1PyHeliosException__inherit__graph.md5 new file mode 100644 index 000000000..ad4058120 --- /dev/null +++ b/doc/html/d9/d17/classpyhelios_1_1PyHeliosException__inherit__graph.md5 @@ -0,0 +1 @@ +00333100190fe14b4545478725c094ed \ No newline at end of file diff --git a/doc/html/d9/d17/classpyhelios_1_1PyHeliosException__inherit__graph.png b/doc/html/d9/d17/classpyhelios_1_1PyHeliosException__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..393646f56f14702f7928a35ebe50615ad672ad42 GIT binary patch literal 6081 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 s#CLdg% + + + + + + +Helios++: pyhelios::PySimulationCycleCallback Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PySimulationCycleCallback Class Reference
+
+
+ +

Python callback for each simulation cycle that has been completed. + More...

+ +

#include <PySimulationCycleCallback.h>

+
+Inheritance diagram for pyhelios::PySimulationCycleCallback:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for pyhelios::PySimulationCycleCallback:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + +

+Public Member Functions

PySimulationCycleCallback (PyObject *pyCallback)
 
void operator() (std::vector< Measurement > &measurements, std::vector< Trajectory > &trajectories)
 Callback functor which operates over vector of measurements. More...
 
- Public Member Functions inherited from SimulationCycleCallback
SimulationCycleCallback ()
 Simulation cycle callback default constructor.
 
+ + + +

+Public Attributes

+PyObject * pyCallback
 
+

Detailed Description

+

Python callback for each simulation cycle that has been completed.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+
See also
PyHeliosOutputWrapper
+

Member Function Documentation

+ +

◆ operator()()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void pyhelios::PySimulationCycleCallback::operator() (std::vector< Measurement > & measurements,
std::vector< Trajectory > & trajectories 
)
+
+inlinevirtual
+
+ +

Callback functor which operates over vector of measurements.

+
Parameters
+ + + +
measurementsVector of measurements to operate over
trajectoriesVector of trajectories to operate over
+
+
+
See also
Measurement
+
+Trajectory
+ +

Implements SimulationCycleCallback.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/d9/d64/classpyhelios_1_1PySimulationCycleCallback.js b/doc/html/d9/d64/classpyhelios_1_1PySimulationCycleCallback.js new file mode 100644 index 000000000..60d7ee06c --- /dev/null +++ b/doc/html/d9/d64/classpyhelios_1_1PySimulationCycleCallback.js @@ -0,0 +1,7 @@ +var classpyhelios_1_1PySimulationCycleCallback = +[ + [ "PySimulationCycleCallback", "d9/d64/classpyhelios_1_1PySimulationCycleCallback.html#a7f1f42ff8adbb1774900a5d4d52b0c92", null ], + [ "~PySimulationCycleCallback", "d9/d64/classpyhelios_1_1PySimulationCycleCallback.html#ad5971b981c40e6758303ea98afcca57a", null ], + [ "operator()", "d9/d64/classpyhelios_1_1PySimulationCycleCallback.html#a9a61f9899c8c59c874bc4ae9727b88c8", null ], + [ "pyCallback", "d9/d64/classpyhelios_1_1PySimulationCycleCallback.html#af6d36c4dc4a4d319296828e42866f276", null ] +]; \ No newline at end of file diff --git a/doc/html/d9/d65/FullWaveformPulseRunnable_8h_source.html b/doc/html/d9/d65/FullWaveformPulseRunnable_8h_source.html index 94e316656..a27b779aa 100644 --- a/doc/html/d9/d65/FullWaveformPulseRunnable_8h_source.html +++ b/doc/html/d9/d65/FullWaveformPulseRunnable_8h_source.html @@ -94,7 +94,7 @@
std::mutex * allMeasurementsMutex
Mutex to handle concurrent access to vector of all measurements.
Definition: FullWaveformPulseRunnable.h:43
bool calcEchowidth
Flag to specify if calc echo width (true) or not (false)
Definition: FullWaveformPulseRunnable.h:61
-
Definition: Rotation.h:80
+
Definition: Rotation.h:81
std::mutex * cycleMeasurementsMutex
Mutex to handle concurrent access to vector of current cycle measurements.
Definition: FullWaveformPulseRunnable.h:53
void computeSubrays(Scene &scene, NoiseSource< double > &intersectionHandlingNoiseSource, std::map< double, double > &reflections, vector< RaySceneIntersection > &intersects)
Perform ray casting to find intersections.
Definition: FullWaveformPulseRunnable.cpp:73
double calcIntensity(double incidenceAngle, double targetRange, double targetReflectivity, double targetSpecularity, double targetSpecularExponent, double targetArea, double radius)
Compute intensity.
Definition: FullWaveformPulseRunnable.cpp:553
diff --git a/doc/html/d9/d9f/PyAABBWrapper_8h_source.html b/doc/html/d9/d9f/PyAABBWrapper_8h_source.html index d78856241..de26b4b8b 100644 --- a/doc/html/d9/d9f/PyAABBWrapper_8h_source.html +++ b/doc/html/d9/d9f/PyAABBWrapper_8h_source.html @@ -90,10 +90,11 @@
PyAABBWrapper.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyVertexWrapper.h>
6 
15 public:
16  // *** ATTRIBUTE *** //
17  // ******************* //
18  AABB *aabb;
19 
20  // *** CONSTRUCTION / DESTRUCTION *** //
21  // ************************************ //
22  PyAABBWrapper(AABB *aabb) : aabb(aabb) {}
23  virtual ~PyAABBWrapper() = default;
24 
25  // *** GETTERS and SETTERS *** //
26  // ***************************** //
27  PyVertexWrapper * getMinVertex()
28  {return new PyVertexWrapper(aabb->vertices);}
29  PyVertexWrapper * getMaxVertex()
30  {return new PyVertexWrapper(aabb->vertices + 1);}
31 };
32 
33 #endif
Wrapper for Vertex class.
Definition: PyVertexWrapper.h:15
-
Wrapper for AABB class.
Definition: PyAABBWrapper.h:14
-
Vertex vertices[2]
Vertices defining the axis aligned bounding box.
Definition: AABB.h:31
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyVertexWrapper.h>
6 
7 namespace pyhelios{
8 
17 public:
18  // *** ATTRIBUTE *** //
19  // ******************* //
20  AABB *aabb;
21 
22  // *** CONSTRUCTION / DESTRUCTION *** //
23  // ************************************ //
24  PyAABBWrapper(AABB *aabb) : aabb(aabb) {}
25  virtual ~PyAABBWrapper() = default;
26 
27  // *** GETTERS and SETTERS *** //
28  // ***************************** //
29  PyVertexWrapper * getMinVertex()
30  {return new PyVertexWrapper(aabb->vertices);}
31  PyVertexWrapper * getMaxVertex()
32  {return new PyVertexWrapper(aabb->vertices + 1);}
33 };
34 
35 }
36 
37 #endif
Vertex vertices[2]
Vertices defining the axis aligned bounding box.
Definition: AABB.h:31
+
Definition: PyAABBWrapper.h:7
Class representing an Axis Aligned Bounding Box (AABB)
Definition: AABB.h:10
+
Wrapper for AABB class.
Definition: PyAABBWrapper.h:16
+
Wrapper for Vertex class.
Definition: PyVertexWrapper.h:17
diff --git a/doc/html/d9/db8/classpyhelios_1_1PyPrimitiveWrapper__coll__graph.map b/doc/html/d9/db8/classpyhelios_1_1PyPrimitiveWrapper__coll__graph.map new file mode 100644 index 000000000..5feb6dfb9 --- /dev/null +++ b/doc/html/d9/db8/classpyhelios_1_1PyPrimitiveWrapper__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/d9/db8/classpyhelios_1_1PyPrimitiveWrapper__coll__graph.md5 b/doc/html/d9/db8/classpyhelios_1_1PyPrimitiveWrapper__coll__graph.md5 new file mode 100644 index 000000000..e204bcef3 --- /dev/null +++ b/doc/html/d9/db8/classpyhelios_1_1PyPrimitiveWrapper__coll__graph.md5 @@ -0,0 +1 @@ +34dbc09388e3d389b5145d96ea3fa49c \ No newline at end of file diff --git a/doc/html/d9/db8/classpyhelios_1_1PyPrimitiveWrapper__coll__graph.png b/doc/html/d9/db8/classpyhelios_1_1PyPrimitiveWrapper__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..11271def07263401f0871f92c2fe6154851dffe5 GIT binary patch literal 4404 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.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
11 public:
12  // *** ATTRIBUTES *** //
13  // ******************** //
15 
16  // *** CONSTRUCTION *** //
17  // ********************** //
19  virtual ~PyRandomnessGeneratorWrapper(){}
20 
21  // *** GETTERS and SETTERS *** //
22  // ***************************** //
23  void computeUniformRealDistribution(double lowerBound, double upperBound)
24  {rg.computeUniformRealDistribution(lowerBound, upperBound);}
25  double uniformRealDistributionNext()
26  {return rg.uniformRealDistributionNext();}
27  void computeNormalDistribution(double mean, double stdev)
28  {return rg.computeNormalDistribution(mean, stdev);}
29  double normalDistributionNext()
30  {return rg.normalDistributionNext();}
31 };
32 
33 #endif
-
Wrapper for RandomnessGenerator class.
Definition: PyRandomnessGeneratorWrapper.h:10
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 namespace pyhelios{
6 
13 public:
14  // *** ATTRIBUTES *** //
15  // ******************** //
17 
18  // *** CONSTRUCTION *** //
19  // ********************** //
21  virtual ~PyRandomnessGeneratorWrapper(){}
22 
23  // *** GETTERS and SETTERS *** //
24  // ***************************** //
25  void computeUniformRealDistribution(double lowerBound, double upperBound)
26  {rg.computeUniformRealDistribution(lowerBound, upperBound);}
27  double uniformRealDistributionNext()
28  {return rg.uniformRealDistributionNext();}
29  void computeNormalDistribution(double mean, double stdev)
30  {return rg.computeNormalDistribution(mean, stdev);}
31  double normalDistributionNext()
32  {return rg.normalDistributionNext();}
33 };
34 
35 }
36 
37 #endif
+
Definition: PyAABBWrapper.h:7
+
Wrapper for RandomnessGenerator class.
Definition: PyRandomnessGeneratorWrapper.h:12
RealType uniformRealDistributionNext()
Obtain the next value in the computed uniform real distribution.
Definition: RandomnessGenerator.h:374
RealType normalDistributionNext()
Obtain the next value in the computed normal distribution.
Definition: RandomnessGenerator.h:412
void computeNormalDistribution(RealType mean, RealType stdev)
Compute a normal distribution using the specified real data type.
Definition: RandomnessGenerator.h:380
diff --git a/doc/html/d9/dc2/classpyhelios_1_1PyHeliosOutputWrapper-members.html b/doc/html/d9/dc2/classpyhelios_1_1PyHeliosOutputWrapper-members.html new file mode 100644 index 000000000..0ecb2cca9 --- /dev/null +++ b/doc/html/d9/dc2/classpyhelios_1_1PyHeliosOutputWrapper-members.html @@ -0,0 +1,113 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyHeliosOutputWrapper Member List
+
+
+ +

This is the complete list of members for pyhelios::PyHeliosOutputWrapper, including all inherited members.

+ + + + + + + +
finished (defined in pyhelios::PyHeliosOutputWrapper)pyhelios::PyHeliosOutputWrapper
measurements (defined in pyhelios::PyHeliosOutputWrapper)pyhelios::PyHeliosOutputWrapper
PyHeliosOutputWrapper(std::shared_ptr< std::vector< Measurement >> measurements, std::shared_ptr< std::vector< Trajectory >> trajectories, bool finished) (defined in pyhelios::PyHeliosOutputWrapper)pyhelios::PyHeliosOutputWrapperinline
PyHeliosOutputWrapper(std::vector< Measurement > &measurements, std::vector< Trajectory > &trajectories, bool finished) (defined in pyhelios::PyHeliosOutputWrapper)pyhelios::PyHeliosOutputWrapperinline
trajectories (defined in pyhelios::PyHeliosOutputWrapper)pyhelios::PyHeliosOutputWrapper
~PyHeliosOutputWrapper() (defined in pyhelios::PyHeliosOutputWrapper)pyhelios::PyHeliosOutputWrapperinlinevirtual
+
+ + + + diff --git a/doc/html/d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html b/doc/html/d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html index 6da8a06a1..9f3cdd47c 100644 --- a/doc/html/d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html +++ b/doc/html/d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html @@ -177,15 +177,21 @@ + + + + + + + + - - - @@ -203,6 +209,14 @@ bool  + + + + + + @@ -315,6 +329,34 @@

See also
VHSimpleCanvas::dynObjs
+ + + +

◆ configure()

+ +
+
+

Protected Member Functions

void configure () override
 
void start () override
 
void update () override
 
+void renderNormals (VHDynObjectXYZRGBAdapter &dynObj)
 Render normals for each primitive of given dynamic object.
 
+void unrenderAllNormals ()
 Remove all rendered normals.
 
- Protected Member Functions inherited from visualhelios::VHCanvas
-virtual void configure ()
 Configure method where visualizer configuration must be implemented.
 
virtual void onStop ()
 Method to handle the behavior of the canvas after visualization has finished.
renderingNormals
 Specify if the simple canvas must render normals (true) or not (false)
 
+float normalMagnitude
 Specify the magnitude of normal vector for visualization.
 
+bool needUpdate
 Control whether an update is needed even when dynamic objects themselves have not been updated (true) or not (false)
 
- Protected Attributes inherited from visualhelios::VHCanvas
string const title
+ + + + +
+ + + + + + + +
void VHSimpleCanvas::configure ()
+
+overrideprotectedvirtual
+
+
See also
VHCanvas::configure
+ +

Reimplemented from visualhelios::VHCanvas.

+
diff --git a/doc/html/d9/dc5/classvisualhelios_1_1VHSimpleCanvas.js b/doc/html/d9/dc5/classvisualhelios_1_1VHSimpleCanvas.js index a366a2712..13694ddc2 100644 --- a/doc/html/d9/dc5/classvisualhelios_1_1VHSimpleCanvas.js +++ b/doc/html/d9/dc5/classvisualhelios_1_1VHSimpleCanvas.js @@ -5,14 +5,19 @@ var classvisualhelios_1_1VHSimpleCanvas = [ "~VHSimpleCanvas", "d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html#a87202c05b818ef1e79942e3517276343", null ], [ "appendDynObj", "d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html#aac8cce23c45898f85f62d9d38ae9ecbd", null ], [ "clearDynObjs", "d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html#ad60e431590e0d7624297655677a6c7e8", null ], + [ "configure", "d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html#a139556fb21f4eeac951ade476ed69e3d", null ], [ "getDynObj", "d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html#a082d9374a77aadc394664fa611c75d15", null ], [ "isRenderingNormals", "d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html#af3e0b4c311981a5d61ce22dcf3023430", null ], + [ "renderNormals", "d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html#a02b1afae710fc46806b2d1773f513631", null ], [ "setDynamicUpdateFunction", "d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html#aba79c84d9a3a7ac1b0f0ab28686bcf60", null ], [ "setDynObj", "d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html#ac6afccba7207c7091d255f39faeecd82", null ], [ "setRenderingNormals", "d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html#a38e682a45643ec7f634741f3302775de", null ], [ "start", "d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html#a4fdab84566224acd45e3aea2c5944d8c", null ], + [ "unrenderAllNormals", "d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html#a4dbeafa5e9bff452a0956f59e7e1dacb", null ], [ "update", "d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html#ac0be2ce9d35fa18a6c9b9b4c42c45416", null ], [ "dynamicUpdateFunction", "d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html#af18ec918584e33e3e99a50c6f31d75f0", null ], [ "dynObjs", "d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html#ac0f036f0f9a611bebc9bc42c663ba7cf", null ], + [ "needUpdate", "d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html#a041227496db2ef246f482a411c83af87", null ], + [ "normalMagnitude", "d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html#aea8df073471a975ead83f26d18b1db51", null ], [ "renderingNormals", "d9/dc5/classvisualhelios_1_1VHSimpleCanvas.html#a76a292de27f8f04421b6dc3853ceaffe", null ] ]; \ No newline at end of file diff --git a/doc/html/d9/dd0/Platform_8h_source.html b/doc/html/d9/dd0/Platform_8h_source.html index 207e974fd..1366a8583 100644 --- a/doc/html/d9/dd0/Platform_8h_source.html +++ b/doc/html/d9/dd0/Platform_8h_source.html @@ -106,7 +106,7 @@
glm::dvec3 cached_vectorToTarget_xy
Distance vector from current position to target over XY plane (z is always 0)
Definition: Platform.h:178
Base class for all assets.
Definition: Asset.h:10
std::shared_ptr< Scene > scene
Scene where the platform belongs to.
Definition: Platform.h:47
-
Definition: Rotation.h:80
+
Definition: Rotation.h:81
virtual void setAttitude(Rotation attitude)
Set platform attitude.
Definition: Platform.cpp:76
virtual void doSimStep(int simFrequency_hz)
Do corresponding computations for the platform at current simulation step.
Definition: Platform.h:270
glm::dvec3 position
Platform 3D position.
Definition: Platform.h:133
diff --git a/doc/html/d9/ddd/classpyhelios_1_1PyHeliosSimulation.html b/doc/html/d9/ddd/classpyhelios_1_1PyHeliosSimulation.html new file mode 100644 index 000000000..0b8fb79f1 --- /dev/null +++ b/doc/html/d9/ddd/classpyhelios_1_1PyHeliosSimulation.html @@ -0,0 +1,873 @@ + + + + + + + +Helios++: pyhelios::PyHeliosSimulation Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyHeliosSimulation Class Reference
+
+
+ +

#include <PyHeliosSimulation.h>

+
+Collaboration diagram for pyhelios::PyHeliosSimulation:
+
+
Collaboration graph
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 PyHeliosSimulation (std::string surveyPath, std::string assetsPath="assets/", std::string outputPath="output/", size_t numThreads=0, bool lasOutput=false, bool las10=false, bool zipOutput=false)
 Build a PyHeliosSimulation instance. More...
 
bool isStarted ()
 Check if the simulation has been started or not. More...
 
bool isPaused ()
 Check if the simulation has been paused or not. More...
 
bool isStopped ()
 Check if the simulation has been stopped or not. More...
 
bool isFinished ()
 Check if the simulation has finished or not. More...
 
bool isRunning ()
 Check if the simulation is running or not. More...
 
std::string getSurveyPath ()
 Obtain the survey path used by the simulation. More...
 
std::string getAssetsPath ()
 Obtain the path to assets directory used by the simulation. More...
 
SurveygetSurvey ()
 Obtain the survey used by the simulation. More...
 
ScannergetScanner ()
 Obtain the scanner used by the simulation. More...
 
PyPlatformWrappergetPlatform ()
 Obtain the platform used by the simulation. More...
 
+PySceneWrappergetScene ()
 
int getNumLegs ()
 Obtain the number of legs. More...
 
LeggetLeg (int index)
 Obtain leg at given index. More...
 
void removeLeg (int index)
 Remove leg at given index. More...
 
LegnewLeg (int index)
 Create a new empty leg. More...
 
size_t getSimFrequency ()
 Obtain simulation frequency. More...
 
size_t getNumThreads ()
 Obtain the number of threads. More...
 
+void setNumThreads (size_t numThreads)
 Set the number of threads.
 
+void setSimFrequency (size_t simFrequency)
 Set the simulation frequency.
 
+void setCallback (PyObject *pyCallback)
 Set the simulation callback to specified python object functor.
 
+void clearCallback ()
 Clear simulation callback so it will no longer be invoked.
 
+double getLasOutput ()
 
+void setLasOutput (double lasOutput_)
 
+double getLas10 ()
 
+void setLas10 (double las10_)
 
+double getZipOutput ()
 
+void setZipOutput (bool zipOutput_)
 
+void start ()
 Start the simulation if possible. Otherwise, PyHeliosException will be thrown.
 
+void pause ()
 Pause the simulation if possible. Otherwise, PyHeliosException will be thrown.
 
+void stop ()
 Stop the simulation if possible. Otherwise, PyHeliosException will be thrown.
 
+void resume ()
 Resume the simulation if possible. Otherwise, PyHeliosException will be thrown.
 
+PyHeliosOutputWrapperjoin ()
 Cause caller thread to wait until simulation has finished.
 
void loadSurvey (bool legNoiseDisabled=false, bool rebuildScene=false, bool writeWaveform=false, bool calcEchowidth=false, bool fullWaveNoise=false, bool platformNoiseDisabled=true)
 Load a survey XML file. More...
 
+void addRotateFilter (double q0, double q1, double q2, double q3, std::string partId)
 
+void addScaleFilter (double scaleFactor, std::string partId)
 
+void addTranslateFilter (double x, double y, double z, std::string partId)
 
+PyHeliosSimulationcopy ()
 
+ + + + + +

+Public Attributes

+bool finalOutput = true
 
+bool exportToFile = true
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Private Attributes

+std::shared_ptr< XmlSurveyLoaderxmlreader = nullptr
 
+bool started = false
 
+bool paused = false
 
+bool stopped = false
 
+bool finished = false
 
+size_t numThreads = 0
 
+size_t simFrequency = 0
 
+std::string surveyPath = "NULL"
 
+std::string assetsPath = "NULL"
 
+std::string outputPath = "NULL"
 
+std::shared_ptr< Surveysurvey = nullptr
 
+std::shared_ptr< SurveyPlaybackplayback = nullptr
 
+boost::thread * thread = nullptr
 
+std::shared_ptr< PySimulationCycleCallbackcallback = nullptr
 
+bool lasOutput = false
 
+bool las10 = false
 
+bool zipOutput = false
 
+

Detailed Description

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+

Helios++ simulation wrapped to be used from Python

+

Constructor & Destructor Documentation

+ +

◆ PyHeliosSimulation()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PyHeliosSimulation::PyHeliosSimulation (std::string surveyPath,
std::string assetsPath = "assets/",
std::string outputPath = "output/",
size_t numThreads = 0,
bool lasOutput = false,
bool las10 = false,
bool zipOutput = false 
)
+
+ +

Build a PyHeliosSimulation instance.

+
Parameters
+ + + +
[in]surveyPathPath to the survey XML file
[in]assetsPathPath to the assets directory
+
+
+
See also
PyHeliosSimulation::loadSurvey( std::string, std::string, bool, bool)
+ +
+
+

Member Function Documentation

+ +

◆ getAssetsPath()

+ +
+
+ + + + + +
+ + + + + + + +
std::string pyhelios::PyHeliosSimulation::getAssetsPath ()
+
+inline
+
+ +

Obtain the path to assets directory used by the simulation.

+
Returns
Path to the assets directory used by the simulation
+ +
+
+ +

◆ getLeg()

+ +
+
+ + + + + +
+ + + + + + + + +
Leg& pyhelios::PyHeliosSimulation::getLeg (int index)
+
+inline
+
+ +

Obtain leg at given index.

+
Returns
Leg at given index
+ +
+
+ +

◆ getNumLegs()

+ +
+
+ + + + + +
+ + + + + + + +
int pyhelios::PyHeliosSimulation::getNumLegs ()
+
+inline
+
+ +

Obtain the number of legs.

+
Returns
Number of legs
+ +
+
+ +

◆ getNumThreads()

+ +
+
+ + + + + +
+ + + + + + + +
size_t pyhelios::PyHeliosSimulation::getNumThreads ()
+
+inline
+
+ +

Obtain the number of threads.

+
Returns
Number of threads
+ +
+
+ +

◆ getPlatform()

+ +
+
+ + + + + +
+ + + + + + + +
PyPlatformWrapper* pyhelios::PyHeliosSimulation::getPlatform ()
+
+inline
+
+ +

Obtain the platform used by the simulation.

+
Returns
Platform used by the simulation
+ +
+
+ +

◆ getScanner()

+ +
+
+ + + + + +
+ + + + + + + +
Scanner& pyhelios::PyHeliosSimulation::getScanner ()
+
+inline
+
+ +

Obtain the scanner used by the simulation.

+
Returns
Scanner used by the simulation
+ +
+
+ +

◆ getSimFrequency()

+ +
+
+ + + + + +
+ + + + + + + +
size_t pyhelios::PyHeliosSimulation::getSimFrequency ()
+
+inline
+
+ +

Obtain simulation frequency.

+
Returns
Simulation frequency
+ +
+
+ +

◆ getSurvey()

+ +
+
+ + + + + +
+ + + + + + + +
Survey& pyhelios::PyHeliosSimulation::getSurvey ()
+
+inline
+
+ +

Obtain the survey used by the simulation.

+
Returns
Survey used by the simulation
+ +
+
+ +

◆ getSurveyPath()

+ +
+
+ + + + + +
+ + + + + + + +
std::string pyhelios::PyHeliosSimulation::getSurveyPath ()
+
+inline
+
+ +

Obtain the survey path used by the simulation.

+
Returns
Survey path used by the simulation
+ +
+
+ +

◆ isFinished()

+ +
+
+ + + + + + + +
bool PyHeliosSimulation::isFinished ()
+
+ +

Check if the simulation has finished or not.

+
Returns
True if the simulation has finished, false otherwise
+ +
+
+ +

◆ isPaused()

+ +
+
+ + + + + +
+ + + + + + + +
bool pyhelios::PyHeliosSimulation::isPaused ()
+
+inline
+
+ +

Check if the simulation has been paused or not.

+
Returns
True if the simulation has been paused, false otherwise
+ +
+
+ +

◆ isRunning()

+ +
+
+ + + + + + + +
bool PyHeliosSimulation::isRunning ()
+
+ +

Check if the simulation is running or not.

+
Returns
True if the simulation is running, false otherwise
+ +
+
+ +

◆ isStarted()

+ +
+
+ + + + + +
+ + + + + + + +
bool pyhelios::PyHeliosSimulation::isStarted ()
+
+inline
+
+ +

Check if the simulation has been started or not.

+
Returns
True if the simulation has started, false otherwise
+ +
+
+ +

◆ isStopped()

+ +
+
+ + + + + +
+ + + + + + + +
bool pyhelios::PyHeliosSimulation::isStopped ()
+
+inline
+
+ +

Check if the simulation has been stopped or not.

+
Returns
True if the simulation has been stopped, false otherwise
+ +
+
+ +

◆ loadSurvey()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void PyHeliosSimulation::loadSurvey (bool legNoiseDisabled = false,
bool rebuildScene = false,
bool writeWaveform = false,
bool calcEchowidth = false,
bool fullWaveNoise = false,
bool platformNoiseDisabled = true 
)
+
+ +

Load a survey XML file.

+
Parameters
+ + + +
[in]legNoiseDisabledTrue to disable leg noise, False to enable it
[in]rebuildSceneTrue to force scene rebuild even when a previous scene has been built, False to allow usage of previously built scene when it is available
+
+
+ +
+
+ +

◆ newLeg()

+ +
+
+ + + + + + + + +
Leg & PyHeliosSimulation::newLeg (int index)
+
+ +

Create a new empty leg.

+
Returns
Created empty leg
+ +
+
+ +

◆ removeLeg()

+ +
+
+ + + + + +
+ + + + + + + + +
void pyhelios::PyHeliosSimulation::removeLeg (int index)
+
+inline
+
+ +

Remove leg at given index.

+
Returns
Leg at given index
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/doc/html/d9/ddd/classpyhelios_1_1PyHeliosSimulation.js b/doc/html/d9/ddd/classpyhelios_1_1PyHeliosSimulation.js new file mode 100644 index 000000000..393606206 --- /dev/null +++ b/doc/html/d9/ddd/classpyhelios_1_1PyHeliosSimulation.js @@ -0,0 +1,62 @@ +var classpyhelios_1_1PyHeliosSimulation = +[ + [ "PyHeliosSimulation", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a131f3db32f40820f76d90226ef85a0b2", null ], + [ "PyHeliosSimulation", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a7c2f3ba2bf2df619c681d5d6e28ec9ae", null ], + [ "~PyHeliosSimulation", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#ada1cb7fc9789223287464f3381c911a8", null ], + [ "addRotateFilter", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a3e374382bd562c461e570920a3beb20b", null ], + [ "addScaleFilter", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#ab4c7d96e405e05d5777e63c7be08aebb", null ], + [ "addTranslateFilter", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#aa2d99601b8c92bec11254c83ec920dcf", null ], + [ "clearCallback", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#ab2f864c5dcca8503746e7dc042ec64f3", null ], + [ "copy", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#ae90f2d111ba42be989d2aef49b29286c", null ], + [ "getAssetsPath", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a075521bb005bc31431a50bc2633a9dbf", null ], + [ "getLas10", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#af3812fea42b2e096687a4aef47fb5443", null ], + [ "getLasOutput", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#ae1eb90c2b5745eea6459174641fa4025", null ], + [ "getLeg", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a13ec28795040cea09f5809fab775906f", null ], + [ "getNumLegs", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a1660fcb39447d24243246d4bab03de28", null ], + [ "getNumThreads", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a9fa0a9159322f1a97b3436e5b5248e1f", null ], + [ "getPlatform", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a49518d45ba95f50d048425e2a915fa49", null ], + [ "getScanner", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a3cf2628ee54d2ff51e3acc700c17a9b2", null ], + [ "getScene", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a7ddc9832e74879ef58ba3b4c97afa207", null ], + [ "getSimFrequency", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#ad5ee96243b70a96892a4b5ec9779171c", null ], + [ "getSurvey", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#aba5bdcd1700b55d8a111051c3aea1fda", null ], + [ "getSurveyPath", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a55e60f239777a1a0e4bacb59070da425", null ], + [ "getZipOutput", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a63aefdfbf8bdb68dbbc47c3096cd4273", null ], + [ "isFinished", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a5e672e3392cbba32f8182fab64924894", null ], + [ "isPaused", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a91f7acd4e4f3b81072624830b5e5dbfd", null ], + [ "isRunning", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a5ea671ee6798940be60a10fe90018bbf", null ], + [ "isStarted", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a19162c9ce6e4c5945e1b34c06f68b6e1", null ], + [ "isStopped", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a1abce8f49c437f329187859ba8392905", null ], + [ "join", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a7ed94cca26bcdc18318042db4c42d99c", null ], + [ "loadSurvey", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a2fcccc6995bf1432c4415dd170c13766", null ], + [ "newLeg", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a7041314c9422e4d3566ffd43d552b5ff", null ], + [ "pause", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#aebda4270ad4bc1f25950fb3444cee21b", null ], + [ "removeLeg", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#aadcf0ad26e33b6715bb38af07e6a747a", null ], + [ "resume", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a191ee19c213ecc1c693d5c3223ac0d31", null ], + [ "setCallback", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#aff781de9fed5cd578045a7c18b45e4bc", null ], + [ "setLas10", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a5d71b214f963dd9dc1773cbc3784a7be", null ], + [ "setLasOutput", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#aae42a8d7a5dba89b1e0868c895e28c10", null ], + [ "setNumThreads", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#ae272290ff315852519932adae3711623", null ], + [ "setSimFrequency", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a69a1c4f084d63ad2f47c9d66de1bdfac", null ], + [ "setZipOutput", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#ae490a1ad1ee124bf23f75e226f6ce5a7", null ], + [ "start", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#aa2716558523a01740748f5b5c8c13f87", null ], + [ "stop", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#ac5caa892758a92dd8d93bf3aed9aa94f", null ], + [ "assetsPath", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a5c4dc28890fa4500e48f9c8c3171bdd9", null ], + [ "callback", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a4e00aff3a48d2d825b4ef646d05c685e", null ], + [ "exportToFile", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#ad648da8670ce6744ae19978f36b1c8b6", null ], + [ "finalOutput", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a114e69554ff2d1d7cdd9385556ce4786", null ], + [ "finished", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#af9748a246833bdb8bb59b3730807341b", null ], + [ "las10", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a98d37172ff58a8b3b6ffbc598d940e15", null ], + [ "lasOutput", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#adda208256a05e576e54da575b049762f", null ], + [ "numThreads", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a780d04b33c4ab36c15a590997f825a1a", null ], + [ "outputPath", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a808f1e1254362510e7ace1add25033b1", null ], + [ "paused", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a8af2392412c0b9dece2d7d62574d6d69", null ], + [ "playback", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a58bfde234f85cac56869aa111b2cecfa", null ], + [ "simFrequency", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a4b3f74469b16268a877411e7c5c468cf", null ], + [ "started", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a17c21705d7772efca5dc92a3f03e791d", null ], + [ "stopped", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a577c4d54299831b0bbcd1956a44dc96b", null ], + [ "survey", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#ac67e768cfa9547aac26ae53cbfbc7c0a", null ], + [ "surveyPath", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a144f3dd8bf98163b32d8317cec32d8ad", null ], + [ "thread", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a0009393b2828a2517a4c2dd1f17ab856", null ], + [ "xmlreader", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#a04c66a5f7177892eb3789a39810f17d3", null ], + [ "zipOutput", "d9/ddd/classpyhelios_1_1PyHeliosSimulation.html#adf131a4ad580e278365f4060f9bac1d2", null ] +]; \ No newline at end of file diff --git a/doc/html/d9/dee/classvisualhelios_1_1VHDynObjectXYZAdapter-members.html b/doc/html/d9/dee/classvisualhelios_1_1VHDynObjectXYZAdapter-members.html index bbddae1ad..0141241f5 100644 --- a/doc/html/d9/dee/classvisualhelios_1_1VHDynObjectXYZAdapter-members.html +++ b/doc/html/d9/dee/classvisualhelios_1_1VHDynObjectXYZAdapter-members.html @@ -95,7 +95,7 @@ - + diff --git a/doc/html/da/d0d/classpyhelios_1_1PyTriangleWrapper__coll__graph.map b/doc/html/da/d0d/classpyhelios_1_1PyTriangleWrapper__coll__graph.map new file mode 100644 index 000000000..8436d4f25 --- /dev/null +++ b/doc/html/da/d0d/classpyhelios_1_1PyTriangleWrapper__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/html/da/d0d/classpyhelios_1_1PyTriangleWrapper__coll__graph.md5 b/doc/html/da/d0d/classpyhelios_1_1PyTriangleWrapper__coll__graph.md5 new file mode 100644 index 000000000..83a525081 --- /dev/null +++ b/doc/html/da/d0d/classpyhelios_1_1PyTriangleWrapper__coll__graph.md5 @@ -0,0 +1 @@ +6a69c8beb365d52b0d5800711f5b5e4e \ No newline at end of file diff --git a/doc/html/da/d0d/classpyhelios_1_1PyTriangleWrapper__coll__graph.png b/doc/html/da/d0d/classpyhelios_1_1PyTriangleWrapper__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..f6d12499160265ac7048c00bb31ef6d906e449ef GIT binary patch literal 7268 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%0ATE3 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 + + + diff --git a/doc/html/da/d31/classpyhelios_1_1PyDetailedVoxelWrapper__coll__graph.md5 b/doc/html/da/d31/classpyhelios_1_1PyDetailedVoxelWrapper__coll__graph.md5 new file mode 100644 index 000000000..980a3fcfb --- /dev/null +++ b/doc/html/da/d31/classpyhelios_1_1PyDetailedVoxelWrapper__coll__graph.md5 @@ -0,0 +1 @@ +112ff2edf7a52982c7ceb9f4fe2a6416 \ No newline at end of file diff --git a/doc/html/da/d31/classpyhelios_1_1PyDetailedVoxelWrapper__coll__graph.png b/doc/html/da/d31/classpyhelios_1_1PyDetailedVoxelWrapper__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..cef411f1ec07ef49b0a6dbf578c58f4ad2e0039e GIT binary patch literal 6728 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.h
-
1 #ifdef PCL_BINDING
2 
3 #include <memory>
4 #include <vector>
5 
6 #include <visualhelios/VHCanvas.h>
7 #include <visualhelios/adapters/VHDynObjectXYZRGBAdapter.h>
8 
9 namespace visualhelios{
10 
11 using std::shared_ptr;
12 using std::vector;
13 
20 class VHSimpleCanvas : public VHCanvas{
21 protected:
22  // *** ATTRIBUTES *** //
23  // ******************** //
31  vector<shared_ptr<VHDynObjectXYZRGBAdapter>> dynObjs;
43  std::function<void(
44  vector<shared_ptr<VHDynObjectXYZRGBAdapter>>
46 
52 
53 public:
54  // *** CONSTRUCTION / DESTRUCTION *** //
55  // ************************************ //
60  VHSimpleCanvas() : VHSimpleCanvas("Visual Helios simple canvas") {}
67  VHSimpleCanvas(string const title);
68  virtual ~VHSimpleCanvas() = default;
69 
70 protected:
71  // *** CANVAS METHODS *** //
72  // ************************ //
76  void start() override;
80  void update() override;
81 
82 public:
83  // *** GETTERS and SETTERS *** //
84  // ***************************** //
90  inline void appendDynObj(shared_ptr<VHDynObjectXYZRGBAdapter> dynObj)
91  {dynObjs.push_back(dynObj);}
97  inline VHDynObjectAdapter const & getDynObj(size_t index) const
98  {return *dynObjs[index];}
104  inline void setDynObj(
105  size_t index,
106  shared_ptr<VHDynObjectXYZRGBAdapter> dynObj
107  )
108  {dynObjs[index] = dynObj;}
112  inline void clearDynObjs()
113  {dynObjs.clear();}
120  std::function<void(
121  vector<shared_ptr<VHDynObjectXYZRGBAdapter>>
122  )> const dynamicUpdateFunction
123  ){this->dynamicUpdateFunction = dynamicUpdateFunction;}
129  inline bool isRenderingNormals() const {return renderingNormals;}
136  inline void setRenderingNormals(bool const renderingNormals)
137  {this->renderingNormals = renderingNormals;}
138 
139 
140 };
141 
142 }
143 
144 #endif
void start() override
Definition: VHSimpleCanvas.cpp:19
+
1 #ifdef PCL_BINDING
2 
3 #include <memory>
4 #include <vector>
5 
6 #include <visualhelios/VHCanvas.h>
7 #include <visualhelios/adapters/VHDynObjectXYZRGBAdapter.h>
8 
9 namespace visualhelios{
10 
11 using std::shared_ptr;
12 using std::vector;
13 
20 class VHSimpleCanvas : public VHCanvas{
21 protected:
22  // *** ATTRIBUTES *** //
23  // ******************** //
31  vector<shared_ptr<VHDynObjectXYZRGBAdapter>> dynObjs;
43  std::function<void(
44  vector<shared_ptr<VHDynObjectXYZRGBAdapter>>
46 
56 
61  bool needUpdate;
62 
63 public:
64  // *** CONSTRUCTION / DESTRUCTION *** //
65  // ************************************ //
70  VHSimpleCanvas() : VHSimpleCanvas("Visual Helios simple canvas") {}
77  VHSimpleCanvas(string const title);
78  virtual ~VHSimpleCanvas() = default;
79 
80 protected:
81  // *** CANVAS METHODS *** //
82  // ************************ //
86  void configure() override;
90  void start() override;
94  void update() override;
95 
96  // *** UTIL METHODS *** //
97  // ********************** //
105  void unrenderAllNormals();
106 
107 public:
108  // *** GETTERS and SETTERS *** //
109  // ***************************** //
115  inline void appendDynObj(shared_ptr<VHDynObjectXYZRGBAdapter> dynObj)
116  {dynObjs.push_back(dynObj);}
122  inline VHDynObjectAdapter const & getDynObj(size_t index) const
123  {return *dynObjs[index];}
129  inline void setDynObj(
130  size_t index,
131  shared_ptr<VHDynObjectXYZRGBAdapter> dynObj
132  )
133  {dynObjs[index] = dynObj;}
137  inline void clearDynObjs()
138  {dynObjs.clear();}
145  std::function<void(
146  vector<shared_ptr<VHDynObjectXYZRGBAdapter>>
147  )> const dynamicUpdateFunction
148  ){this->dynamicUpdateFunction = dynamicUpdateFunction;}
154  inline bool isRenderingNormals() const {return renderingNormals;}
161  inline void setRenderingNormals(bool const renderingNormals)
162  {this->renderingNormals = renderingNormals;}
163 
164 
165 };
166 
167 }
168 
169 #endif
void start() override
Definition: VHSimpleCanvas.cpp:44
+
void renderNormals(VHDynObjectXYZRGBAdapter &dynObj)
Render normals for each primitive of given dynamic object.
Definition: VHSimpleCanvas.cpp:100
Definition: VHDynObjectAdapter.h:10
-
bool isRenderingNormals() const
Check whether the simple canvas is rendering normals or not.
Definition: VHSimpleCanvas.h:129
+
bool isRenderingNormals() const
Check whether the simple canvas is rendering normals or not.
Definition: VHSimpleCanvas.h:154
string const title
The title of the visual Helios canvas.
Definition: VHCanvas.h:36
bool renderingNormals
Specify if the simple canvas must render normals (true) or not (false)
Definition: VHSimpleCanvas.h:51
Visual Helios Canvas is a class which provides the base mechanisms to implement Helios visualizations...
Definition: VHCanvas.h:29
+
void unrenderAllNormals()
Remove all rendered normals.
Definition: VHSimpleCanvas.cpp:136
Visual Helios Simple Canvas is a class which supports rendering polygon meshes which are updated over...
Definition: VHSimpleCanvas.h:20
-
void appendDynObj(shared_ptr< VHDynObjectXYZRGBAdapter > dynObj)
Append a dynamic object to the simple canvas.
Definition: VHSimpleCanvas.h:90
-
void setDynObj(size_t index, shared_ptr< VHDynObjectXYZRGBAdapter > dynObj)
Replace a dynamic object in simple canvas.
Definition: VHSimpleCanvas.h:104
+
Class providing concrete implementation of a VHDynObjectAdapter for a simple XYZ visualization with R...
Definition: VHDynObjectXYZRGBAdapter.h:16
+
void appendDynObj(shared_ptr< VHDynObjectXYZRGBAdapter > dynObj)
Append a dynamic object to the simple canvas.
Definition: VHSimpleCanvas.h:115
+
void setDynObj(size_t index, shared_ptr< VHDynObjectXYZRGBAdapter > dynObj)
Replace a dynamic object in simple canvas.
Definition: VHSimpleCanvas.h:129
+
bool needUpdate
Control whether an update is needed even when dynamic objects themselves have not been updated (true)...
Definition: VHSimpleCanvas.h:61
Abstract class defining core mechanisms to adapt dynamic objects to the visual Helios context based o...
Definition: VHDynObjectAdapter.h:19
-
VHDynObjectAdapter const & getDynObj(size_t index) const
Obtain a dynamic object from simple canvas.
Definition: VHSimpleCanvas.h:97
-
void setRenderingNormals(bool const renderingNormals)
Enable or disable normals rendering.
Definition: VHSimpleCanvas.h:136
-
VHSimpleCanvas()
Default constructor for the visual helios simple canvas.
Definition: VHSimpleCanvas.h:60
-
void setDynamicUpdateFunction(std::function< void(vector< shared_ptr< VHDynObjectXYZRGBAdapter >>)> const dynamicUpdateFunction)
Set the dynamic update function.
Definition: VHSimpleCanvas.h:119
-
void update() override
Definition: VHSimpleCanvas.cpp:41
+
VHDynObjectAdapter const & getDynObj(size_t index) const
Obtain a dynamic object from simple canvas.
Definition: VHSimpleCanvas.h:122
+
void setRenderingNormals(bool const renderingNormals)
Enable or disable normals rendering.
Definition: VHSimpleCanvas.h:161
+
VHSimpleCanvas()
Default constructor for the visual helios simple canvas.
Definition: VHSimpleCanvas.h:70
+
void setDynamicUpdateFunction(std::function< void(vector< shared_ptr< VHDynObjectXYZRGBAdapter >>)> const dynamicUpdateFunction)
Set the dynamic update function.
Definition: VHSimpleCanvas.h:144
+
void update() override
Definition: VHSimpleCanvas.cpp:76
vector< shared_ptr< VHDynObjectXYZRGBAdapter > > dynObjs
The dynamic objects that must be rendered by the simple canvas.
Definition: VHSimpleCanvas.h:31
+
void configure() override
Definition: VHSimpleCanvas.cpp:20
+
float normalMagnitude
Specify the magnitude of normal vector for visualization.
Definition: VHSimpleCanvas.h:55
std::function< void(vector< shared_ptr< VHDynObjectXYZRGBAdapter >>)> dynamicUpdateFunction
Function to define dynamic objects behavior before updating the canvas.
Definition: VHSimpleCanvas.h:45
-
void clearDynObjs()
Remove all dynamic objects from simple canvas.
Definition: VHSimpleCanvas.h:112
+
void clearDynObjs()
Remove all dynamic objects from simple canvas.
Definition: VHSimpleCanvas.h:137
diff --git a/doc/html/da/d62/Scanner_8h_source.html b/doc/html/da/d62/Scanner_8h_source.html index e2c90286b..d5ee48a38 100644 --- a/doc/html/da/d62/Scanner_8h_source.html +++ b/doc/html/da/d62/Scanner_8h_source.html @@ -90,138 +90,92 @@
Scanner.h
-
1 #pragma once
2 
3 #include <memory>
4 
5 #include <boost/asio/thread_pool.hpp>
6 #include <boost/asio/post.hpp>
7 
8 #include "Asset.h"
9 #include "ScannerHead.h"
10 #include "AbstractBeamDeflector.h"
11 class AbstractDetector;
12 #include "FWFSettings.h"
13 #include "Platform.h"
14 #include "maths/Directions.h"
15 #include "maths/Rotation.h"
16 #include "ThreadPool.h"
17 #include "SyncFileWriter.h"
18 #ifdef PYTHON_BINDING
19 #include <PyBeamDeflectorWrapper.h>
20 class PyDetectorWrapper;
21 #include <PyIntegerList.h>
22 #include <PyNoiseSourceWrapper.h>
23 #include <PyRandomnessGeneratorWrapper.h>
24 #include <PyDoubleVector.h>
25 #endif
26 #include <Measurement.h>
27 
31 class Scanner : public Asset {
32 private:
33  // *** ATTRIBUTES *** //
34  // ******************** //
38  bool writeWaveform = false;
42  bool calcEchowidth = false;
46  bool fullWaveNoise = false;
50  bool platformNoiseDisabled = false;
55  int numRays = 0;
60  bool fixedIncidenceAngle = false;
61 
77  std::string cfg_device_id = "";
102 
111  // ########## END Emitter ###########
112 
113  // State variables:
121  bool state_lastPulseWasHit = false;
127  bool state_isActive = true;
128 
129  // Cached variables
139  double cached_Dr2;
149  double cached_Bt2;
150 
151  // Trajectory writer
155  std::shared_ptr<SyncFileWriter> tfw = nullptr;
156 
157 public:
162  std::shared_ptr<ScannerHead> scannerHead;
167  std::shared_ptr<AbstractBeamDeflector> beamDeflector;
172  std::shared_ptr<Platform> platform;
177  std::shared_ptr<AbstractDetector> detector;
184  std::shared_ptr<std::vector<Measurement>> allMeasurements = nullptr;
191  std::shared_ptr<std::vector<Trajectory>> allTrajectories = nullptr;
199  std::shared_ptr<std::mutex> allMeasurementsMutex = nullptr;
205  std::shared_ptr<std::vector<Measurement>> cycleMeasurements = nullptr;
212  std::shared_ptr<std::vector<Trajectory>> cycleTrajectories = nullptr;
220  std::shared_ptr<std::mutex> cycleMeasurementsMutex = nullptr;
221 
222  // Trajectory output processing interval
233 
234  // FWF settings
240 
241  // Pulse discretization
250  int numTimeBins = -1;
261  std::vector<double> time_wave;
262 
263  // Randomness generators for single thread mode only
267  std::shared_ptr<RandomnessGenerator<double>> randGen1 = nullptr;
271  std::shared_ptr<RandomnessGenerator<double>> randGen2 = nullptr;
275  std::shared_ptr<UniformNoiseSource<double>>
277 
278  // ########## BEGIN Emitter ###########
282  glm::dvec3 cfg_device_headRelativeEmitterPosition = glm::dvec3(0, 0, 0);
292 
298  int maxNOR = 0;
299 
300 public:
301  // *** CONSTRUCTION / DESTRUCTION *** //
302  // ************************************ //
326  Scanner(
327  double beamDiv_rad,
328  glm::dvec3 beamOrigin,
329  Rotation beamOrientation,
330  std::list<int> pulseFreqs,
331  double pulseLength_ns,
332  std::string id,
333  double averagePower,
334  double beamQuality,
335  double efficiency,
336  double receiverDiameter,
337  double atmosphericVisibility,
338  int wavelength,
339  bool writeWaveform = false,
340  bool calcEchowidth = false,
341  bool fullWaveNoise = false,
342  bool platformNoiseDisabled = false
343  );
344  Scanner(Scanner &scanner);
345 
346  // *** M E T H O D S *** //
347  // *********************** //
353  void applySettings(std::shared_ptr<ScannerSettings> settings);
359  void applySettingsFWF(FWFSettings settings);
366  void doSimStep(thread_pool& pool, unsigned int legIndex, double currentGpsTime);
371  std::string toString();
375  void calcRaysNumber();
382  void prepareDiscretization();
391  int calcTimePropagation(std::vector<double> & timeWave, int numBins);
403  double calcFootprintArea(double distance);
415  double calcFootprintRadius(double distance);
430 
431 
442  inline bool checkMaxNOR(int nor) {return maxNOR==0 || nor < maxNOR;}
443 
444  // *** SIM STEP UTILS *** //
445  // ************************ //
452  void handleSimStepNoise(
453  glm::dvec3 & absoluteBeamOrigin,
454  Rotation & absoluteBeamAttitude
455  );
467  thread_pool& pool,
468  unsigned int const legIndex,
469  glm::dvec3 &absoluteBeamOrigin,
470  Rotation &absoluteBeamAttitude,
471  double currentGpsTime
472  );
480  void handleTrajectoryOutput(double currentGpsTime);
481 
482  // *** GETTERs and SETTERs *** //
483  // *************************** //
489  inline int getNumRays() {return this->numRays;}
495  inline void setNumRays(int numRays) {this->numRays = numRays;}
496 
502  inline int getPulseFreq_Hz() {return this->cfg_setting_pulseFreq_Hz;}
508  void setPulseFreq_Hz(int pulseFreq_Hz);
509 
515  inline double getPulseLength_ns()
516  {return this->cfg_device_pulseLength_ns;}
522  inline void setPulseLength_ns(double pulseLength_ns)
523  {this->cfg_device_pulseLength_ns = pulseLength_ns;}
524 
530  inline bool lastPulseWasHit() {return this->state_lastPulseWasHit;}
537 
543  inline double getBeamDivergence()
544  {return this->cfg_device_beamDivergence_rad;}
550  inline void setBeamDivergence(double beamDivergence)
551  {this->cfg_device_beamDivergence_rad = beamDivergence;}
552 
558  inline double getAveragePower() {return this->cfg_device_averagePower_w;}
564  inline void setAveragePower(double averagePower)
565  {this->cfg_device_averagePower_w = averagePower;}
566 
572  inline double getBeamQuality() {return this->cfg_device_beamQuality;}
578  inline void setBeamQuality(double beamQuality)
579  {this->cfg_device_beamQuality = beamQuality;}
580 
586  inline double getEfficiency() {return this->cfg_device_efficiency;}
592  inline void setEfficiency(double efficiency)
593  {this->cfg_device_efficiency = efficiency;}
594 
600  inline double getReceiverDiameter()
601  {return this->cfg_device_receiverDiameter_m;}
607  inline void setReceiverDiameter(double receiverDiameter)
608  {this->cfg_device_receiverDiameter_m = receiverDiameter;}
609 
615  inline double getVisibility() {return this->cfg_device_visibility_km;}
621  inline void setVisibility(double visibility)
622  {this->cfg_device_visibility_km = visibility;}
623 
629  inline double getWavelength() {return this->cfg_device_wavelength_m;}
635  inline void setWavelength(double wavelength)
636  {this->cfg_device_wavelength_m = wavelength;}
637 
643  inline double getAtmosphericExtinction()
644  {return this->atmosphericExtinction;}
650  inline void setAtmosphericExtinction(double atmosphericExtinction)
651  {this->atmosphericExtinction = atmosphericExtinction;}
652 
658  inline double getBeamWaistRadius() {return this->beamWaistRadius;}
664  inline void setBeamWaistRadius(double beamWaistRadius)
665  {this->beamWaistRadius = beamWaistRadius;}
666 
672  inline double getBt2() {return this->cached_Bt2;}
678  inline void setBt2(double bt2) {this->cached_Bt2 = bt2;}
679 
685  inline double getDr2() {return this->cached_Dr2;}
691  inline void setDr2(double dr2) {this->cached_Dr2 = dr2;}
692 
698  inline bool isActive() {return this->state_isActive;}
705  inline void setActive(bool active) {this->state_isActive = active;}
706 
714  inline bool isWriteWaveform() {return this->writeWaveform;}
721  inline void setWriteWaveform(bool writeWaveform)
722  {this->writeWaveform = writeWaveform;}
730  inline bool isCalcEchowidth() {return this->calcEchowidth;}
737  inline void setCalcEchowidth(bool calcEchowidth)
738  {this->calcEchowidth = calcEchowidth;}
739 
747  inline bool isFullWaveNoise() {return this->fullWaveNoise;}
754  inline void setFullWaveNoise(bool fullWaveNoise)
755  {this->fullWaveNoise = fullWaveNoise;}
756 
762  inline bool isPlatformNoiseDisabled() {return this->platformNoiseDisabled;}
769  inline void setPlatformNoiseDisabled(bool platformNoiseDisabled)
770  {this->platformNoiseDisabled = platformNoiseDisabled;}
771 
777  inline bool isFixedIncidenceAngle() {return this->fixedIncidenceAngle;}
784  inline void setFixedIncidenceAngle(bool fixedIncidenceAngle)
785  {this->fixedIncidenceAngle = fixedIncidenceAngle;}
786 
792  inline void setTrajectoryFileWriter(std::shared_ptr<SyncFileWriter> tfw){
793  this->tfw = tfw;
794  }
795 
801  inline std::string getDeviceId() {return this->cfg_device_id;}
807  inline void setDeviceId(std::string const deviceId)
808  {this->cfg_device_id = deviceId;}
809 
810 #ifdef PYTHON_BINDING
811 
823  {return new PyBeamDeflectorWrapper(beamDeflector);}
836  {return new PyIntegerList(cfg_device_supportedPulseFreqs_Hz);}
850  {return new PythonDVec3(&cfg_device_headRelativeEmitterPosition);}
857  if(intersectionHandlingNoiseSource == nullptr) return nullptr;
859  }
866  if(randGen1 == nullptr) return nullptr;
867  return new PyRandomnessGeneratorWrapper(*randGen1);
868  }
875  if(randGen2 == nullptr) return nullptr;
876  return new PyRandomnessGeneratorWrapper(*randGen2);
877  }
884  return new PyDoubleVector(time_wave);
885  }
886 #endif
887 
888 };
std::shared_ptr< std::vector< Measurement > > cycleMeasurements
Vector of measurements performed by the scanner at current cycle.
Definition: Scanner.h:205
-
double getBeamWaistRadius()
Obtain beam waist radius.
Definition: Scanner.h:658
-
std::shared_ptr< std::vector< Measurement > > allMeasurements
Historical vector of all measurements performed by the scanner.
Definition: Scanner.h:184
-
void setVisibility(double visibility)
Set device visibility.
Definition: Scanner.h:621
-
bool platformNoiseDisabled
Flag specifying if disable platform noise (true) or not (false)
Definition: Scanner.h:50
-
bool isCalcEchowidth()
Check if scanner is configured to compute echo width (true) or not (false)
Definition: Scanner.h:730
-
double calcAtmosphericAttenuation()
Compute the atmospheric attenuation to be used as the atmospheric attenuation.
Definition: Scanner.cpp:284
-
void handleSimStepNoise(glm::dvec3 &absoluteBeamOrigin, Rotation &absoluteBeamAttitude)
Handle position and attitude noise.
Definition: Scanner.cpp:348
-
void setLastPulseWasHit(bool lastPulseWasHit)
Specify if last pulse was hit (true) or not (false)
Definition: Scanner.cpp:340
-
std::list< int > cfg_device_supportedPulseFreqs_Hz
Pulse frequencies (hertz) supoported by the scanner.
Definition: Scanner.h:291
-
void setWriteWaveform(bool writeWaveform)
Set scanner write wave form configuration.
Definition: Scanner.h:721
-
bool fixedIncidenceAngle
Flag specifying if use fixed incidence angle (true) or not (false)
Definition: Scanner.h:60
-
double getEfficiency()
Obtain device efficiency.
Definition: Scanner.h:586
-
std::shared_ptr< UniformNoiseSource< double > > intersectionHandlingNoiseSource
Uniform noise source for single thread mode.
Definition: Scanner.h:276
-
int numRays
Number of rays computed by the calcRaysNumber function.
Definition: Scanner.h:55
-
PyDoubleVector * getTimeWave()
Python wrapper for time wave vector.
Definition: Scanner.h:883
-
Rotation & getRelativeAttitudeByReference()
Python wrapper for head relative emitter attitude access.
Definition: Scanner.h:842
-
double getDr2()
Obtain .
Definition: Scanner.h:685
-
Wrapper for AbstractBeamDeflector class.
Definition: PyBeamDeflectorWrapper.h:15
-
int getPulseFreq_Hz()
Obtain the pulse frequency.
Definition: Scanner.h:502
-
std::shared_ptr< AbstractBeamDeflector > beamDeflector
Beam deflector composing the scanner.
Definition: Scanner.h:167
-
double calcFootprintArea(double distance)
Compute the footprint area .
Definition: Scanner.cpp:272
+
1 #pragma once
2 
3 #include <memory>
4 
5 #include <boost/asio/thread_pool.hpp>
6 #include <boost/asio/post.hpp>
7 
8 #include "Asset.h"
9 #include "ScannerHead.h"
10 #include "AbstractBeamDeflector.h"
11 class AbstractDetector;
12 #include "FWFSettings.h"
13 #include "Platform.h"
14 #include "maths/Directions.h"
15 #include "maths/Rotation.h"
16 #include "ThreadPool.h"
17 #include "SyncFileWriter.h"
18 #ifdef PYTHON_BINDING
19 #include <PyBeamDeflectorWrapper.h>
20 namespace pyhelios{ class PyDetectorWrapper;};
21 #include <PyIntegerList.h>
22 #include <PyNoiseSourceWrapper.h>
23 #include <PyRandomnessGeneratorWrapper.h>
24 #include <PyDoubleVector.h>
31 #endif
32 #include <Measurement.h>
33 
34 
38 class Scanner : public Asset {
39 private:
40  // *** ATTRIBUTES *** //
41  // ******************** //
45  bool writeWaveform = false;
49  bool calcEchowidth = false;
53  bool fullWaveNoise = false;
57  bool platformNoiseDisabled = false;
62  int numRays = 0;
67  bool fixedIncidenceAngle = false;
68 
72  double cfg_device_beamDivergence_rad = 0;
76  double cfg_device_pulseLength_ns = 0;
80  int cfg_setting_pulseFreq_Hz = 0;
84  std::string cfg_device_id = "";
109 
118  // ########## END Emitter ###########
119 
120  // State variables:
124  int state_currentPulseNumber = 0;
128  bool state_lastPulseWasHit = false;
134  bool state_isActive = true;
135 
136  // Cached variables
146  double cached_Dr2;
156  double cached_Bt2;
157 
158  // Trajectory writer
162  std::shared_ptr<SyncFileWriter> tfw = nullptr;
163 
164 public:
169  std::shared_ptr<ScannerHead> scannerHead;
174  std::shared_ptr<AbstractBeamDeflector> beamDeflector;
179  std::shared_ptr<Platform> platform;
184  std::shared_ptr<AbstractDetector> detector;
191  std::shared_ptr<std::vector<Measurement>> allMeasurements = nullptr;
198  std::shared_ptr<std::vector<Trajectory>> allTrajectories = nullptr;
206  std::shared_ptr<std::mutex> allMeasurementsMutex = nullptr;
212  std::shared_ptr<std::vector<Measurement>> cycleMeasurements = nullptr;
219  std::shared_ptr<std::vector<Trajectory>> cycleTrajectories = nullptr;
227  std::shared_ptr<std::mutex> cycleMeasurementsMutex = nullptr;
228 
229  // Trajectory output processing interval
234  double trajectoryTimeInterval = 0.0;
240 
241  // FWF settings
247 
248  // Pulse discretization
257  int numTimeBins = -1;
264  int peakIntensityIndex = -1;
268  std::vector<double> time_wave;
269 
270  // Randomness generators for single thread mode only
274  std::shared_ptr<RandomnessGenerator<double>> randGen1 = nullptr;
278  std::shared_ptr<RandomnessGenerator<double>> randGen2 = nullptr;
282  std::shared_ptr<UniformNoiseSource<double>>
283  intersectionHandlingNoiseSource = nullptr;
284 
285  // ########## BEGIN Emitter ###########
289  glm::dvec3 cfg_device_headRelativeEmitterPosition = glm::dvec3(0, 0, 0);
293  Rotation cfg_device_headRelativeEmitterAttitude =
299 
305  int maxNOR = 0;
306 
307 public:
308  // *** CONSTRUCTION / DESTRUCTION *** //
309  // ************************************ //
333  Scanner(
334  double beamDiv_rad,
335  glm::dvec3 beamOrigin,
336  Rotation beamOrientation,
337  std::list<int> pulseFreqs,
338  double pulseLength_ns,
339  std::string id,
340  double averagePower,
341  double beamQuality,
342  double efficiency,
343  double receiverDiameter,
344  double atmosphericVisibility,
345  int wavelength,
346  bool writeWaveform = false,
347  bool calcEchowidth = false,
348  bool fullWaveNoise = false,
349  bool platformNoiseDisabled = false
350  );
351  Scanner(Scanner &scanner);
352 
353  // *** M E T H O D S *** //
354  // *********************** //
360  void applySettings(std::shared_ptr<ScannerSettings> settings);
366  void applySettingsFWF(FWFSettings settings);
373  void doSimStep(thread_pool& pool, unsigned int legIndex, double currentGpsTime);
378  std::string toString();
382  void calcRaysNumber();
389  void prepareDiscretization();
398  int calcTimePropagation(std::vector<double> & timeWave, int numBins);
410  double calcFootprintArea(double distance);
422  double calcFootprintRadius(double distance);
429  double calcAtmosphericAttenuation();
436  Rotation calcAbsoluteBeamAttitude();
437 
438 
449  inline bool checkMaxNOR(int nor) {return maxNOR==0 || nor < maxNOR;}
450 
451  // *** SIM STEP UTILS *** //
452  // ************************ //
459  void handleSimStepNoise(
460  glm::dvec3 & absoluteBeamOrigin,
461  Rotation & absoluteBeamAttitude
462  );
473  void handlePulseComputation(
474  thread_pool& pool,
475  unsigned int const legIndex,
476  glm::dvec3 &absoluteBeamOrigin,
477  Rotation &absoluteBeamAttitude,
478  double currentGpsTime
479  );
487  void handleTrajectoryOutput(double currentGpsTime);
488 
489  // *** GETTERs and SETTERs *** //
490  // *************************** //
496  inline int getNumRays() {return this->numRays;}
502  inline void setNumRays(int numRays) {this->numRays = numRays;}
503 
509  inline int getPulseFreq_Hz() {return this->cfg_setting_pulseFreq_Hz;}
515  void setPulseFreq_Hz(int pulseFreq_Hz);
516 
522  inline double getPulseLength_ns()
523  {return this->cfg_device_pulseLength_ns;}
529  inline void setPulseLength_ns(double pulseLength_ns)
530  {this->cfg_device_pulseLength_ns = pulseLength_ns;}
531 
537  inline bool lastPulseWasHit() {return this->state_lastPulseWasHit;}
543  void setLastPulseWasHit(bool lastPulseWasHit);
544 
550  inline double getBeamDivergence()
551  {return this->cfg_device_beamDivergence_rad;}
557  inline void setBeamDivergence(double beamDivergence)
558  {this->cfg_device_beamDivergence_rad = beamDivergence;}
559 
565  inline double getAveragePower() {return this->cfg_device_averagePower_w;}
571  inline void setAveragePower(double averagePower)
572  {this->cfg_device_averagePower_w = averagePower;}
573 
579  inline double getBeamQuality() {return this->cfg_device_beamQuality;}
585  inline void setBeamQuality(double beamQuality)
586  {this->cfg_device_beamQuality = beamQuality;}
587 
593  inline double getEfficiency() {return this->cfg_device_efficiency;}
599  inline void setEfficiency(double efficiency)
600  {this->cfg_device_efficiency = efficiency;}
601 
607  inline double getReceiverDiameter()
608  {return this->cfg_device_receiverDiameter_m;}
614  inline void setReceiverDiameter(double receiverDiameter)
615  {this->cfg_device_receiverDiameter_m = receiverDiameter;}
616 
622  inline double getVisibility() {return this->cfg_device_visibility_km;}
628  inline void setVisibility(double visibility)
629  {this->cfg_device_visibility_km = visibility;}
630 
636  inline double getWavelength() {return this->cfg_device_wavelength_m;}
642  inline void setWavelength(double wavelength)
643  {this->cfg_device_wavelength_m = wavelength;}
644 
650  inline double getAtmosphericExtinction()
651  {return this->atmosphericExtinction;}
657  inline void setAtmosphericExtinction(double atmosphericExtinction)
658  {this->atmosphericExtinction = atmosphericExtinction;}
659 
665  inline double getBeamWaistRadius() {return this->beamWaistRadius;}
671  inline void setBeamWaistRadius(double beamWaistRadius)
672  {this->beamWaistRadius = beamWaistRadius;}
673 
679  inline double getBt2() {return this->cached_Bt2;}
685  inline void setBt2(double bt2) {this->cached_Bt2 = bt2;}
686 
692  inline double getDr2() {return this->cached_Dr2;}
698  inline void setDr2(double dr2) {this->cached_Dr2 = dr2;}
699 
705  inline bool isActive() {return this->state_isActive;}
712  inline void setActive(bool active) {this->state_isActive = active;}
713 
721  inline bool isWriteWaveform() {return this->writeWaveform;}
728  inline void setWriteWaveform(bool writeWaveform)
729  {this->writeWaveform = writeWaveform;}
737  inline bool isCalcEchowidth() {return this->calcEchowidth;}
744  inline void setCalcEchowidth(bool calcEchowidth)
745  {this->calcEchowidth = calcEchowidth;}
746 
754  inline bool isFullWaveNoise() {return this->fullWaveNoise;}
761  inline void setFullWaveNoise(bool fullWaveNoise)
762  {this->fullWaveNoise = fullWaveNoise;}
763 
769  inline bool isPlatformNoiseDisabled() {return this->platformNoiseDisabled;}
776  inline void setPlatformNoiseDisabled(bool platformNoiseDisabled)
777  {this->platformNoiseDisabled = platformNoiseDisabled;}
778 
784  inline bool isFixedIncidenceAngle() {return this->fixedIncidenceAngle;}
791  inline void setFixedIncidenceAngle(bool fixedIncidenceAngle)
792  {this->fixedIncidenceAngle = fixedIncidenceAngle;}
793 
799  inline void setTrajectoryFileWriter(std::shared_ptr<SyncFileWriter> tfw){
800  this->tfw = tfw;
801  }
802 
808  inline std::string getDeviceId() {return this->cfg_device_id;}
814  inline void setDeviceId(std::string const deviceId)
815  {this->cfg_device_id = deviceId;}
816 
817 #ifdef PYTHON_BINDING
818 
823  ScannerHead & getScannerHead(){return *scannerHead;}
830  {return new PyBeamDeflectorWrapper(beamDeflector);}
836  PyDetectorWrapper * getPyDetectorWrapper();
843  {return new PyIntegerList(cfg_device_supportedPulseFreqs_Hz);}
850  {return cfg_device_headRelativeEmitterAttitude;}
857  {return new PythonDVec3(&cfg_device_headRelativeEmitterPosition);}
864  if(intersectionHandlingNoiseSource == nullptr) return nullptr;
865  return new PyNoiseSourceWrapper(*intersectionHandlingNoiseSource);
866  }
873  if(randGen1 == nullptr) return nullptr;
874  return new PyRandomnessGeneratorWrapper(*randGen1);
875  }
882  if(randGen2 == nullptr) return nullptr;
883  return new PyRandomnessGeneratorWrapper(*randGen2);
884  }
891  return new PyDoubleVector(time_wave);
892  }
893 #endif
894 
895 };
double getBeamWaistRadius()
Obtain beam waist radius.
Definition: Scanner.h:665
+
void setVisibility(double visibility)
Set device visibility.
Definition: Scanner.h:628
+
Wrapper for std::vector<double> class.
Definition: PyDoubleVector.h:17
+
bool isCalcEchowidth()
Check if scanner is configured to compute echo width (true) or not (false)
Definition: Scanner.h:737
+
std::list< int > cfg_device_supportedPulseFreqs_Hz
Pulse frequencies (hertz) supoported by the scanner.
Definition: Scanner.h:298
+
void setWriteWaveform(bool writeWaveform)
Set scanner write wave form configuration.
Definition: Scanner.h:728
+
double getEfficiency()
Obtain device efficiency.
Definition: Scanner.h:593
+
PyDoubleVector * getTimeWave()
Python wrapper for time wave vector.
Definition: Scanner.h:890
+
Rotation & getRelativeAttitudeByReference()
Python wrapper for head relative emitter attitude access.
Definition: Scanner.h:849
+
double getDr2()
Obtain .
Definition: Scanner.h:692
+
int getPulseFreq_Hz()
Obtain the pulse frequency.
Definition: Scanner.h:509
+
std::shared_ptr< AbstractBeamDeflector > beamDeflector
Beam deflector composing the scanner.
Definition: Scanner.h:174
Base class for all assets.
Definition: Asset.h:10
-
Definition: Rotation.h:80
-
void setFullWaveNoise(bool fullWaveNoise)
Set scanner full wave noise policy.
Definition: Scanner.h:754
-
PyDetectorWrapper * getPyDetectorWrapper()
Python wrapper for detector access.
Definition: Scanner.cpp:335
-
double getBt2()
Obtain .
Definition: Scanner.h:672
-
double getAtmosphericExtinction()
Obtain atmospheric extinction.
Definition: Scanner.h:643
-
void setPulseLength_ns(double pulseLength_ns)
Set the pulse length.
Definition: Scanner.h:522
-
std::vector< double > time_wave
Discretization vector.
Definition: Scanner.h:261
-
PyRandomnessGeneratorWrapper * getRandGen2()
Python wrapper for second randomness generator.
Definition: Scanner.h:874
-
int getNumRays()
Obtain the number of rays.
Definition: Scanner.h:489
-
double cfg_device_efficiency
Device efficiency.
Definition: Scanner.h:89
-
int state_currentPulseNumber
Current pulse number.
Definition: Scanner.h:117
-
int numTimeBins
Number if bins defining discretization size.
Definition: Scanner.h:250
-
bool isActive()
Check if scanner is active (true) or not (false)
Definition: Scanner.h:698
-
bool isFullWaveNoise()
Check if scanner is configured to add noise to full wave (true) or not (false)
Definition: Scanner.h:747
-
double getBeamDivergence()
Obtain beam divergence.
Definition: Scanner.h:543
-
bool isFixedIncidenceAngle()
Check if incidence angle is fixed (true) or not (false)
Definition: Scanner.h:777
-
Wrapper for RandomnessGenerator class.
Definition: PyRandomnessGeneratorWrapper.h:10
-
bool writeWaveform
Flag specifying if write waveform (true) or not (false)
Definition: Scanner.h:38
-
double cached_Bt2
understood as the square of beam divergence
Definition: Scanner.h:149
-
double cfg_device_averagePower_w
Average power (watts)
Definition: Scanner.h:81
+
Definition: Rotation.h:81
+
void setFullWaveNoise(bool fullWaveNoise)
Set scanner full wave noise policy.
Definition: Scanner.h:761
+
Wrapper for NoiseSource abstract class.
Definition: PyNoiseSourceWrapper.h:16
+
double getBt2()
Obtain .
Definition: Scanner.h:679
+
double getAtmosphericExtinction()
Obtain atmospheric extinction.
Definition: Scanner.h:650
+
void setPulseLength_ns(double pulseLength_ns)
Set the pulse length.
Definition: Scanner.h:529
+
std::vector< double > time_wave
Discretization vector.
Definition: Scanner.h:268
+
PyRandomnessGeneratorWrapper * getRandGen2()
Python wrapper for second randomness generator.
Definition: Scanner.h:881
+
int getNumRays()
Obtain the number of rays.
Definition: Scanner.h:496
+
double cfg_device_efficiency
Device efficiency.
Definition: Scanner.h:96
+
bool isActive()
Check if scanner is active (true) or not (false)
Definition: Scanner.h:705
+
bool isFullWaveNoise()
Check if scanner is configured to add noise to full wave (true) or not (false)
Definition: Scanner.h:754
+
double getBeamDivergence()
Obtain beam divergence.
Definition: Scanner.h:550
+
bool isFixedIncidenceAngle()
Check if incidence angle is fixed (true) or not (false)
Definition: Scanner.h:784
+
Definition: PyAABBWrapper.h:7
+
double cached_Bt2
understood as the square of beam divergence
Definition: Scanner.h:156
+
double cfg_device_averagePower_w
Average power (watts)
Definition: Scanner.h:88
Base abstract class for detectors.
Definition: AbstractDetector.h:22
-
PyIntegerList * getSupportedPulseFrequencies()
Python wrapper for supported pulse frequencies list.
Definition: Scanner.h:835
+
PyIntegerList * getSupportedPulseFrequencies()
Python wrapper for supported pulse frequencies list.
Definition: Scanner.h:842
Class representing a thread pool to deal with multi threading tasks.
Definition: ThreadPool.h:14
-
void applySettings(std::shared_ptr< ScannerSettings > settings)
Apply scanner settings.
Definition: Scanner.cpp:159
Full Waveform settings.
Definition: FWFSettings.h:8
-
void setReceiverDiameter(double receiverDiameter)
Set receiver diameter.
Definition: Scanner.h:607
-
bool state_isActive
Flag specifying if scanner is active (true) or not (false)
Definition: Scanner.h:127
-
double getPulseLength_ns()
Get the pulse length.
Definition: Scanner.h:515
-
void setBeamDivergence(double beamDivergence)
Set beam divergence.
Definition: Scanner.h:550
-
PythonDVec3 * getRelativePosition()
Python wrapper for head relative emitter position.
Definition: Scanner.h:849
-
double cfg_device_pulseLength_ns
Pulse length (nanoseconds)
Definition: Scanner.h:69
-
int calcTimePropagation(std::vector< double > &timeWave, int numBins)
Compute propagation time, which means obtaining the intensity peak index.
Definition: Scanner.cpp:249
-
void setAveragePower(double averagePower)
Set average power.
Definition: Scanner.h:564
-
std::shared_ptr< ScannerHead > scannerHead
Scanner head composing the scanner.
Definition: Scanner.h:162
-
Class representing a scanner asset.
Definition: Scanner.h:31
-
bool isPlatformNoiseDisabled()
Check if platform noise is disabled (true) or not (false)
Definition: Scanner.h:762
-
double cached_Dr2
understood as the square of receiver diameter
Definition: Scanner.h:139
-
std::string toString()
Build a string representation of the scanner.
Definition: Scanner.cpp:176
-
bool lastPulseWasHit()
Check if last pulse was hit (true) or not (false)
Definition: Scanner.h:530
-
double cfg_device_receiverDiameter_m
Receiver diamater (meters)
Definition: Scanner.h:93
-
int cfg_setting_pulseFreq_Hz
Pulse frequency (hertz)
Definition: Scanner.h:73
-
void setTrajectoryFileWriter(std::shared_ptr< SyncFileWriter > tfw)
Set synchronous file writer for trajectory.
Definition: Scanner.h:792
-
void applySettingsFWF(FWFSettings settings)
Apply full wave form settings.
Definition: Scanner.cpp:170
-
void handleTrajectoryOutput(double currentGpsTime)
Handle trajectory output whatever it is to output file, to all trajectories vector or to cycle trajec...
Definition: Scanner.cpp:467
-
std::shared_ptr< RandomnessGenerator< double > > randGen1
First randomness generator for single thread mode.
Definition: Scanner.h:267
-
double getVisibility()
Get device visibility.
Definition: Scanner.h:615
-
std::shared_ptr< SyncFileWriter > tfw
Synchronous file writer.
Definition: Scanner.h:155
-
double cfg_device_wavelength_m
Wave length (meters)
Definition: Scanner.h:101
-
double getBeamQuality()
Get beam quality.
Definition: Scanner.h:572
-
glm::dvec3 cfg_device_headRelativeEmitterPosition
Head relative emitter position.
Definition: Scanner.h:282
-
void prepareDiscretization()
Prepare wave discretization.
Definition: Scanner.cpp:243
-
Wrapper for std::vector<double> class.
Definition: PyDoubleVector.h:15
-
double beamWaistRadius
Beam waist radius.
Definition: Scanner.h:110
-
void setAtmosphericExtinction(double atmosphericExtinction)
Set atmospheric extinction.
Definition: Scanner.h:650
-
Rotation calcAbsoluteBeamAttitude()
Compute the absolute beam attitude considering the mount relative attitude and the deflector relative...
Definition: Scanner.cpp:386
-
FWFSettings FWF_settings
Full wave form settings for the scanner.
Definition: Scanner.h:239
-
Rotation cfg_device_headRelativeEmitterAttitude
Head relative emitter attitude.
Definition: Scanner.h:286
-
bool isWriteWaveform()
Check if scanner is configured to write wave form (true) or not (false)
Definition: Scanner.h:714
-
bool state_lastPulseWasHit
Flag specifying if last pulse was hit (true) or not (false)
Definition: Scanner.h:121
-
PyRandomnessGeneratorWrapper * getRandGen1()
Python wrapper for first randomness generator.
Definition: Scanner.h:865
-
Wrapper for NoiseSource abstract class.
Definition: PyNoiseSourceWrapper.h:14
-
bool calcEchowidth
Flag specifying if calculate echo width (true) or not (false)
Definition: Scanner.h:42
-
bool fullWaveNoise
Flag specifying if compute full wave noise (true) or not (false)
Definition: Scanner.h:46
-
double getWavelength()
Obtain wave length.
Definition: Scanner.h:629
-
void setBeamQuality(double beamQuality)
Set beam quality.
Definition: Scanner.h:578
-
void setPulseFreq_Hz(int pulseFreq_Hz)
Set the pulse frequency.
Definition: Scanner.cpp:303
-
std::shared_ptr< RandomnessGenerator< double > > randGen2
Second randomness generator for single thread mode.
Definition: Scanner.h:271
-
void setCalcEchowidth(bool calcEchowidth)
Set scanner echo width configuration.
Definition: Scanner.h:737
-
Wrapper for std::list<int> class.
Definition: PyIntegerList.h:15
-
int maxNOR
Maximum number of returns per pulse. When 0, it means there is not maximum at all.
Definition: Scanner.h:298
-
std::shared_ptr< std::mutex > allMeasurementsMutex
Mutex to handle concurrent access to historical vector of all measurements and historical vector of a...
Definition: Scanner.h:199
-
void setFixedIncidenceAngle(bool fixedIncidenceAngle)
Set fixed incidence angle flag.
Definition: Scanner.h:784
-
double atmosphericExtinction
Atmospheric extinction.
Definition: Scanner.h:106
-
std::string getDeviceId()
Obtain scanner device identifier.
Definition: Scanner.h:801
-
PyBeamDeflectorWrapper * getPyBeamDeflector()
Python wrapper for beam deflector access.
Definition: Scanner.h:822
-
std::shared_ptr< std::vector< Trajectory > > allTrajectories
Historical vector of all trajectory points recorded by the scanner.
Definition: Scanner.h:191
-
double calcFootprintRadius(double distance)
Compute the footprint radius .
Definition: Scanner.cpp:278
-
Scanner(double beamDiv_rad, glm::dvec3 beamOrigin, Rotation beamOrientation, std::list< int > pulseFreqs, double pulseLength_ns, std::string id, double averagePower, double beamQuality, double efficiency, double receiverDiameter, double atmosphericVisibility, int wavelength, bool writeWaveform=false, bool calcEchowidth=false, bool fullWaveNoise=false, bool platformNoiseDisabled=false)
Scanner constructor.
Definition: Scanner.cpp:24
-
PyNoiseSourceWrapper * getIntersectionHandlingNoiseSource()
Python wrapper for intersection handling noise source.
Definition: Scanner.h:856
-
void setDr2(double dr2)
Set .
Definition: Scanner.h:691
-
std::shared_ptr< std::mutex > cycleMeasurementsMutex
Mutex to handle concurrent access to vector of measurements and vector of trajectory points by cycle...
Definition: Scanner.h:220
-
Wrapper for AbstractDetector class.
Definition: PyDetectorWrapper.h:16
-
double trajectoryTimeInterval
Time interval between record of trajectory points. When it is exactly 0, then no trajectory points wi...
Definition: Scanner.h:227
-
double cfg_device_beamQuality
Beam quality.
Definition: Scanner.h:85
-
void handlePulseComputation(thread_pool &pool, unsigned int const legIndex, glm::dvec3 &absoluteBeamOrigin, Rotation &absoluteBeamAttitude, double currentGpsTime)
Handle pulse computation whatever it is single thread based or thread pool based. ...
Definition: Scanner.cpp:396
-
void setBeamWaistRadius(double beamWaistRadius)
Set beam waist radius.
Definition: Scanner.h:664
+
void setReceiverDiameter(double receiverDiameter)
Set receiver diameter.
Definition: Scanner.h:614
+
Wrapper for RandomnessGenerator class.
Definition: PyRandomnessGeneratorWrapper.h:12
+
double getPulseLength_ns()
Get the pulse length.
Definition: Scanner.h:522
+
void setBeamDivergence(double beamDivergence)
Set beam divergence.
Definition: Scanner.h:557
+
PythonDVec3 * getRelativePosition()
Python wrapper for head relative emitter position.
Definition: Scanner.h:856
+
void setAveragePower(double averagePower)
Set average power.
Definition: Scanner.h:571
+
std::shared_ptr< ScannerHead > scannerHead
Scanner head composing the scanner.
Definition: Scanner.h:169
+
Class representing a scanner asset.
Definition: Scanner.h:38
+
bool isPlatformNoiseDisabled()
Check if platform noise is disabled (true) or not (false)
Definition: Scanner.h:769
+
double cached_Dr2
understood as the square of receiver diameter
Definition: Scanner.h:146
+
bool lastPulseWasHit()
Check if last pulse was hit (true) or not (false)
Definition: Scanner.h:537
+
double cfg_device_receiverDiameter_m
Receiver diamater (meters)
Definition: Scanner.h:100
+
Wrapper for std::list<int> class.
Definition: PyIntegerList.h:18
+
void setTrajectoryFileWriter(std::shared_ptr< SyncFileWriter > tfw)
Set synchronous file writer for trajectory.
Definition: Scanner.h:799
+
double getVisibility()
Get device visibility.
Definition: Scanner.h:622
+
double cfg_device_wavelength_m
Wave length (meters)
Definition: Scanner.h:108
+
double getBeamQuality()
Get beam quality.
Definition: Scanner.h:579
+
double beamWaistRadius
Beam waist radius.
Definition: Scanner.h:117
+
void setAtmosphericExtinction(double atmosphericExtinction)
Set atmospheric extinction.
Definition: Scanner.h:657
+
FWFSettings FWF_settings
Full wave form settings for the scanner.
Definition: Scanner.h:246
+
bool isWriteWaveform()
Check if scanner is configured to write wave form (true) or not (false)
Definition: Scanner.h:721
+
PyRandomnessGeneratorWrapper * getRandGen1()
Python wrapper for first randomness generator.
Definition: Scanner.h:872
+
double getWavelength()
Obtain wave length.
Definition: Scanner.h:636
+
void setBeamQuality(double beamQuality)
Set beam quality.
Definition: Scanner.h:585
+
void setCalcEchowidth(bool calcEchowidth)
Set scanner echo width configuration.
Definition: Scanner.h:744
+
void setFixedIncidenceAngle(bool fixedIncidenceAngle)
Set fixed incidence angle flag.
Definition: Scanner.h:791
+
double atmosphericExtinction
Atmospheric extinction.
Definition: Scanner.h:113
+
std::string getDeviceId()
Obtain scanner device identifier.
Definition: Scanner.h:808
+
PyBeamDeflectorWrapper * getPyBeamDeflector()
Python wrapper for beam deflector access.
Definition: Scanner.h:829
+
PyNoiseSourceWrapper * getIntersectionHandlingNoiseSource()
Python wrapper for intersection handling noise source.
Definition: Scanner.h:863
+
void setDr2(double dr2)
Set .
Definition: Scanner.h:698
+
Wrapper for AbstractBeamDeflector class.
Definition: PyBeamDeflectorWrapper.h:17
+
double cfg_device_beamQuality
Beam quality.
Definition: Scanner.h:92
+
void setBeamWaistRadius(double beamWaistRadius)
Set beam waist radius.
Definition: Scanner.h:671
static const glm::dvec3 right
x : left-right direction
Definition: Directions.h:17
-
bool checkMaxNOR(int nor)
Check if given number of return (nor) is inside expected boundaries. If scanner maxNOR is 0 or nor is...
Definition: Scanner.h:442
-
double cfg_device_visibility_km
Visibility (kilometers)
Definition: Scanner.h:97
-
void setDeviceId(std::string const deviceId)
Set the scanner device identifier.
Definition: Scanner.h:807
-
void setNumRays(int numRays)
Set the number of rays.
Definition: Scanner.h:495
-
double cfg_device_beamDivergence_rad
Beam divergence (radians)
Definition: Scanner.h:65
-
std::shared_ptr< Platform > platform
Platform carrying the scanner.
Definition: Scanner.h:172
-
void setPlatformNoiseDisabled(bool platformNoiseDisabled)
Set platform noise disabled flag.
Definition: Scanner.h:769
-
ScannerHead & getScannerHead()
Python wrapper for scanner head access.
Definition: Scanner.h:816
-
int peakIntensityIndex
Index of bin containing the intensity peak. It is computed through calcTimePropagation function...
Definition: Scanner.h:257
-
void doSimStep(thread_pool &pool, unsigned int legIndex, double currentGpsTime)
Perform computations for current simulation step.
Definition: Scanner.cpp:187
-
double getAveragePower()
Obtain average power.
Definition: Scanner.h:558
-
void setWavelength(double wavelength)
Set wave length.
Definition: Scanner.h:635
-
void setEfficiency(double efficiency)
Set device efficiency.
Definition: Scanner.h:592
-
void setBt2(double bt2)
Set .
Definition: Scanner.h:678
-
void setActive(bool active)
Set scanner active status. True to make it active, false to make it inactive.
Definition: Scanner.h:705
-
void calcRaysNumber()
Compute the number of rays depending on beam sample quality.
Definition: Scanner.cpp:229
-
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:14
-
double getReceiverDiameter()
Get receiver diamater.
Definition: Scanner.h:600
-
double lastTrajectoryTime
GPS time (milliseconds) corresponding to last recorded trajectory point.
Definition: Scanner.h:232
-
std::string cfg_device_id
Device identifier.
Definition: Scanner.h:77
-
std::shared_ptr< AbstractDetector > detector
Detector composing the scanner.
Definition: Scanner.h:177
-
std::shared_ptr< std::vector< Trajectory > > cycleTrajectories
Vector of trajectory points recorded by the scanner.
Definition: Scanner.h:212
+
bool checkMaxNOR(int nor)
Check if given number of return (nor) is inside expected boundaries. If scanner maxNOR is 0 or nor is...
Definition: Scanner.h:449
+
double cfg_device_visibility_km
Visibility (kilometers)
Definition: Scanner.h:104
+
void setDeviceId(std::string const deviceId)
Set the scanner device identifier.
Definition: Scanner.h:814
+
void setNumRays(int numRays)
Set the number of rays.
Definition: Scanner.h:502
+
Wrapper for AbstractDetector class.
Definition: PyDetectorWrapper.h:18
+
std::shared_ptr< Platform > platform
Platform carrying the scanner.
Definition: Scanner.h:179
+
void setPlatformNoiseDisabled(bool platformNoiseDisabled)
Set platform noise disabled flag.
Definition: Scanner.h:776
+
ScannerHead & getScannerHead()
Python wrapper for scanner head access.
Definition: Scanner.h:823
+
double getAveragePower()
Obtain average power.
Definition: Scanner.h:565
+
void setWavelength(double wavelength)
Set wave length.
Definition: Scanner.h:642
+
void setEfficiency(double efficiency)
Set device efficiency.
Definition: Scanner.h:599
+
void setBt2(double bt2)
Set .
Definition: Scanner.h:685
+
void setActive(bool active)
Set scanner active status. True to make it active, false to make it inactive.
Definition: Scanner.h:712
+
double getReceiverDiameter()
Get receiver diamater.
Definition: Scanner.h:607
+
double lastTrajectoryTime
GPS time (milliseconds) corresponding to last recorded trajectory point.
Definition: Scanner.h:239
+
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:16
+
std::shared_ptr< AbstractDetector > detector
Detector composing the scanner.
Definition: Scanner.h:184
Definition: ScannerHead.h:13
diff --git a/doc/html/da/d84/PyHeliosUtils_8h_source.html b/doc/html/da/d84/PyHeliosUtils_8h_source.html index 911c6840c..98ab024a0 100644 --- a/doc/html/da/d84/PyHeliosUtils_8h_source.html +++ b/doc/html/da/d84/PyHeliosUtils_8h_source.html @@ -90,8 +90,9 @@
PyHeliosUtils.h
-
1 #pragma once
2 #ifdef PYTHON_BINDING
3 
4 #include <boost/python/errors.hpp>
5 
7 public:
14  static size_t handlePythonIndex(long _index, size_t n){
15  size_t index = (size_t) _index;
16  if(_index < 0){
17  index = (size_t) (n + _index);
18  }
19  if(index >= n){
20  std::stringstream ss;
21  ss << "Index " << _index << " out of range";
22  PyErr_SetString(PyExc_IndexError, ss.str().c_str());
23  boost::python::throw_error_already_set();
24  }
25  return index;
26  }
27 };
28 
29 #endif
static size_t handlePythonIndex(long _index, size_t n)
Translate received index from python, where negative values have a special meaning (i...
Definition: PyHeliosUtils.h:14
-
Definition: PyHeliosUtils.h:6
+
1 #pragma once
2 #ifdef PYTHON_BINDING
3 
4 #include <boost/python/errors.hpp>
5 
6 namespace pyhelios{
7 
9 public:
16  static size_t handlePythonIndex(long _index, size_t n){
17  size_t index = (size_t) _index;
18  if(_index < 0){
19  index = (size_t) (n + _index);
20  }
21  if(index >= n){
22  std::stringstream ss;
23  ss << "Index " << _index << " out of range";
24  PyErr_SetString(PyExc_IndexError, ss.str().c_str());
25  boost::python::throw_error_already_set();
26  }
27  return index;
28  }
29 };
30 
31 }
32 
33 #endif
Definition: PyAABBWrapper.h:7
+
Definition: PyHeliosUtils.h:8
+
static size_t handlePythonIndex(long _index, size_t n)
Translate received index from python, where negative values have a special meaning (i...
Definition: PyHeliosUtils.h:16
diff --git a/doc/html/da/d96/classpyhelios_1_1PyVertexWrapper__coll__graph.map b/doc/html/da/d96/classpyhelios_1_1PyVertexWrapper__coll__graph.map new file mode 100644 index 000000000..db8917e2e --- /dev/null +++ b/doc/html/da/d96/classpyhelios_1_1PyVertexWrapper__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/html/da/d96/classpyhelios_1_1PyVertexWrapper__coll__graph.md5 b/doc/html/da/d96/classpyhelios_1_1PyVertexWrapper__coll__graph.md5 new file mode 100644 index 000000000..ca042799f --- /dev/null +++ b/doc/html/da/d96/classpyhelios_1_1PyVertexWrapper__coll__graph.md5 @@ -0,0 +1 @@ +607c9a7862283ae7d735ba0371bfbbfc \ No newline at end of file diff --git a/doc/html/da/d96/classpyhelios_1_1PyVertexWrapper__coll__graph.png b/doc/html/da/d96/classpyhelios_1_1PyVertexWrapper__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..e1d330a2d89762094e15854913d074a246fa5a28 GIT binary patch literal 5583 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 K + + + + + + +Helios++: pyhelios::PyRaySceneIntersectionWrapper Class Reference + + + + + + + + + + + + + + + +
+
+
buildPolymesh()visualhelios::VHDynObjectAdapter
constructPolymesh() overridevisualhelios::VHDynObjectXYZAdaptervirtual
doStep()visualhelios::VHDynObjectAdapter
doStep()visualhelios::VHDynObjectAdapter
dynObjvisualhelios::VHDynObjectAdapterprotected
getDynObj()visualhelios::VHDynObjectAdapterinline
getId() constvisualhelios::VHDynObjectAdapterinline
+ + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + + +
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyRaySceneIntersectionWrapper Class Reference
+
+
+ +

Wrapper for RaySceneIntersection. + More...

+ +

#include <PyRaySceneIntersectionWrapper.h>

+
+Collaboration diagram for pyhelios::PyRaySceneIntersectionWrapper:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + + + + + + + +

+Public Member Functions

PyRaySceneIntersectionWrapper (RaySceneIntersection const rsi)
 
+PyPrimitiveWrappergetPrimitive ()
 
+PythonDVec3getPoint ()
 
+double getIncidenceAngle ()
 
+void setIncidenceAngle (double incidenceAngle)
 
+ + + +

+Public Attributes

+RaySceneIntersectionrsi
 
+

Detailed Description

+

Wrapper for RaySceneIntersection.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+
See also
RaySceneIntersection
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/da/db0/classpyhelios_1_1PyRaySceneIntersectionWrapper.js b/doc/html/da/db0/classpyhelios_1_1PyRaySceneIntersectionWrapper.js new file mode 100644 index 000000000..ea66f30a2 --- /dev/null +++ b/doc/html/da/db0/classpyhelios_1_1PyRaySceneIntersectionWrapper.js @@ -0,0 +1,10 @@ +var classpyhelios_1_1PyRaySceneIntersectionWrapper = +[ + [ "PyRaySceneIntersectionWrapper", "da/db0/classpyhelios_1_1PyRaySceneIntersectionWrapper.html#aec7ebbaac8f9386b13aaf6e1b49d920b", null ], + [ "~PyRaySceneIntersectionWrapper", "da/db0/classpyhelios_1_1PyRaySceneIntersectionWrapper.html#a81c45084a4d291c0073ecda4efb85db0", null ], + [ "getIncidenceAngle", "da/db0/classpyhelios_1_1PyRaySceneIntersectionWrapper.html#abb45208f58d29130654acecda53e0de6", null ], + [ "getPoint", "da/db0/classpyhelios_1_1PyRaySceneIntersectionWrapper.html#a6f8f9287a6f7f32f25b67992c49f199c", null ], + [ "getPrimitive", "da/db0/classpyhelios_1_1PyRaySceneIntersectionWrapper.html#a407142bde0f3fcaba1de1bdcae286e77", null ], + [ "setIncidenceAngle", "da/db0/classpyhelios_1_1PyRaySceneIntersectionWrapper.html#a620f0115a69ee536ac4e6ae6d3d1aa39", null ], + [ "rsi", "da/db0/classpyhelios_1_1PyRaySceneIntersectionWrapper.html#a8878366fec133f13ae1a6d510bf091df", null ] +]; \ No newline at end of file diff --git a/doc/html/da/dd3/PyTriangleWrapper_8h_source.html b/doc/html/da/dd3/PyTriangleWrapper_8h_source.html index 91dab0db1..66e136980 100644 --- a/doc/html/da/dd3/PyTriangleWrapper_8h_source.html +++ b/doc/html/da/dd3/PyTriangleWrapper_8h_source.html @@ -90,10 +90,11 @@
PyTriangleWrapper.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyPrimitiveWrapper.h>
6 #include <Triangle.h>
7 
16 public:
17  // *** CONSTRUCTION / DESTRUCTION *** //
18  // ************************************ //
20  virtual ~PyTriangleWrapper() = default;
21 
22  // *** GETTERS and SETTERS *** //
23  // ***************************** //
24  PythonDVec3 * getFaceNormal()
25  {return new PythonDVec3( ((Triangle *) prim)->getFaceNormal() ); }
26 };
27 
28 #endif
Wrapper for Triangle class.
Definition: PyTriangleWrapper.h:15
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyPrimitiveWrapper.h>
6 #include <Triangle.h>
7 
8 namespace pyhelios{
9 
18 public:
19  // *** CONSTRUCTION / DESTRUCTION *** //
20  // ************************************ //
22  virtual ~PyTriangleWrapper() = default;
23 
24  // *** GETTERS and SETTERS *** //
25  // ***************************** //
26  PythonDVec3 * getFaceNormal()
27  {return new PythonDVec3( ((Triangle *) prim)->getFaceNormal() ); }
28 };
29 
30 }
31 
32 #endif
Wrapper for Primitive class.
Definition: PyPrimitiveWrapper.h:20
+
Definition: PyAABBWrapper.h:7
+
Wrapper for Triangle class.
Definition: PyTriangleWrapper.h:17
Class representing triangle primitive.
Definition: Triangle.h:13
-
Wrapper for Primitive class.
Definition: PyPrimitiveWrapper.h:18
-
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:14
+
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:16
diff --git a/doc/html/da/de7/classpyhelios_1_1PyMeasurementWrapper__coll__graph.map b/doc/html/da/de7/classpyhelios_1_1PyMeasurementWrapper__coll__graph.map new file mode 100644 index 000000000..7e2c6e8c1 --- /dev/null +++ b/doc/html/da/de7/classpyhelios_1_1PyMeasurementWrapper__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/da/de7/classpyhelios_1_1PyMeasurementWrapper__coll__graph.md5 b/doc/html/da/de7/classpyhelios_1_1PyMeasurementWrapper__coll__graph.md5 new file mode 100644 index 000000000..436fbf36e --- /dev/null +++ b/doc/html/da/de7/classpyhelios_1_1PyMeasurementWrapper__coll__graph.md5 @@ -0,0 +1 @@ +e9275227f400cefc8343fec578b04196 \ No newline at end of file diff --git a/doc/html/da/de7/classpyhelios_1_1PyMeasurementWrapper__coll__graph.png b/doc/html/da/de7/classpyhelios_1_1PyMeasurementWrapper__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..018e6c5ffc0cd53eba9ae64b5bbcdf1eb0c43d8c GIT binary patch literal 6471 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 + + + + + + +Helios++: pyhelios::PyDoubleVector Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyDoubleVector Class Reference
+
+
+ +

Wrapper for std::vector<double> class. + More...

+ +

#include <PyDoubleVector.h>

+ + + + + + + + + + + + + + + + +

+Public Member Functions

PyDoubleVector (std::vector< double > *vec)
 
PyDoubleVector (std::vector< double > const vec)
 
+double get (long _index)
 
+void set (long _index, double value)
 
+void insert (double value)
 
+void erase (long _index)
 
+size_t length ()
 
+ + + + + +

+Public Attributes

+std::vector< double > * vec = nullptr
 
+bool release = true
 
+

Detailed Description

+

Wrapper for std::vector<double> class.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+
See also
std::vector
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/da/dec/classpyhelios_1_1PyDoubleVector.js b/doc/html/da/dec/classpyhelios_1_1PyDoubleVector.js new file mode 100644 index 000000000..db761d32a --- /dev/null +++ b/doc/html/da/dec/classpyhelios_1_1PyDoubleVector.js @@ -0,0 +1,13 @@ +var classpyhelios_1_1PyDoubleVector = +[ + [ "PyDoubleVector", "da/dec/classpyhelios_1_1PyDoubleVector.html#acbdb1282d7e9ff2dee71324e0ea9232c", null ], + [ "PyDoubleVector", "da/dec/classpyhelios_1_1PyDoubleVector.html#a8cb26a67e7d93bb93b10a6e1e80abc33", null ], + [ "~PyDoubleVector", "da/dec/classpyhelios_1_1PyDoubleVector.html#a5ef658e51e845c025a57286782d03da2", null ], + [ "erase", "da/dec/classpyhelios_1_1PyDoubleVector.html#a358256e206794a3967ac24625968da01", null ], + [ "get", "da/dec/classpyhelios_1_1PyDoubleVector.html#a6129f252fec44ff0a4a58bd377c35eed", null ], + [ "insert", "da/dec/classpyhelios_1_1PyDoubleVector.html#af1a89f750d1c70bbbac40a032de9d3bf", null ], + [ "length", "da/dec/classpyhelios_1_1PyDoubleVector.html#a0117da65747f87293d80a1c17726ea74", null ], + [ "set", "da/dec/classpyhelios_1_1PyDoubleVector.html#a2ee672231a26964a91541e14b5e701d1", null ], + [ "release", "da/dec/classpyhelios_1_1PyDoubleVector.html#aaa0323676fcbf35f31b79137f6d4c1c3", null ], + [ "vec", "da/dec/classpyhelios_1_1PyDoubleVector.html#a25f253fa5cedc5fe8cf09a7756742c88", null ] +]; \ No newline at end of file diff --git a/doc/html/db/d11/classSimulationCycleCallback__inherit__graph.map b/doc/html/db/d11/classSimulationCycleCallback__inherit__graph.map index 382f23b4f..41464223d 100644 --- a/doc/html/db/d11/classSimulationCycleCallback__inherit__graph.map +++ b/doc/html/db/d11/classSimulationCycleCallback__inherit__graph.map @@ -1,3 +1,3 @@ - + diff --git a/doc/html/db/d11/classSimulationCycleCallback__inherit__graph.md5 b/doc/html/db/d11/classSimulationCycleCallback__inherit__graph.md5 index 8f1aebade..26442164d 100644 --- a/doc/html/db/d11/classSimulationCycleCallback__inherit__graph.md5 +++ b/doc/html/db/d11/classSimulationCycleCallback__inherit__graph.md5 @@ -1 +1 @@ -a9273ad8c3789388b62e3a2a05a0c7fc \ No newline at end of file +93d8ee98e907da69315a91e602f22d09 \ No newline at end of file diff --git a/doc/html/db/d11/classSimulationCycleCallback__inherit__graph.png b/doc/html/db/d11/classSimulationCycleCallback__inherit__graph.png index ffc0c499b6fe194bda0e3af36fed7067bf5505e4..dad8b0a70c8747dcb1b3876d0a7bc0ff8231740e 100644 GIT binary patch literal 5813 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 G;J*M@au&4! literal 5036 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 JEq`Pg^e;Sf&m;f< diff --git a/doc/html/db/d14/LidarSim_8h_source.html b/doc/html/db/d14/LidarSim_8h_source.html index 1daeb8110..c95a382d1 100644 --- a/doc/html/db/d14/LidarSim_8h_source.html +++ b/doc/html/db/d14/LidarSim_8h_source.html @@ -91,7 +91,7 @@
1 #pragma once
2 
3 #include <string>
4 
10 class LidarSim {
11 public:
41  void init(
42  std::string surveyPath,
43  std::string assetsPath,
44  std::string outputPath,
45  bool writeWaveform = false,
46  bool calcEchowidth = false,
47  size_t njobs = 0,
48  bool fullWaveNoise = false,
49  bool platformNoiseDisabled = false,
50  bool legNoiseDisabled = false,
51  bool rebuildScene = false,
52  bool lasOutput = false,
53  bool las10 = false,
54  bool zipOutput = false,
55  bool fixedIncidenceAngle = false,
56  double lasScale = 0.0001
57  );
58 };
Lidar simulation class.
Definition: LidarSim.h:10
-
void init(std::string surveyPath, std::string assetsPath, std::string outputPath, bool writeWaveform=false, bool calcEchowidth=false, size_t njobs=0, bool fullWaveNoise=false, bool platformNoiseDisabled=false, bool legNoiseDisabled=false, bool rebuildScene=false, bool lasOutput=false, bool las10=false, bool zipOutput=false, bool fixedIncidenceAngle=false, double lasScale=0.0001)
Initialize a LiDAR simulation.
Definition: LidarSim.cpp:189
+
void init(std::string surveyPath, std::string assetsPath, std::string outputPath, bool writeWaveform=false, bool calcEchowidth=false, size_t njobs=0, bool fullWaveNoise=false, bool platformNoiseDisabled=false, bool legNoiseDisabled=false, bool rebuildScene=false, bool lasOutput=false, bool las10=false, bool zipOutput=false, bool fixedIncidenceAngle=false, double lasScale=0.0001)
Initialize a LiDAR simulation.
Definition: LidarSim.cpp:196
diff --git a/doc/html/db/d56/classpyhelios_1_1PySimulationCycleCallback__inherit__graph.map b/doc/html/db/d56/classpyhelios_1_1PySimulationCycleCallback__inherit__graph.map new file mode 100644 index 000000000..d3065edf4 --- /dev/null +++ b/doc/html/db/d56/classpyhelios_1_1PySimulationCycleCallback__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/db/d56/classpyhelios_1_1PySimulationCycleCallback__inherit__graph.md5 b/doc/html/db/d56/classpyhelios_1_1PySimulationCycleCallback__inherit__graph.md5 new file mode 100644 index 000000000..309985056 --- /dev/null +++ b/doc/html/db/d56/classpyhelios_1_1PySimulationCycleCallback__inherit__graph.md5 @@ -0,0 +1 @@ +d7a19feb30e0d50db969ce3cf49e6f89 \ No newline at end of file diff --git a/doc/html/db/d56/classpyhelios_1_1PySimulationCycleCallback__inherit__graph.png b/doc/html/db/d56/classpyhelios_1_1PySimulationCycleCallback__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..481ffca2c15172a751b6f3fbc3c61a7d48382674 GIT binary patch literal 5878 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 + + diff --git a/doc/html/db/d5a/classpyhelios_1_1PyRandomnessGeneratorWrapper__coll__graph.md5 b/doc/html/db/d5a/classpyhelios_1_1PyRandomnessGeneratorWrapper__coll__graph.md5 new file mode 100644 index 000000000..cb17cbff9 --- /dev/null +++ b/doc/html/db/d5a/classpyhelios_1_1PyRandomnessGeneratorWrapper__coll__graph.md5 @@ -0,0 +1 @@ +42c1ecfe644a40933bb47ec6cf09e5e0 \ No newline at end of file diff --git a/doc/html/db/d5a/classpyhelios_1_1PyRandomnessGeneratorWrapper__coll__graph.png b/doc/html/db/d5a/classpyhelios_1_1PyRandomnessGeneratorWrapper__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..4efe41f71c5138fc49e39a55447e1257940ce34d GIT binary patch literal 8845 zcmaJ{1yq&Ywmmc=EscPLf)dhQ0t$kJf^;Jx-G}ayMt`JK5ClY8x=TtrrBei?K>;b> zI{x?FaqoEdT^Jn3IPraZub6Ajxz95-6?p#n17RUsic`EZZB8qfSqNE*QVM z8hUQT*;A`TM0M(+D{x-=sTX zB%w*Uib_h12@0c?X=!O@ow0PH1rcjB@bp(_5o;Tpu}VE{ZR7by-@l(mhMay&b6EKH z4cpAjOjuNOX>BMA5g^atONQWf`>uiTr@xV#o!v4wN58kXrx@PHlz`ja-M#zcM@UVL z$l>;EPeuEuPt9Xv!TL(GzcF!?oSq z1frs%%)-LL3MwiR$;rt}y^-llrNza!l@t|CMMOjtw-Cwc=?pejR>nL$Jotz@msLVB z=dZYFf_5}w$nC57g@xvnT>8dDlE>F**OZt!Ib-f;52N+TZudBOtwZEU3P=;*LseHI-Z0vGOxV<;Z3^gOV5@Jg7(=1UP4V)VQ&S^rYenB>XEQP}ElK9zsFlu&yjSA1+`%X)NCA=h)Dc6w z`1NbZyLT*9w6tw-m&+6!&7*nhLo+ktYi^i0I2edZhxypZNW9*3DFz0gU9_W`1bH9eh>m>9ad>sX*uc5gmA!EeyyfQ^!ZBCN7fkVCH$UqC>h zq^hd(`&jOHf(pL4qn~2?b_O-Kbl5`l! zYrFB%{(hCSy-tRr4&6JPHB2yV?cQ&v{Ss693*(cN#4f5U@KpBJL= zz=#c(BvdQh^%wcj(W)Y&LveUpvPg;lXMM|!>$S4!o>=ee3}UC(2?B80MAeIToV&Q+ z?&7KGcwv0y#pYf(j3ZdHULQivfaNiokaiH7$2F|VG@{9(RoTkjKl8jxv-dUv1N^zJR zQ`qnh?GJTgYC$qXw5RzAi*c_sOAIMBd1`P&=f~G`*?4W)>d_y$RuX3Nd_cZ@61^CA zrpd46zW(+WuRiLPV>`O9){W%6#8GO_ZyFECN%4xM`4f?uMepgmj*p^&z`tp-IGVGI#O*%0BfFKYttC*mJEdqH*8^yflhhq1ci{}V~^^ZnmbGh3+G4k@}{OtSLx_@oR;M3&kv_(Txe-&Nyx}B zpUI&^v4(_&WtNp)iRQT~?1+FGK1*>YuOHRGP zvAahDG|thukK9x)*AZ)G^3oynN=>nB?CmW|OH1()-WR`CbzEHd#C(pqF`Bn$YTBsG zIJmjvId#h;694+EWM)SH+qZ8W?mKgRhdc8F9Gsjwii&voA3m5`_P;V2$x$|oOd4tQ zJ)QWR$gbn*Dbmx|Xa45R8x9s0x!h?fysNppcp7`ZMBOJ2K74jXY<4pEKZ)kK@uK_0 zM_)tZ(-U6mD^cwnQc~$@Lf5Z{N*pf)_fAfx`2Jc+QtVMyP*`XcbNTi_)4-swB0DGN zqln8l{9l5x&YkNjG+FT#6#@up4vM2+RET$vZr0Y-Ev~I~DZ4m3%iO(-CC5Y}E-wDp z%k}N;{`02#`m36nnu=TBzWw0Kl8uo(crK}v|Jv!>Fw3}Ab)C@a2^VyuK zxdO;A@zMOUjI6BF_tBdQ*^gd{AywApw4|jG0B35tx{*Oa=o~s9F;9+q zM&9v;(eFq=2@Zo=vV?>LuQ{51Kgxl)pg>*e=XY| zUhIwjSsL@^@g{OGY&D-!Dsqi()Zz0+|4ViM6RQ4q-a{h}c^EEc?Lh}ziGgY_{(s;7 zXD#y)zY8+~jkApmSf>)sMbYdi3mjLE$$gVrmHhntPPpD0F<&snEO*AW&CeUnoA35( zW0)mVtK3sw-8tb3O}gj7fmqle`Q4x29Nf=>-kd9R`K0%si}^zopdT@*4HFdJ{ct!t z-qWsjWZd814>R{|Z*M1lCfD}S*5DR9d)tS{`Nnp31THQvXIl>bviI(VHTE!B;eo2B)nl0pBDX z1RE!3s2tM}lA0OYq45?C8}zA?k`f{yJNr5lGxJ_E22n<3C53v>Qk z-Zjt8(%ramqok}%*435&%MH?J@vmOttE#Fd0~OktYd~!K&HF4gqg7W|H;;~z!9-N6 zMK35VCAo9wPP_t3Nkzq7D=RipF|iu+j?T`uzCHrdXP7%pza>epT!H3^cy@(#X{%~} z8+ncxoSlt<`8F{%WxD^h8&%r1wY3Puyw3r_%*>3jtu4O1ygUr?ztU9Ir`JbvNoZ(3 z3_I*J9MMC$m+KxGTWk7!RZvn2ZfKC;<>ejSPWoTcHR^X-SG6CrOP%?pPD2lCfaU{7jm$%MR=>It6$;c=YK*gXlvZ``$A0V!Gk9VZ36?kDtsv^ zsqw+VW>ZsBDunxLKV7B&Z$FEtPrDyIdZhjMF*$$+K8jIknHd{j(<`?kVZV9Pq^72( zx34c|Ypx+p?^`4}yEdR+R7{LHV&Y&xY9KW&ZE~?KyvEH+SIR6Jnli3Xzvg*jQc@WT z0oT{NWn^Sfi{#_wH4P`EGaVZnQPWtwfqC0)q<9mmWL}zMz;!YGcpFE z8S|z@KWjIAnVvpS0fkb6!{8II_bpE9;(dAVT->Q1?5XdS$cx8XS}q$3%F5<0-+E1A zVq$D(s+~AQMN_AXUcRKbk<=qlIa}irj%EzB%=%RA&TK7?UK!I9h}`*h(%j*!&IHp;P9E6@?BY`6#&%LvTKX{Gji}NB3qpgK+M>j=JJBoEXC$@t*fF=Y zjsCgug}p(zuC}(s=a+N+$@l!O-ri3w!8nh<@o}qd(c|FYeEs^BO646wiOH>`)FYYn)`KIdXEG22XF`@p z;u9#6fp2|jod5#WG#eWmlc@qW6Mx-QPloY*`O+nm*RNmGBu#!XQ?`SMZjNagnZu;E z9e#J;c5A9)=2FV1PjcTD7MeR^>3S>%-t<94yE$dmY0aV^YiMx$`}+%mj1%-dajkS( zzBfKG(dC=7#kry-cc8wWdO)nThXuVQ z>kI9y>+65x;(um}=Yn7ORqIqEwl->c=6_*(UXS$jqCoK^uG_}T5_&US9J&enY)wQf$9J?1*W3BbT1T$n}9w?mu9wYJLC zAM}fPY!p^iA9CtdW@Kif>*(klZ`bWOZqJDL9506J7K(9k5n2wsX$Oei18&G3Q}y`x zcsb5#W1RDeg~bx^DLD&^8?9|^kKZJ{c!2>`T))>r%f`+=(umPDIJALfsJk$RJ*Kf+^^K;e$dmLI%kKcb|3R@T-T7S9j++eF@^k{LX~ac+A2+`=o}Q{nXUa>1JYL zN(LFPSL=FH%>P3CMb8SxT1rB=e6f&8>?+-TF8%6e;DeL3ZX4Q=v!($d9v%~v#vK7b zr$T5xeAt30iH#*J;uI1}q6Rn!DJdyYyIz0Pk32v5DY?ogD5y!@15C82)FS0UN8`nb z&EcmjswFyQ7Nsz_{iFF^mDk|b&VhS1?9py%#1_3C(QgU|9_w@%S$Hyg^nN030pUDM*ydKVZ@8s1VGy;>i zZI2``0K&Plx?0vr?;UM7SFe+;0xi{_E;aD-wo!kMa$1M`)>J#tl<>E!u2B$akc}09 zIEUS=>D;WWtnL7aiHE1u&Qv5MEvQbk=u2(ye@)qp-@c_!h}H_TZn zWHbW2&S6s$A8wf+2mRCG`Ik08i5{)y)LWuI4bZ9Y)r-vgpB+2-CN;Ac*x^s9=$W4V z&KpJEtbd-8lD9)z-jTLDOk_sXE7Pr5ka~!1NZ>=Q{87|5Nj9t{qNz0!zrVXeXiwgd z{es3iYV!7Qarb3n1C#4=oMQ&Z%uVFPXrZ|~Yjsz7AApwA@TsK7#%2mY6Tq^wx|MrH zO9m)wM(YUjTGISE|C4JJZ&@k~2gnl^r5DMQ!#)y@Cb`Zu;9w&>h1&YmUDr6|$P5E- zo)m#lT&cS!h!TSiPR1&{*k3A zv(bkq_7z+E_F=7jZt+KhrDbYxiOgeLx(+Jqi@g4#m-HGI0vqp{cxPaTgCp%~C%zJ2 zCGfFLha`Sy{Gh@Ifh+C7_aWjvtIbx++1AKkIb(BHZ82YU#Yyb*`DX`1nvex7pW(CI z_Rp#M*>l*G+3y#2!t06aa>6L90o3V#;_uW{k=*0ajTEH3wPRwWD{`5w z*?xbRijqs9S#cWSh6&3A337@b%!$%KAl95L3&^u1T z(xjw}^0vSy`tt&vV4SI5mHl09Z7L294sPVOK8*WoOiVKK<|LdCJ>*Ll7K{W_I?=i;IieWfn29A6SlpI}Tz^B_t#wA|j-LI#^p< z8#_3}jpb`G^YfDd(?8*gvpN(2L%}bzoDGOWalck|9P9|C-G8PvXu)9oUD4yrAH zJeEPKXy;KE@$SKadP$v{-Re+=0@Az-kzwm zqlHm}BmR4$)QrbwoCC$*93360hIP@_3XH<^z<6yuUb+k^1%nxb&$9p1$%fnw&KF>O39nv7Utv{Q7*UnFtEx&g=X*4ZHjoZaPE2TP>*?i7L@5LS zt*t+tvH{&V(cmp4dAiBho5F{~$jHdX!7+;TLX*zub@?*&gM%V&HIK|ef&sjXlPjN^NSbAW;oap%(rgg z@uuJp4GkTyWyMvmy1Tj>?=7{n-MY1ubAEO(pk3$Ad2w;n#4IWKCT(tHBse*l>iE|$ zll9^3h{#A8Bodjvp=o7j*B;K`7h&G>vSna^2$W6GgButK{dy0QjW5NWd;{Xa0Rf12 zIXNE;RCYRjdAPY3zK>dnd4p?19M#Uv!?T!k{$oUSqQnFPjAMM@V=Sz!E_SfeW9Zo3 zVWrzQf0CQw-@JKKyUL#KjqjmO{r+e6uAZKe52}!0$BQ%10;4ASo|l}m;Ccb02!Pw6 zY!W9Yr}HACA)N1ri8+2>M%{nyo7W#NMcq0_&FTW(3Pqs$ITr1WO<>0w`t02WJ08SU znverFqJFpa^7$dssHee5_OL$<@_IDqO$2OJ*4-J{dX5MHe_2CAV_~5s7!@=>KS|J>{Nu#rC}C<*?g~7d-sV>gJp2xVLoos<;Pn zOG`_{vuAgpDNW7H_5g;N85!Ts|FoIXN%ArDg80KcG=bY3X9l(UB;% zRo@X863o65@FwbvP~CuN2D6}i+o9cg$JY*jJU;XY#Aq1Q_p8^hOHJCa^{XAx?CtHL zNV>XfyaUf5<_pWqS^ViuO;P~K;XqukA_j+t(Ge)VTjG1_uE0Wya^Qr8sem(Ef0>7h zW$-&j1I%s*3ADJd5Rj2^4JuKFE2*uy88JIM3*{FGM=Ma{zgxPxa1q9)ra_kJzAyDO zcRCRzu!!T6lch<^^mdROgEKSH$T?3OL^&$TpvbjroUix477Hh!6?EK!y+%YuwSlDv z2PA0h?Cc0Nya5nk+s;s?Ea`qSMnSWBOd+z`JwUQQPG&rx-5 zKE4fP6Pwk@eB??jt&ocOMIg<`vOb9N@`V%#8aOhOW+7dC#`>mNRq7lQ>=yk7FLGdc zwZlFX6ch*q7+w4gIXT$ungwd9f+nq)6&uCH#qz4EalKQ1b`5BTEc8R z+gIv+C2}QStGMHph)emLq_Smu#bm$t>dxlor`2@-*oX*RP=OfL-c+24iX>3spmSit z=NHHiX_Ofe`|w6`RdF(A{T>eHG?Dkv;mK0WfgQMQ69u#3BqSt( zC`Sqq6pZYLsj7P-r-tgeDt8|~Bta2=Wp++Ztc)5}>?{!e-;V%BzwY4m@bbAzkGHiW%mNthcuqA_L3>0|NspJ_~$^ ziqqFFk|GLa&=;|?;e?CB*-Gz=i#rq9wNMVt<8*v-Q!+lmw4$JH!0 zBmg2A5*oS)Fs5B$O|J46-}(sHWV;e4UqfQ_y}U zLc;s-8XFt#`1rWT$$Bmc1x1dN$biJr)$szI;I?og=4;mwFiUWWh<2(}!=BfoD)n@l z6&gqwPCTg0P<9Jgduop!1^J(E7%8%T#6A$E?(#`Jj7m%-2gjk%wNi)jyfDLEytq

BbsjFKCusf=YBysrj zX%AmJKE^ESP_4Mk%*@@-?8R)#r{D977gkn6lNur&5D0WZ)OP{kuJ*dh$^JkZHWk( zG)5adUxF{2#mdu+F0wr3G5Ca`S_9hzJ3xqefT5%Os*#Z^T1EPIOiUQzfFG3){(0%J zf}aBVWle&1;k^XygMz%mUJYn;HK#RIMMZ=t-!w8RY7fRT2I68rsp*=406AnJS-|F{ zq5?MWlfvS~)bom`Voze%h~REFlv6{1)59D@1BMSyI~JlhO^66o0Josvw#&>O+%1o` zC@&ASMmhhr5>HG(H)$|kzV*NEQ7$Vl4}n7Y`0*qE9KSSd=zExrwKeUgnpmb7*&Io8 zTN_3+kB67nE#-6}2YNU}0QY>fKfg~+#;r|2pn|~tJ>AgjQ+iT`dtAzG0-?@k?r%q? z appendDynObj(shared_ptr< VHDynObjectXYZRGBAdapter > dynObj)visualhelios::VHSimpleCanvasinline clearDynObjs()visualhelios::VHSimpleCanvasinline - configure()visualhelios::VHCanvasprotectedvirtual + configure() overridevisualhelios::VHSimpleCanvasprotectedvirtual dynamicUpdateFunctionvisualhelios::VHSimpleCanvasprotected dynObjsvisualhelios::VHSimpleCanvasprotected forceRedrawvisualhelios::VHCanvasprotected @@ -104,17 +104,21 @@ getTitle() constvisualhelios::VHCanvasinline isForceRedraw() constvisualhelios::VHCanvasinline isRenderingNormals() constvisualhelios::VHSimpleCanvasinline + needUpdatevisualhelios::VHSimpleCanvasprotected + normalMagnitudevisualhelios::VHSimpleCanvasprotected onStop()visualhelios::VHCanvasprotectedvirtual renderingNormalsvisualhelios::VHSimpleCanvasprotected - setDynamicUpdateFunction(std::function< void(vector< shared_ptr< VHDynObjectXYZRGBAdapter >>)> const dynamicUpdateFunction)visualhelios::VHSimpleCanvasinline - setDynObj(size_t index, shared_ptr< VHDynObjectXYZRGBAdapter > dynObj)visualhelios::VHSimpleCanvasinline - setForceRedraw(bool const forceRedraw)visualhelios::VHCanvasinline - setRenderingNormals(bool const renderingNormals)visualhelios::VHSimpleCanvasinline - setTimeBetweenUpdates(int const timeBetweenUpdates)visualhelios::VHCanvasinline - show()visualhelios::VHCanvasvirtual - start() overridevisualhelios::VHSimpleCanvasprotectedvirtual - timeBetweenUpdatesvisualhelios::VHCanvasprotected - titlevisualhelios::VHCanvasprotected + renderNormals(VHDynObjectXYZRGBAdapter &dynObj)visualhelios::VHSimpleCanvasprotected + setDynamicUpdateFunction(std::function< void(vector< shared_ptr< VHDynObjectXYZRGBAdapter >>)> const dynamicUpdateFunction)visualhelios::VHSimpleCanvasinline + setDynObj(size_t index, shared_ptr< VHDynObjectXYZRGBAdapter > dynObj)visualhelios::VHSimpleCanvasinline + setForceRedraw(bool const forceRedraw)visualhelios::VHCanvasinline + setRenderingNormals(bool const renderingNormals)visualhelios::VHSimpleCanvasinline + setTimeBetweenUpdates(int const timeBetweenUpdates)visualhelios::VHCanvasinline + show()visualhelios::VHCanvasvirtual + start() overridevisualhelios::VHSimpleCanvasprotectedvirtual + timeBetweenUpdatesvisualhelios::VHCanvasprotected + titlevisualhelios::VHCanvasprotected + unrenderAllNormals()visualhelios::VHSimpleCanvasprotected update() overridevisualhelios::VHSimpleCanvasprotectedvirtual VHCanvas()visualhelios::VHCanvasinline VHCanvas(string const title)visualhelios::VHCanvas diff --git a/doc/html/db/d5f/PyNoiseSourceWrapper_8h_source.html b/doc/html/db/d5f/PyNoiseSourceWrapper_8h_source.html index 7f777e0d6..b23a7aa1d 100644 --- a/doc/html/db/d5f/PyNoiseSourceWrapper_8h_source.html +++ b/doc/html/db/d5f/PyNoiseSourceWrapper_8h_source.html @@ -90,11 +90,13 @@

PyNoiseSourceWrapper.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <NoiseSource.h>
6 
15 public:
16  // *** ATTRIBUTES *** //
17  // ******************** //
19 
20  // *** CONSTRUCTION *** //
21  // ********************** //
23  virtual ~PyNoiseSourceWrapper(){}
24 
25  // *** GETTERS and SETTERS *** //
26  // ***************************** //
27  inline double getClipMin() {return ns.getClipMin();}
28  inline void setClipMin(double clipMin) {ns.setClipMin(clipMin);}
29  inline double getClipMax() {return ns.getClipMax();}
30  inline void setClipMax(double clipMax) {ns.setClipMax(clipMax);}
31  inline bool isEnabled() {return ns.isClipEnabled();}
32  inline void setEnabled(bool enabled) {ns.setClipEnabled(enabled);}
33  inline bool isFixedValueEnabled() {return ns.isFixedValueEnabled();}
34  inline unsigned long getFixedLifespan() {return ns.getFixedLifespan();}
35  inline void setFixedLifespan(unsigned long fixedLifespan)
36  {ns.setFixedLifespan(fixedLifespan);}
37  inline unsigned long getFixedValueRemainingUses()
38  {return ns.getFixedValueRemainingUses();}
39  inline void setFixedValueRemainingUses(unsigned long remainingUses)
40  {ns.setFixedValueRemainingUses(remainingUses);}
41  double next(){return ns.next();}
42 };
43 
44 #endif
double getClipMin()
Obtain the clip min value.
Definition: NoiseSource.h:94
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <NoiseSource.h>
6 
7 namespace pyhelios{
8 
17 public:
18  // *** ATTRIBUTES *** //
19  // ******************** //
21 
22  // *** CONSTRUCTION *** //
23  // ********************** //
25  virtual ~PyNoiseSourceWrapper(){}
26 
27  // *** GETTERS and SETTERS *** //
28  // ***************************** //
29  inline double getClipMin() {return ns.getClipMin();}
30  inline void setClipMin(double clipMin) {ns.setClipMin(clipMin);}
31  inline double getClipMax() {return ns.getClipMax();}
32  inline void setClipMax(double clipMax) {ns.setClipMax(clipMax);}
33  inline bool isEnabled() {return ns.isClipEnabled();}
34  inline void setEnabled(bool enabled) {ns.setClipEnabled(enabled);}
35  inline bool isFixedValueEnabled() {return ns.isFixedValueEnabled();}
36  inline unsigned long getFixedLifespan() {return ns.getFixedLifespan();}
37  inline void setFixedLifespan(unsigned long fixedLifespan)
38  {ns.setFixedLifespan(fixedLifespan);}
39  inline unsigned long getFixedValueRemainingUses()
40  {return ns.getFixedValueRemainingUses();}
41  inline void setFixedValueRemainingUses(unsigned long remainingUses)
42  {ns.setFixedValueRemainingUses(remainingUses);}
43  double next(){return ns.next();}
44 };
45 
46 }
47 
48 #endif
double getClipMin()
Obtain the clip min value.
Definition: NoiseSource.h:94
unsigned long getFixedValueRemainingUses()
Obtain the remaining uses of current fixed value.
Definition: NoiseSource.h:179
+
Wrapper for NoiseSource abstract class.
Definition: PyNoiseSourceWrapper.h:16
NoiseSource & setClipMin(RealType clipMin)
Set the clip min value.
Definition: NoiseSource.h:102
NoiseSource & setClipMax(RealType clipMax)
Set the clip max value.
Definition: NoiseSource.h:117
NoiseSource & setClipEnabled(bool clipEnabled)
Enable clipping by setting it to true or disable it by setting to false.
Definition: NoiseSource.h:132
+
Definition: PyAABBWrapper.h:7
unsigned long getFixedLifespan()
Obtain the fixed value lifespan.
Definition: NoiseSource.h:158
NoiseSource & setFixedValueRemainingUses(unsigned long remainingUses)
Update remaining uses count for current fixed value.
Definition: NoiseSource.h:186
@@ -102,7 +104,6 @@
double getClipMax()
Obtain the clip max value.
Definition: NoiseSource.h:109
NoiseSource & setFixedLifespan(unsigned long fixedLifespan)
Set the fixed value lifespan.
Definition: NoiseSource.h:168
bool isClipEnabled()
Check if clipping is enabled or not.
Definition: NoiseSource.h:124
-
Wrapper for NoiseSource abstract class.
Definition: PyNoiseSourceWrapper.h:14
RealType next()
Obtain the next default noise value.
Definition: NoiseSource.h:258
diff --git a/doc/html/db/de2/classpyhelios_1_1PyScenePartWrapper-members.html b/doc/html/db/de2/classpyhelios_1_1PyScenePartWrapper-members.html new file mode 100644 index 000000000..c8f6d314c --- /dev/null +++ b/doc/html/db/de2/classpyhelios_1_1PyScenePartWrapper-members.html @@ -0,0 +1,118 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyScenePartWrapper Member List
+
+
+ +

This is the complete list of members for pyhelios::PyScenePartWrapper, including all inherited members.

+ + + + + + + + + + + + +
getId() (defined in pyhelios::PyScenePartWrapper)pyhelios::PyScenePartWrapperinline
getOrigin() (defined in pyhelios::PyScenePartWrapper)pyhelios::PyScenePartWrapperinline
getRotation() (defined in pyhelios::PyScenePartWrapper)pyhelios::PyScenePartWrapperinline
getScale() (defined in pyhelios::PyScenePartWrapper)pyhelios::PyScenePartWrapperinline
PyScenePartWrapper(ScenePart &sp) (defined in pyhelios::PyScenePartWrapper)pyhelios::PyScenePartWrapperinline
setId(std::string id) (defined in pyhelios::PyScenePartWrapper)pyhelios::PyScenePartWrapperinline
setOrigin(double x, double y, double z) (defined in pyhelios::PyScenePartWrapper)pyhelios::PyScenePartWrapperinline
setRotation(double x, double y, double z, double angle) (defined in pyhelios::PyScenePartWrapper)pyhelios::PyScenePartWrapperinline
setScale(double scale) (defined in pyhelios::PyScenePartWrapper)pyhelios::PyScenePartWrapperinline
sp (defined in pyhelios::PyScenePartWrapper)pyhelios::PyScenePartWrapper
~PyScenePartWrapper() (defined in pyhelios::PyScenePartWrapper)pyhelios::PyScenePartWrapperinlinevirtual
+
+ + + + diff --git a/doc/html/db/de7/classpyhelios_1_1PyNoiseSourceWrapper-members.html b/doc/html/db/de7/classpyhelios_1_1PyNoiseSourceWrapper-members.html new file mode 100644 index 000000000..a54e115e1 --- /dev/null +++ b/doc/html/db/de7/classpyhelios_1_1PyNoiseSourceWrapper-members.html @@ -0,0 +1,122 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyNoiseSourceWrapper Member List
+
+
+ +

This is the complete list of members for pyhelios::PyNoiseSourceWrapper, including all inherited members.

+ + + + + + + + + + + + + + + + +
getClipMax() (defined in pyhelios::PyNoiseSourceWrapper)pyhelios::PyNoiseSourceWrapperinline
getClipMin() (defined in pyhelios::PyNoiseSourceWrapper)pyhelios::PyNoiseSourceWrapperinline
getFixedLifespan() (defined in pyhelios::PyNoiseSourceWrapper)pyhelios::PyNoiseSourceWrapperinline
getFixedValueRemainingUses() (defined in pyhelios::PyNoiseSourceWrapper)pyhelios::PyNoiseSourceWrapperinline
isEnabled() (defined in pyhelios::PyNoiseSourceWrapper)pyhelios::PyNoiseSourceWrapperinline
isFixedValueEnabled() (defined in pyhelios::PyNoiseSourceWrapper)pyhelios::PyNoiseSourceWrapperinline
next() (defined in pyhelios::PyNoiseSourceWrapper)pyhelios::PyNoiseSourceWrapperinline
ns (defined in pyhelios::PyNoiseSourceWrapper)pyhelios::PyNoiseSourceWrapper
PyNoiseSourceWrapper(NoiseSource< double > &ns) (defined in pyhelios::PyNoiseSourceWrapper)pyhelios::PyNoiseSourceWrapperinline
setClipMax(double clipMax) (defined in pyhelios::PyNoiseSourceWrapper)pyhelios::PyNoiseSourceWrapperinline
setClipMin(double clipMin) (defined in pyhelios::PyNoiseSourceWrapper)pyhelios::PyNoiseSourceWrapperinline
setEnabled(bool enabled) (defined in pyhelios::PyNoiseSourceWrapper)pyhelios::PyNoiseSourceWrapperinline
setFixedLifespan(unsigned long fixedLifespan) (defined in pyhelios::PyNoiseSourceWrapper)pyhelios::PyNoiseSourceWrapperinline
setFixedValueRemainingUses(unsigned long remainingUses) (defined in pyhelios::PyNoiseSourceWrapper)pyhelios::PyNoiseSourceWrapperinline
~PyNoiseSourceWrapper() (defined in pyhelios::PyNoiseSourceWrapper)pyhelios::PyNoiseSourceWrapperinlinevirtual
+
+ + + + diff --git a/doc/html/db/dff/PyHeliosException_8h_source.html b/doc/html/db/dff/PyHeliosException_8h_source.html index be3486e77..5aeaf472a 100644 --- a/doc/html/db/dff/PyHeliosException_8h_source.html +++ b/doc/html/db/dff/PyHeliosException_8h_source.html @@ -90,10 +90,11 @@
PyHeliosException.h
-
1 #pragma once
2 #ifdef PYTHON_BINDING
3 
4 #include <HeliosException.h>
5 
13 public:
14  PyHeliosException(std::string const msg = "") : HeliosException(msg) {}
15 };
16 
17 #endif
HeliosException(std::string const msg="")
Helios exception constructor.
Definition: HeliosException.h:29
-
Definition: PyHeliosException.h:12
+
1 #pragma once
2 #ifdef PYTHON_BINDING
3 
4 #include <HeliosException.h>
5 
6 namespace pyhelios{
7 
8 
16 public:
17  PyHeliosException(std::string const msg = "") : HeliosException(msg) {}
18 };
19 
20 }
21 
22 #endif
HeliosException(std::string const msg="")
Helios exception constructor.
Definition: HeliosException.h:29
std::string const msg
Helios exception message.
Definition: HeliosException.h:19
+
Definition: PyAABBWrapper.h:7
Base class for Helios exceptions.
Definition: HeliosException.h:12
+
Definition: PyHeliosException.h:15
diff --git a/doc/html/dc/d3f/PySimulationCycleCallback_8h_source.html b/doc/html/dc/d3f/PySimulationCycleCallback_8h_source.html index 78b78fe7b..fc78b44ff 100644 --- a/doc/html/dc/d3f/PySimulationCycleCallback_8h_source.html +++ b/doc/html/dc/d3f/PySimulationCycleCallback_8h_source.html @@ -90,10 +90,11 @@
PySimulationCycleCallback.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <SimulationCycleCallback.h>
6 #include <PyHeliosOutputWrapper.h>
7 #include <boost/python.hpp>
8 
9 using boost::ref;
10 using boost::python::call;
11 
20 public:
21  // *** ATTRIBUTES *** //
22  // ******************** //
23  PyObject *pyCallback;
24 
25  // *** CONSTRUCTION / DESTRUCTION *** //
26  // ************************************ //
27  PySimulationCycleCallback(PyObject *pyCallback) : pyCallback(pyCallback) {}
28  virtual ~PySimulationCycleCallback() {}
29 
30  // *** F U N C T O R *** //
31  // *********************** //
33  std::vector<Measurement> &measurements,
34  std::vector<Trajectory> &trajectories
35  ) {
36  PyHeliosOutputWrapper phow(measurements, trajectories, false);
37  PyGILState_STATE gilState = PyGILState_Ensure();
38  call<void>(pyCallback, ref(phow));
39  PyGILState_Release(gilState);
40  }
41 
42 };
43 
44 
45 #endif
Python callback for each simulation cycle that has been completed.
Definition: PySimulationCycleCallback.h:19
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <SimulationCycleCallback.h>
6 #include <PyHeliosOutputWrapper.h>
7 #include <boost/python.hpp>
8 
9 using boost::ref;
10 using boost::python::call;
11 
12 namespace pyhelios{
13 
22 public:
23  // *** ATTRIBUTES *** //
24  // ******************** //
25  PyObject *pyCallback;
26 
27  // *** CONSTRUCTION / DESTRUCTION *** //
28  // ************************************ //
29  PySimulationCycleCallback(PyObject *pyCallback) : pyCallback(pyCallback) {}
30  virtual ~PySimulationCycleCallback() {}
31 
32  // *** F U N C T O R *** //
33  // *********************** //
35  std::vector<Measurement> &measurements,
36  std::vector<Trajectory> &trajectories
37  ) {
38  PyHeliosOutputWrapper phow(measurements, trajectories, false);
39  PyGILState_STATE gilState = PyGILState_Ensure();
40  call<void>(pyCallback, ref(phow));
41  PyGILState_Release(gilState);
42  }
43 
44 };
45 
46 }
47 
48 #endif
Python wrapper for helios output.
Definition: PyHeliosOutputWrapper.h:18
+
Definition: PyAABBWrapper.h:7
Abstract class to handle simulation cycle callbacks.
Definition: SimulationCycleCallback.h:12
-
Python wrapper for helios output.
Definition: PyHeliosOutputWrapper.h:16
-
void operator()(std::vector< Measurement > &measurements, std::vector< Trajectory > &trajectories)
Callback functor which operates over vector of measurements.
Definition: PySimulationCycleCallback.h:32
+
void operator()(std::vector< Measurement > &measurements, std::vector< Trajectory > &trajectories)
Callback functor which operates over vector of measurements.
Definition: PySimulationCycleCallback.h:34
+
Python callback for each simulation cycle that has been completed.
Definition: PySimulationCycleCallback.h:21
diff --git a/doc/html/dc/d42/classScanner.html b/doc/html/dc/d42/classScanner.html index 74afcf3d9..3517a83f5 100644 --- a/doc/html/dc/d42/classScanner.html +++ b/doc/html/dc/d42/classScanner.html @@ -311,31 +311,31 @@ ScannerHeadgetScannerHead ()  Python wrapper for scanner head access. More...
  -PyBeamDeflectorWrappergetPyBeamDeflector () +PyBeamDeflectorWrappergetPyBeamDeflector ()  Python wrapper for beam deflector access. More...
  -PyDetectorWrappergetPyDetectorWrapper () +PyDetectorWrappergetPyDetectorWrapper ()  Python wrapper for detector access. More...
  -PyIntegerListgetSupportedPulseFrequencies () +PyIntegerListgetSupportedPulseFrequencies ()  Python wrapper for supported pulse frequencies list. More...
  RotationgetRelativeAttitudeByReference ()  Python wrapper for head relative emitter attitude access. More...
  -PythonDVec3getRelativePosition () +PythonDVec3getRelativePosition ()  Python wrapper for head relative emitter position. More...
  -PyNoiseSourceWrappergetIntersectionHandlingNoiseSource () +PyNoiseSourceWrappergetIntersectionHandlingNoiseSource ()  Python wrapper for intersection handling noise source. More...
  -PyRandomnessGeneratorWrappergetRandGen1 () +PyRandomnessGeneratorWrappergetRandGen1 ()  Python wrapper for first randomness generator. More...
  -PyRandomnessGeneratorWrappergetRandGen2 () +PyRandomnessGeneratorWrappergetRandGen2 ()  Python wrapper for second randomness generator. More...
  -PyDoubleVectorgetTimeWave () +PyDoubleVectorgetTimeWave ()  Python wrapper for time wave vector. More...
  - Public Member Functions inherited from Asset @@ -1231,7 +1231,7 @@

- + @@ -1347,7 +1347,7 @@

PyNoiseSourceWrapper* Scanner::getIntersectionHandlingNoiseSource PyNoiseSourceWrapper* Scanner::getIntersectionHandlingNoiseSource ( )
- + @@ -1373,7 +1373,7 @@

PyBeamDeflectorWrapper* Scanner::getPyBeamDeflector PyBeamDeflectorWrapper* Scanner::getPyBeamDeflector ( )
- + @@ -1397,7 +1397,7 @@

PyDetectorWrapper * Scanner::getPyDetectorWrapper PyDetectorWrapper * Scanner::getPyDetectorWrapper ( )
- + @@ -1426,7 +1426,7 @@

PyRandomnessGeneratorWrapper* Scanner::getRandGen1 PyRandomnessGeneratorWrapper* Scanner::getRandGen1 ( )
- + @@ -1513,7 +1513,7 @@

PyRandomnessGeneratorWrapper* Scanner::getRandGen2 PyRandomnessGeneratorWrapper* Scanner::getRandGen2 ( )
- + @@ -1571,7 +1571,7 @@

PythonDVec3* Scanner::getRelativePosition PythonDVec3* Scanner::getRelativePosition ( )
- + @@ -1600,7 +1600,7 @@

PyIntegerList* Scanner::getSupportedPulseFrequencies PyIntegerList* Scanner::getSupportedPulseFrequencies ( )
- + diff --git a/doc/html/dc/d4b/classpyhelios_1_1PyMeasurementVectorWrapper-members.html b/doc/html/dc/d4b/classpyhelios_1_1PyMeasurementVectorWrapper-members.html new file mode 100644 index 000000000..8ba998acd --- /dev/null +++ b/doc/html/dc/d4b/classpyhelios_1_1PyMeasurementVectorWrapper-members.html @@ -0,0 +1,113 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+
PyDoubleVector* Scanner::getTimeWave PyDoubleVector* Scanner::getTimeWave ( )
+ + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+ + + + + + + + + +
+ +
+
+
+ +
+ + + + diff --git a/doc/html/dc/d4f/classpyhelios_1_1PyRandomnessGeneratorWrapper-members.html b/doc/html/dc/d4f/classpyhelios_1_1PyRandomnessGeneratorWrapper-members.html new file mode 100644 index 000000000..28595e296 --- /dev/null +++ b/doc/html/dc/d4f/classpyhelios_1_1PyRandomnessGeneratorWrapper-members.html @@ -0,0 +1,114 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyRandomnessGeneratorWrapper Member List
+
+
+ +

This is the complete list of members for pyhelios::PyRandomnessGeneratorWrapper, including all inherited members.

+ + + + + + + + +
computeNormalDistribution(double mean, double stdev) (defined in pyhelios::PyRandomnessGeneratorWrapper)pyhelios::PyRandomnessGeneratorWrapperinline
computeUniformRealDistribution(double lowerBound, double upperBound) (defined in pyhelios::PyRandomnessGeneratorWrapper)pyhelios::PyRandomnessGeneratorWrapperinline
normalDistributionNext() (defined in pyhelios::PyRandomnessGeneratorWrapper)pyhelios::PyRandomnessGeneratorWrapperinline
PyRandomnessGeneratorWrapper(RandomnessGenerator< double > &rg) (defined in pyhelios::PyRandomnessGeneratorWrapper)pyhelios::PyRandomnessGeneratorWrapperinline
rg (defined in pyhelios::PyRandomnessGeneratorWrapper)pyhelios::PyRandomnessGeneratorWrapper
uniformRealDistributionNext() (defined in pyhelios::PyRandomnessGeneratorWrapper)pyhelios::PyRandomnessGeneratorWrapperinline
~PyRandomnessGeneratorWrapper() (defined in pyhelios::PyRandomnessGeneratorWrapper)pyhelios::PyRandomnessGeneratorWrapperinlinevirtual
+
+ + + + diff --git a/doc/html/dc/d6d/classpyhelios_1_1PythonDVec3-members.html b/doc/html/dc/d6d/classpyhelios_1_1PythonDVec3-members.html new file mode 100644 index 000000000..516117c4f --- /dev/null +++ b/doc/html/dc/d6d/classpyhelios_1_1PythonDVec3-members.html @@ -0,0 +1,118 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PythonDVec3 Member List
+
+
+ +

This is the complete list of members for pyhelios::PythonDVec3, including all inherited members.

+ + + + + + + + + + + + +
getX() (defined in pyhelios::PythonDVec3)pyhelios::PythonDVec3inline
getY() (defined in pyhelios::PythonDVec3)pyhelios::PythonDVec3inline
getZ() (defined in pyhelios::PythonDVec3)pyhelios::PythonDVec3inline
PythonDVec3(glm::dvec3 const v) (defined in pyhelios::PythonDVec3)pyhelios::PythonDVec3inline
PythonDVec3(glm::dvec3 *v) (defined in pyhelios::PythonDVec3)pyhelios::PythonDVec3inline
release (defined in pyhelios::PythonDVec3)pyhelios::PythonDVec3private
setX(double x) (defined in pyhelios::PythonDVec3)pyhelios::PythonDVec3inline
setY(double y) (defined in pyhelios::PythonDVec3)pyhelios::PythonDVec3inline
setZ(double z) (defined in pyhelios::PythonDVec3)pyhelios::PythonDVec3inline
v (defined in pyhelios::PythonDVec3)pyhelios::PythonDVec3
~PythonDVec3() (defined in pyhelios::PythonDVec3)pyhelios::PythonDVec3inlinevirtual
+
+ + + + diff --git a/doc/html/dc/d7a/classSimulationCycleCallback.html b/doc/html/dc/d7a/classSimulationCycleCallback.html index 683246ae4..e3096d2ab 100644 --- a/doc/html/dc/d7a/classSimulationCycleCallback.html +++ b/doc/html/dc/d7a/classSimulationCycleCallback.html @@ -103,7 +103,7 @@
Inheritance graph
- +
[legend]
@@ -169,7 +169,7 @@

Trajectory -

Implemented in PySimulationCycleCallback.

+

Implemented in pyhelios::PySimulationCycleCallback.

diff --git a/doc/html/dc/d7c/VHDynObjectAdapter_8h_source.html b/doc/html/dc/d7c/VHDynObjectAdapter_8h_source.html index 657e8549b..9969e050a 100644 --- a/doc/html/dc/d7c/VHDynObjectAdapter_8h_source.html +++ b/doc/html/dc/d7c/VHDynObjectAdapter_8h_source.html @@ -90,24 +90,24 @@
VHDynObjectAdapter.h
-
1 #ifdef PCL_BINDING
2 
3 #pragma once
4 
5 #include <scene/dynamic/DynObject.h>
6 
7 #include <pcl/common/common_headers.h>
8 #include <pcl/PolygonMesh.h>
9 
10 namespace visualhelios{
11 
20 protected:
21  // *** ATTRIBUTES *** //
22  // ******************** //
35  vector<pcl::Vertices> vertices;
41 
42 public:
43  // *** CONSTRUCTION / DESTRUCTION *** //
44  // ************************************ //
49  VHDynObjectAdapter(DynObject &dynObj) : dynObj(dynObj) {}
50  virtual ~VHDynObjectAdapter() = default;
51 
52  // *** BUILDING *** //
53  // ****************** //
61  void buildPolymesh();
73  virtual void constructPolymesh() = 0;
87  virtual void vertexToMesh(Vertex const & vertex) = 0;
88 
89  // *** DYNAMIC BEHAVIOR *** //
90  // ************************** //
95  void doStep();
96 
97  // *** GETTERS and SETTERS *** //
98  // ***************************** //
107  inline DynObject & getDynObj() {return dynObj;}
113  inline vector<pcl::Vertices> const & getVertices() const
114  {return vertices;}
119  inline string const & getId() const {return dynObj.getId();}
125  inline bool isRenderingNormals() const {return renderingNormals;}
132  inline void setRenderingNormals(bool const renderingNormals)
133  {this->renderingNormals = renderingNormals;}
134 
135 };
136 
137 
138 }
139 
140 #endif
virtual void vertexToMesh(Vertex const &vertex)=0
Add a vertex to the polymesh.
+
1 #ifdef PCL_BINDING
2 
3 #pragma once
4 
5 #include <scene/dynamic/DynObject.h>
6 
7 #include <pcl/common/common_headers.h>
8 #include <pcl/PolygonMesh.h>
9 
10 namespace visualhelios{
11 
20 protected:
21  // *** ATTRIBUTES *** //
22  // ******************** //
35  vector<pcl::Vertices> vertices;
41 
42 public:
43  // *** CONSTRUCTION / DESTRUCTION *** //
44  // ************************************ //
49  VHDynObjectAdapter(DynObject &dynObj) : dynObj(dynObj) {}
50  virtual ~VHDynObjectAdapter() = default;
51 
52  // *** BUILDING *** //
53  // ****************** //
61  void buildPolymesh();
73  virtual void constructPolymesh() = 0;
87  virtual void vertexToMesh(Vertex const & vertex) = 0;
88 
89  // *** DYNAMIC BEHAVIOR *** //
90  // ************************** //
97  bool doStep();
98 
99  // *** GETTERS and SETTERS *** //
100  // ***************************** //
109  inline DynObject & getDynObj() {return dynObj;}
115  inline vector<pcl::Vertices> const & getVertices() const
116  {return vertices;}
121  inline string const & getId() const {return dynObj.getId();}
127  inline bool isRenderingNormals() const {return renderingNormals;}
134  inline void setRenderingNormals(bool const renderingNormals)
135  {this->renderingNormals = renderingNormals;}
136 
137 };
138 
139 
140 }
141 
142 #endif
virtual void vertexToMesh(Vertex const &vertex)=0
Add a vertex to the polymesh.
virtual void constructPolymesh()=0
Instantiate the polymesh object.
Definition: VHDynObjectAdapter.h:10
-
vector< pcl::Vertices > const & getVertices() const
Obtain the ordered vertices indices representing the dynamic object.
Definition: VHDynObjectAdapter.h:113
+
vector< pcl::Vertices > const & getVertices() const
Obtain the ordered vertices indices representing the dynamic object.
Definition: VHDynObjectAdapter.h:115
+
bool doStep()
Method to adapt dynamic object computations over time to visual Helios.
Definition: VHDynObjectAdapter.cpp:32
void buildPolymesh()
Build the polygon mesh from dynamic object primitives. This implies building corresponding vertices v...
Definition: VHDynObjectAdapter.cpp:9
vector< pcl::Vertices > vertices
Dynamic object vertices connection specification through ordered indices for visualization purposes...
Definition: VHDynObjectAdapter.h:35
Dynamic object base implementation.
Definition: DynObject.h:22
-
bool isRenderingNormals() const
Check whether the dynamic object normals must be rendered or not.
Definition: VHDynObjectAdapter.h:125
+
bool isRenderingNormals() const
Check whether the dynamic object normals must be rendered or not.
Definition: VHDynObjectAdapter.h:127
bool renderingNormals
Specify if the dynamic object normals must be rendered (true) or not (false)
Definition: VHDynObjectAdapter.h:40
Abstract class defining core mechanisms to adapt dynamic objects to the visual Helios context based o...
Definition: VHDynObjectAdapter.h:19
DynObject & dynObj
The adapted dynamic object.
Definition: VHDynObjectAdapter.h:27
-
void setRenderingNormals(bool const renderingNormals)
Enable or disable normals rendering for the dynamic object.
Definition: VHDynObjectAdapter.h:132
-
void doStep()
Method to adapt dynamic object computations over time to visual Helios.
Definition: VHDynObjectAdapter.cpp:32
+
void setRenderingNormals(bool const renderingNormals)
Enable or disable normals rendering for the dynamic object.
Definition: VHDynObjectAdapter.h:134
VHDynObjectAdapter(DynObject &dynObj)
Constructor for the visual Helios dynamic object adapter.
Definition: VHDynObjectAdapter.h:49
string const & getId() const
Obtain the ID of the dynamic object.
Definition: DynObject.h:118
-
DynObject & getDynObj()
Obtain the adapted dynamic object.
Definition: VHDynObjectAdapter.h:107
+
DynObject & getDynObj()
Obtain the adapted dynamic object.
Definition: VHDynObjectAdapter.h:109
Class representing a vertex.
Definition: Vertex.h:14
-
string const & getId() const
Obtain the ID of the dynamic object.
Definition: VHDynObjectAdapter.h:119
+
string const & getId() const
Obtain the ID of the dynamic object.
Definition: VHDynObjectAdapter.h:121
diff --git a/doc/html/dc/ddc/classpyhelios_1_1PyNoiseSourceWrapper__coll__graph.map b/doc/html/dc/ddc/classpyhelios_1_1PyNoiseSourceWrapper__coll__graph.map new file mode 100644 index 000000000..ed253c914 --- /dev/null +++ b/doc/html/dc/ddc/classpyhelios_1_1PyNoiseSourceWrapper__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/doc/html/dc/ddc/classpyhelios_1_1PyNoiseSourceWrapper__coll__graph.md5 b/doc/html/dc/ddc/classpyhelios_1_1PyNoiseSourceWrapper__coll__graph.md5 new file mode 100644 index 000000000..7bd388bac --- /dev/null +++ b/doc/html/dc/ddc/classpyhelios_1_1PyNoiseSourceWrapper__coll__graph.md5 @@ -0,0 +1 @@ +6f512dd9cd33854161f40bdcc59c50e7 \ No newline at end of file diff --git a/doc/html/dc/ddc/classpyhelios_1_1PyNoiseSourceWrapper__coll__graph.png b/doc/html/dc/ddc/classpyhelios_1_1PyNoiseSourceWrapper__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..8826b246aaba513c7bf58d1faf9dffdc84593d54 GIT binary patch literal 5746 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 literal 0 HcmV?d00001 diff --git a/doc/html/dc/dea/PyTrajectoryVectorWrapper_8h_source.html b/doc/html/dc/dea/PyTrajectoryVectorWrapper_8h_source.html index a62656eb5..4f9a5f679 100644 --- a/doc/html/dc/dea/PyTrajectoryVectorWrapper_8h_source.html +++ b/doc/html/dc/dea/PyTrajectoryVectorWrapper_8h_source.html @@ -90,9 +90,10 @@
PyTrajectoryVectorWrapper.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyTrajectoryWrapper.h>
6 #include <PyHeliosUtils.h>
7 #include <vector>
8 
18 public:
19  // *** ATTRIBUTES *** //
20  // ******************** //
21  std::vector<Trajectory> allTrajectories;
22 
23  // *** CONSTRUCTION / DESTRUCTION *** //
24  // ************************************ //
25  PyTrajectoryVectorWrapper(std::vector<Trajectory> &allTrajectories) :
26  allTrajectories(allTrajectories) {}
27  virtual ~PyTrajectoryVectorWrapper() {}
28 
29  // *** GETTERS and SETTERS *** //
30  // ***************************** //
31  PyTrajectoryWrapper * get(size_t index){
32  return new PyTrajectoryWrapper(
33  allTrajectories[
34  PyHeliosUtils::handlePythonIndex(index, allTrajectories.size())
35  ]
36  );
37  }
38  void erase(size_t index){
39  allTrajectories.erase(
40  allTrajectories.begin() +
41  PyHeliosUtils::handlePythonIndex(index, allTrajectories.size())
42  );
43  }
44  size_t length() {return allTrajectories.size();}
45 };
46 
47 #endif
static size_t handlePythonIndex(long _index, size_t n)
Translate received index from python, where negative values have a special meaning (i...
Definition: PyHeliosUtils.h:14
-
Python wrapper for helios trajectory.
Definition: PyTrajectoryVectorWrapper.h:17
-
Wrapper for Trajectory class.
Definition: PyTrajectoryWrapper.h:17
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyTrajectoryWrapper.h>
6 #include <PyHeliosUtils.h>
7 #include <vector>
8 
9 namespace pyhelios{
10 
20 public:
21  // *** ATTRIBUTES *** //
22  // ******************** //
23  std::vector<Trajectory> allTrajectories;
24 
25  // *** CONSTRUCTION / DESTRUCTION *** //
26  // ************************************ //
27  PyTrajectoryVectorWrapper(std::vector<Trajectory> &allTrajectories) :
28  allTrajectories(allTrajectories) {}
29  virtual ~PyTrajectoryVectorWrapper() {}
30 
31  // *** GETTERS and SETTERS *** //
32  // ***************************** //
33  PyTrajectoryWrapper * get(size_t index){
34  return new PyTrajectoryWrapper(
35  allTrajectories[
36  PyHeliosUtils::handlePythonIndex(index, allTrajectories.size())
37  ]
38  );
39  }
40  void erase(size_t index){
41  allTrajectories.erase(
42  allTrajectories.begin() +
43  PyHeliosUtils::handlePythonIndex(index, allTrajectories.size())
44  );
45  }
46  size_t length() {return allTrajectories.size();}
47 };
48 
49 }
50 
51 #endif
Python wrapper for helios trajectory.
Definition: PyTrajectoryVectorWrapper.h:19
+
Definition: PyAABBWrapper.h:7
+
Wrapper for Trajectory class.
Definition: PyTrajectoryWrapper.h:19
+
static size_t handlePythonIndex(long _index, size_t n)
Translate received index from python, where negative values have a special meaning (i...
Definition: PyHeliosUtils.h:16
diff --git a/doc/html/dd/d04/classpyhelios_1_1PyTrajectoryWrapper-members.html b/doc/html/dd/d04/classpyhelios_1_1PyTrajectoryWrapper-members.html new file mode 100644 index 000000000..f23d77559 --- /dev/null +++ b/doc/html/dd/d04/classpyhelios_1_1PyTrajectoryWrapper-members.html @@ -0,0 +1,120 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+

+ + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+ + + + + + + + + +
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyTrajectoryWrapper Member List
+
+
+ +

This is the complete list of members for pyhelios::PyTrajectoryWrapper, including all inherited members.

+ + + + + + + + + + + + + + +
getGpsTime() (defined in pyhelios::PyTrajectoryWrapper)pyhelios::PyTrajectoryWrapperinline
getPitch() (defined in pyhelios::PyTrajectoryWrapper)pyhelios::PyTrajectoryWrapperinline
getPosition() (defined in pyhelios::PyTrajectoryWrapper)pyhelios::PyTrajectoryWrapperinline
getRoll() (defined in pyhelios::PyTrajectoryWrapper)pyhelios::PyTrajectoryWrapperinline
getYaw() (defined in pyhelios::PyTrajectoryWrapper)pyhelios::PyTrajectoryWrapperinline
PyTrajectoryWrapper(Trajectory &t) (defined in pyhelios::PyTrajectoryWrapper)pyhelios::PyTrajectoryWrapperinline
setGpsTime(long gpsTime) (defined in pyhelios::PyTrajectoryWrapper)pyhelios::PyTrajectoryWrapperinline
setPitch(double pitch) (defined in pyhelios::PyTrajectoryWrapper)pyhelios::PyTrajectoryWrapperinline
setPosition(double x, double y, double z) (defined in pyhelios::PyTrajectoryWrapper)pyhelios::PyTrajectoryWrapperinline
setRoll(double roll) (defined in pyhelios::PyTrajectoryWrapper)pyhelios::PyTrajectoryWrapperinline
setYaw(double yaw) (defined in pyhelios::PyTrajectoryWrapper)pyhelios::PyTrajectoryWrapperinline
t (defined in pyhelios::PyTrajectoryWrapper)pyhelios::PyTrajectoryWrapper
~PyTrajectoryWrapper() (defined in pyhelios::PyTrajectoryWrapper)pyhelios::PyTrajectoryWrapperinlinevirtual
+
+ + + + diff --git a/doc/html/dd/d40/PythonDVec3_8h_source.html b/doc/html/dd/d40/PythonDVec3_8h_source.html index cda20eed1..9c5b98fbf 100644 --- a/doc/html/dd/d40/PythonDVec3_8h_source.html +++ b/doc/html/dd/d40/PythonDVec3_8h_source.html @@ -90,7 +90,8 @@
PythonDVec3.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <glm/glm.hpp>
6 #include <memory>
7 
14 class PythonDVec3 {
15  // *** ATTRIBUTES *** //
16  // ******************** //
17 private:
18  bool release = 1;
19 
20 public:
21  glm::dvec3 * v = nullptr;
22 
23  // *** CONSTRUCTION *** //
24  // ********************** //
25  PythonDVec3(glm::dvec3 const v) {
26  this->v = new glm::dvec3(v);
27  release = true;
28  }
29  PythonDVec3(glm::dvec3 *v){
30  this->v = v;
31  release = false;
32  }
33  virtual ~PythonDVec3(){
34  if(release && v!=nullptr) delete v;
35  }
36 
37  // *** GETTERS and SETTERS *** //
38  // ***************************** //
39  double getX() {return v->x;}
40  void setX(double x) {v->x = x;}
41  double getY() {return v->y;}
42  void setY(double y) {v->y = y;}
43  double getZ() {return v->z;}
44  void setZ(double z) {v->z = z;}
45 
46 };
47 
48 #endif
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:14
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <glm/glm.hpp>
6 #include <memory>
7 
8 namespace pyhelios{
9 
16 class PythonDVec3 {
17  // *** ATTRIBUTES *** //
18  // ******************** //
19 private:
20  bool release = 1;
21 
22 public:
23  glm::dvec3 * v = nullptr;
24 
25  // *** CONSTRUCTION *** //
26  // ********************** //
27  PythonDVec3(glm::dvec3 const v) {
28  this->v = new glm::dvec3(v);
29  release = true;
30  }
31  PythonDVec3(glm::dvec3 *v){
32  this->v = v;
33  release = false;
34  }
35  virtual ~PythonDVec3(){
36  if(release && v!=nullptr) delete v;
37  }
38 
39  // *** GETTERS and SETTERS *** //
40  // ***************************** //
41  double getX() {return v->x;}
42  void setX(double x) {v->x = x;}
43  double getY() {return v->y;}
44  void setY(double y) {v->y = y;}
45  double getZ() {return v->z;}
46  void setZ(double z) {v->z = z;}
47 
48 };
49 
50 }
51 
52 #endif
Definition: PyAABBWrapper.h:7
+
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:16
diff --git a/doc/html/dd/d69/classpyhelios_1_1PyHeliosUtils.html b/doc/html/dd/d69/classpyhelios_1_1PyHeliosUtils.html new file mode 100644 index 000000000..a215ab56c --- /dev/null +++ b/doc/html/dd/d69/classpyhelios_1_1PyHeliosUtils.html @@ -0,0 +1,164 @@ + + + + + + + +Helios++: pyhelios::PyHeliosUtils Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyHeliosUtils Class Reference
+
+
+ + + + + +

+Static Public Member Functions

static size_t handlePythonIndex (long _index, size_t n)
 Translate received index from python, where negative values have a special meaning (i.e. index -1 means index n-1), to C++ index domain. More...
 
+

Member Function Documentation

+ +

◆ handlePythonIndex()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static size_t pyhelios::PyHeliosUtils::handlePythonIndex (long _index,
size_t n 
)
+
+inlinestatic
+
+ +

Translate received index from python, where negative values have a special meaning (i.e. index -1 means index n-1), to C++ index domain.

+
Parameters
+ + + +
_indexThe index itself
nThe number of elements so n-1 would be the last valid index
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/dd/d69/classpyhelios_1_1PyHeliosUtils.js b/doc/html/dd/d69/classpyhelios_1_1PyHeliosUtils.js new file mode 100644 index 000000000..8bbdfc37b --- /dev/null +++ b/doc/html/dd/d69/classpyhelios_1_1PyHeliosUtils.js @@ -0,0 +1,4 @@ +var classpyhelios_1_1PyHeliosUtils = +[ + [ "handlePythonIndex", "dd/d69/classpyhelios_1_1PyHeliosUtils.html#aa1083c7b1fca0027f9f39234b732bc57", null ] +]; \ No newline at end of file diff --git a/doc/html/dd/d6e/PyMeasurementVectorWrapper_8h_source.html b/doc/html/dd/d6e/PyMeasurementVectorWrapper_8h_source.html index cc07cad43..04f05b555 100644 --- a/doc/html/dd/d6e/PyMeasurementVectorWrapper_8h_source.html +++ b/doc/html/dd/d6e/PyMeasurementVectorWrapper_8h_source.html @@ -90,9 +90,10 @@
PyMeasurementVectorWrapper.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyMeasurementWrapper.h>
6 #include <PyHeliosUtils.h>
7 #include <vector>
8 
19 public:
20  // *** ATTRIBUTES *** //
21  // ******************** //
22  std::vector<Measurement> allMeasurements;
23 
24  // *** CONSTRUCTION / DESTRUCTION *** //
25  // ************************************ //
26  PyMeasurementVectorWrapper(std::vector<Measurement> &allMeasurements) :
27  allMeasurements(allMeasurements) {}
28  virtual ~PyMeasurementVectorWrapper() {}
29 
30  // *** GETTERS and SETTERS *** //
31  // ***************************** //
32  PyMeasurementWrapper * get(long index){
33  return new PyMeasurementWrapper(allMeasurements[
34  PyHeliosUtils::handlePythonIndex(index, allMeasurements.size())
35  ]);
36  }
37  void erase(long index){
38  allMeasurements.erase(
39  allMeasurements.begin() +
40  PyHeliosUtils::handlePythonIndex(index, allMeasurements.size())
41  );
42  }
43  size_t length() {return allMeasurements.size();}
44 
45 };
46 
47 #endif
static size_t handlePythonIndex(long _index, size_t n)
Translate received index from python, where negative values have a special meaning (i...
Definition: PyHeliosUtils.h:14
-
Wrapper for Measurement class.
Definition: PyMeasurementWrapper.h:15
-
Wrapper for std::vector<Measurement> class.
Definition: PyMeasurementVectorWrapper.h:18
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyMeasurementWrapper.h>
6 #include <PyHeliosUtils.h>
7 #include <vector>
8 
9 namespace pyhelios{
10 
21 public:
22  // *** ATTRIBUTES *** //
23  // ******************** //
24  std::vector<Measurement> allMeasurements;
25 
26  // *** CONSTRUCTION / DESTRUCTION *** //
27  // ************************************ //
28  PyMeasurementVectorWrapper(std::vector<Measurement> &allMeasurements) :
29  allMeasurements(allMeasurements) {}
30  virtual ~PyMeasurementVectorWrapper() {}
31 
32  // *** GETTERS and SETTERS *** //
33  // ***************************** //
34  PyMeasurementWrapper * get(long index){
35  return new PyMeasurementWrapper(allMeasurements[
36  PyHeliosUtils::handlePythonIndex(index, allMeasurements.size())
37  ]);
38  }
39  void erase(long index){
40  allMeasurements.erase(
41  allMeasurements.begin() +
42  PyHeliosUtils::handlePythonIndex(index, allMeasurements.size())
43  );
44  }
45  size_t length() {return allMeasurements.size();}
46 
47 };
48 
49 }
50 
51 #endif
Wrapper for Measurement class.
Definition: PyMeasurementWrapper.h:17
+
Definition: PyAABBWrapper.h:7
+
Wrapper for std::vector<Measurement> class.
Definition: PyMeasurementVectorWrapper.h:20
+
static size_t handlePythonIndex(long _index, size_t n)
Translate received index from python, where negative values have a special meaning (i...
Definition: PyHeliosUtils.h:16
diff --git a/doc/html/dd/d8f/classpyhelios_1_1PythonDVec3.html b/doc/html/dd/d8f/classpyhelios_1_1PythonDVec3.html new file mode 100644 index 000000000..3a9eccfa3 --- /dev/null +++ b/doc/html/dd/d8f/classpyhelios_1_1PythonDVec3.html @@ -0,0 +1,162 @@ + + + + + + + +Helios++: pyhelios::PythonDVec3 Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PythonDVec3 Class Reference
+
+
+ +

Wrapper to communicate glm::dvec3 with python. + More...

+ +

#include <PythonDVec3.h>

+ + + + + + + + + + + + + + + + + + +

+Public Member Functions

PythonDVec3 (glm::dvec3 const v)
 
PythonDVec3 (glm::dvec3 *v)
 
+double getX ()
 
+void setX (double x)
 
+double getY ()
 
+void setY (double y)
 
+double getZ ()
 
+void setZ (double z)
 
+ + + +

+Public Attributes

+glm::dvec3 * v = nullptr
 
+ + + +

+Private Attributes

+bool release = 1
 
+

Detailed Description

+

Wrapper to communicate glm::dvec3 with python.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/dd/d8f/classpyhelios_1_1PythonDVec3.js b/doc/html/dd/d8f/classpyhelios_1_1PythonDVec3.js new file mode 100644 index 000000000..3af74a3c9 --- /dev/null +++ b/doc/html/dd/d8f/classpyhelios_1_1PythonDVec3.js @@ -0,0 +1,14 @@ +var classpyhelios_1_1PythonDVec3 = +[ + [ "PythonDVec3", "dd/d8f/classpyhelios_1_1PythonDVec3.html#a67cbced97f9745efd1097c125f653104", null ], + [ "PythonDVec3", "dd/d8f/classpyhelios_1_1PythonDVec3.html#aea81c08797a383341aba3452e9718883", null ], + [ "~PythonDVec3", "dd/d8f/classpyhelios_1_1PythonDVec3.html#a7aba61c1589fcc8ac5768ebeab8ab742", null ], + [ "getX", "dd/d8f/classpyhelios_1_1PythonDVec3.html#adfc9096a61fbf5a73bf893b8d9cc958e", null ], + [ "getY", "dd/d8f/classpyhelios_1_1PythonDVec3.html#a26b177ed4a20398819a64d29280d8d24", null ], + [ "getZ", "dd/d8f/classpyhelios_1_1PythonDVec3.html#a29461405bf33f815991c450e0e256145", null ], + [ "setX", "dd/d8f/classpyhelios_1_1PythonDVec3.html#a4bb2dc82beb9bf0e13bcadee94b2b9f8", null ], + [ "setY", "dd/d8f/classpyhelios_1_1PythonDVec3.html#a804230aa0822f261926d12300df792a6", null ], + [ "setZ", "dd/d8f/classpyhelios_1_1PythonDVec3.html#a51201df49e33ec69a53939739d720cdd", null ], + [ "release", "dd/d8f/classpyhelios_1_1PythonDVec3.html#ad5d0eee2207e0bac52cfdb19934f3e5e", null ], + [ "v", "dd/d8f/classpyhelios_1_1PythonDVec3.html#a84c179101e6dc5589bc88f5242d63ce1", null ] +]; \ No newline at end of file diff --git a/doc/html/dd/df2/PyVertexWrapper_8h_source.html b/doc/html/dd/df2/PyVertexWrapper_8h_source.html index ef343b4ba..92b8f2c82 100644 --- a/doc/html/dd/df2/PyVertexWrapper_8h_source.html +++ b/doc/html/dd/df2/PyVertexWrapper_8h_source.html @@ -90,10 +90,11 @@
PyVertexWrapper.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <Vertex.h>
6 #include <PythonDVec3.h>
7 
16 public:
17  // *** ATTRIBUTE *** //
18  // ******************* //
19  Vertex *v;
20  bool release = true;
21 
22  // *** CONSTRUCTION / DESTRUCTION *** //
23  // ************************************ //
25  this->v = v;
26  release = false;
27  }
28  PyVertexWrapper(Vertex const v){
29  this->v = new Vertex(v);
30  release = true;
31  }
32  virtual ~PyVertexWrapper(){}
33 
34  // *** GETTERS and SETTERS *** //
35  // ***************************** //
36  PythonDVec3 * getPosition() {return new PythonDVec3(&v->pos);}
37  PythonDVec3 * getNormal() {return new PythonDVec3(&v->normal);}
38 };
39 
40 #endif
Wrapper for Vertex class.
Definition: PyVertexWrapper.h:15
-
glm::dvec3 normal
Vertex normal vector.
Definition: Vertex.h:36
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <Vertex.h>
6 #include <PythonDVec3.h>
7 
8 namespace pyhelios{
9 
18 public:
19  // *** ATTRIBUTE *** //
20  // ******************* //
21  Vertex *v;
22  bool release = true;
23 
24  // *** CONSTRUCTION / DESTRUCTION *** //
25  // ************************************ //
27  this->v = v;
28  release = false;
29  }
30  PyVertexWrapper(Vertex const v){
31  this->v = new Vertex(v);
32  release = true;
33  }
34  virtual ~PyVertexWrapper(){}
35 
36  // *** GETTERS and SETTERS *** //
37  // ***************************** //
38  PythonDVec3 * getPosition() {return new PythonDVec3(&v->pos);}
39  PythonDVec3 * getNormal() {return new PythonDVec3(&v->normal);}
40 };
41 
42 }
43 
44 #endif
glm::dvec3 normal
Vertex normal vector.
Definition: Vertex.h:36
+
Definition: PyAABBWrapper.h:7
glm::dvec3 pos
Vertex 3D position.
Definition: Vertex.h:32
-
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:14
+
Wrapper for Vertex class.
Definition: PyVertexWrapper.h:17
+
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:16
Class representing a vertex.
Definition: Vertex.h:14
diff --git a/doc/html/dd/df3/classpyhelios_1_1PyDetailedVoxelWrapper-members.html b/doc/html/dd/df3/classpyhelios_1_1PyDetailedVoxelWrapper-members.html new file mode 100644 index 000000000..8351d3aa2 --- /dev/null +++ b/doc/html/dd/df3/classpyhelios_1_1PyDetailedVoxelWrapper-members.html @@ -0,0 +1,131 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyDetailedVoxelWrapper Member List
+
+
+ +

This is the complete list of members for pyhelios::PyDetailedVoxelWrapper, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
getAABB() (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getCentroid() (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getDoubleValue(size_t index) (defined in pyhelios::PyDetailedVoxelWrapper)pyhelios::PyDetailedVoxelWrapperinline
getIncidenceAngle(double ox, double oy, double oz, double dx, double dy, double dz, double px, double py, double pz) (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getMaterial() (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getMaxPad() (defined in pyhelios::PyDetailedVoxelWrapper)pyhelios::PyDetailedVoxelWrapperinline
getNbEchos() (defined in pyhelios::PyDetailedVoxelWrapper)pyhelios::PyDetailedVoxelWrapperinline
getNbSampling() (defined in pyhelios::PyDetailedVoxelWrapper)pyhelios::PyDetailedVoxelWrapperinline
getNumberOfDoubleValues() (defined in pyhelios::PyDetailedVoxelWrapper)pyhelios::PyDetailedVoxelWrapperinline
getNumVertices() (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getRayIntersection(double ox, double oy, double oz, double dx, double dy, double dz) (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getRayIntersectionDistance(double ox, double oy, double oz, double dx, double dy, double dz) (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getScenePart() (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getVertex(size_t index) (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
prim (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapper
PyDetailedVoxelWrapper(DetailedVoxel *dv) (defined in pyhelios::PyDetailedVoxelWrapper)pyhelios::PyDetailedVoxelWrapperinline
PyPrimitiveWrapper(Primitive *prim) (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
setDoubleValue(size_t index, double value) (defined in pyhelios::PyDetailedVoxelWrapper)pyhelios::PyDetailedVoxelWrapperinline
setMaxPad(double maxPad) (defined in pyhelios::PyDetailedVoxelWrapper)pyhelios::PyDetailedVoxelWrapperinline
setNbEchos(int nbEchos) (defined in pyhelios::PyDetailedVoxelWrapper)pyhelios::PyDetailedVoxelWrapperinline
setNbSampling(int nbSampling) (defined in pyhelios::PyDetailedVoxelWrapper)pyhelios::PyDetailedVoxelWrapperinline
update() (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
~PyDetailedVoxelWrapper()=default (defined in pyhelios::PyDetailedVoxelWrapper)pyhelios::PyDetailedVoxelWrappervirtual
~PyPrimitiveWrapper()=default (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrappervirtual
+
+ + + + diff --git a/doc/html/dd/df5/PyRaySceneIntersectionWrapper_8h_source.html b/doc/html/dd/df5/PyRaySceneIntersectionWrapper_8h_source.html index b6bb14c15..6add7ac40 100644 --- a/doc/html/dd/df5/PyRaySceneIntersectionWrapper_8h_source.html +++ b/doc/html/dd/df5/PyRaySceneIntersectionWrapper_8h_source.html @@ -90,13 +90,14 @@
PyRaySceneIntersectionWrapper.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PythonDVec3.h>
6 
15 public:
16  // *** ATTRIBUTES *** //
17  // ******************** //
19 
20  // *** CONSTRUCTION / DESTRUCTION *** //
21  // ************************************ //
23  rsi(new RaySceneIntersection(rsi)) {}
24  virtual ~PyRaySceneIntersectionWrapper() {delete rsi;}
25 
26  // *** GETTERS and SETTERS *** //
27  // ***************************** //
28  PyPrimitiveWrapper * getPrimitive()
29  {return new PyPrimitiveWrapper(rsi->prim);}
30  PythonDVec3 * getPoint()
31  {return new PythonDVec3(rsi->point);}
32  double getIncidenceAngle() {return rsi->incidenceAngle;}
33  void setIncidenceAngle(double incidenceAngle)
34  {rsi->incidenceAngle = incidenceAngle;}
35 
36 };
37 
38 #endif
glm::dvec3 point
Intersection point.
Definition: RaySceneIntersection.h:23
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PythonDVec3.h>
6 
7 namespace pyhelios{
8 
17 public:
18  // *** ATTRIBUTES *** //
19  // ******************** //
21 
22  // *** CONSTRUCTION / DESTRUCTION *** //
23  // ************************************ //
25  rsi(new RaySceneIntersection(rsi)) {}
26  virtual ~PyRaySceneIntersectionWrapper() {delete rsi;}
27 
28  // *** GETTERS and SETTERS *** //
29  // ***************************** //
30  PyPrimitiveWrapper * getPrimitive()
31  {return new PyPrimitiveWrapper(rsi->prim);}
32  PythonDVec3 * getPoint()
33  {return new PythonDVec3(rsi->point);}
34  double getIncidenceAngle() {return rsi->incidenceAngle;}
35  void setIncidenceAngle(double incidenceAngle)
36  {rsi->incidenceAngle = incidenceAngle;}
37 
38 };
39 
40 }
41 
42 #endif
glm::dvec3 point
Intersection point.
Definition: RaySceneIntersection.h:23
+
Wrapper for Primitive class.
Definition: PyPrimitiveWrapper.h:20
Primitive * prim
Primitive intersected by the ray.
Definition: RaySceneIntersection.h:19
+
Definition: PyAABBWrapper.h:7
Class representing a the intersection of a ray over a scene made of primitives.
Definition: RaySceneIntersection.h:12
-
Wrapper for RaySceneIntersection.
Definition: PyRaySceneIntersectionWrapper.h:14
-
Wrapper for Primitive class.
Definition: PyPrimitiveWrapper.h:18
+
Wrapper for RaySceneIntersection.
Definition: PyRaySceneIntersectionWrapper.h:16
double incidenceAngle
Intersection incidence angle.
Definition: RaySceneIntersection.h:27
-
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:14
+
Wrapper to communicate glm::dvec3 with python.
Definition: PythonDVec3.h:16
diff --git a/doc/html/de/d3c/classvisualhelios_1_1VHDynObjectXYZAdapter.html b/doc/html/de/d3c/classvisualhelios_1_1VHDynObjectXYZAdapter.html index de26dc414..4fa48008e 100644 --- a/doc/html/de/d3c/classvisualhelios_1_1VHDynObjectXYZAdapter.html +++ b/doc/html/de/d3c/classvisualhelios_1_1VHDynObjectXYZAdapter.html @@ -136,10 +136,9 @@ void buildPolymesh ()  Build the polygon mesh from dynamic object primitives. This implies building corresponding vertices vector too. More...
  - -void doStep () - Method to adapt dynamic object computations over time to visual Helios.
-  +bool doStep () + Method to adapt dynamic object computations over time to visual Helios. More...
DynObjectgetDynObj ()  Obtain the adapted dynamic object. More...
  diff --git a/doc/html/de/dd8/classpyhelios_1_1PyAABBWrapper-members.html b/doc/html/de/dd8/classpyhelios_1_1PyAABBWrapper-members.html new file mode 100644 index 000000000..ebac0b393 --- /dev/null +++ b/doc/html/de/dd8/classpyhelios_1_1PyAABBWrapper-members.html @@ -0,0 +1,112 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyAABBWrapper Member List
+
+
+ +

This is the complete list of members for pyhelios::PyAABBWrapper, including all inherited members.

+ + + + + + +
aabb (defined in pyhelios::PyAABBWrapper)pyhelios::PyAABBWrapper
getMaxVertex() (defined in pyhelios::PyAABBWrapper)pyhelios::PyAABBWrapperinline
getMinVertex() (defined in pyhelios::PyAABBWrapper)pyhelios::PyAABBWrapperinline
PyAABBWrapper(AABB *aabb) (defined in pyhelios::PyAABBWrapper)pyhelios::PyAABBWrapperinline
~PyAABBWrapper()=default (defined in pyhelios::PyAABBWrapper)pyhelios::PyAABBWrappervirtual
+
+ + + + diff --git a/doc/html/de/ddf/classpyhelios_1_1PyDetectorWrapper.html b/doc/html/de/ddf/classpyhelios_1_1PyDetectorWrapper.html new file mode 100644 index 000000000..065f48cc6 --- /dev/null +++ b/doc/html/de/ddf/classpyhelios_1_1PyDetectorWrapper.html @@ -0,0 +1,161 @@ + + + + + + + +Helios++: pyhelios::PyDetectorWrapper Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyDetectorWrapper Class Reference
+
+
+ +

Wrapper for AbstractDetector class. + More...

+ +

#include <PyDetectorWrapper.h>

+
+Collaboration diagram for pyhelios::PyDetectorWrapper:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + + + + + + +

+Public Member Functions

PyDetectorWrapper (std::shared_ptr< AbstractDetector > detector)
 
+double getAccuracy ()
 
+void setAccuracy (double accuracy)
 
+double getRangeMin ()
 
+void setRangeMin (double rangeMin)
 
+double getLasScale ()
 
+void setLasScale (double lasScale)
 
+ + + +

+Public Attributes

+AbstractDetectordetector
 
+

Detailed Description

+

Wrapper for AbstractDetector class.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+
See also
AbstractDetector
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/de/ddf/classpyhelios_1_1PyDetectorWrapper.js b/doc/html/de/ddf/classpyhelios_1_1PyDetectorWrapper.js new file mode 100644 index 000000000..ab57d8ae3 --- /dev/null +++ b/doc/html/de/ddf/classpyhelios_1_1PyDetectorWrapper.js @@ -0,0 +1,12 @@ +var classpyhelios_1_1PyDetectorWrapper = +[ + [ "PyDetectorWrapper", "de/ddf/classpyhelios_1_1PyDetectorWrapper.html#a0e59e046624e17d01ca773c86c6665ec", null ], + [ "~PyDetectorWrapper", "de/ddf/classpyhelios_1_1PyDetectorWrapper.html#a658c1899cc334f9478e5065b468b8c41", null ], + [ "getAccuracy", "de/ddf/classpyhelios_1_1PyDetectorWrapper.html#a287e3d85f2f6e66d4f7a6ba4ed1a70d4", null ], + [ "getLasScale", "de/ddf/classpyhelios_1_1PyDetectorWrapper.html#ad1e41eaf318d5208f285c50607eba1a4", null ], + [ "getRangeMin", "de/ddf/classpyhelios_1_1PyDetectorWrapper.html#aa52bc094586c562d5d0da0c2c534c60a", null ], + [ "setAccuracy", "de/ddf/classpyhelios_1_1PyDetectorWrapper.html#a606297ded304bc2feec5bde5b8b45d06", null ], + [ "setLasScale", "de/ddf/classpyhelios_1_1PyDetectorWrapper.html#a96cbb4c2e189da629908d045b78e4bfd", null ], + [ "setRangeMin", "de/ddf/classpyhelios_1_1PyDetectorWrapper.html#ac6281b87c6f12158cc93f3f312aa444c", null ], + [ "detector", "de/ddf/classpyhelios_1_1PyDetectorWrapper.html#a7843dcd4d9f7b9cbfadc3c48e3b1efce", null ] +]; \ No newline at end of file diff --git a/doc/html/de/de2/classpyhelios_1_1PySceneWrapper-members.html b/doc/html/de/de2/classpyhelios_1_1PySceneWrapper-members.html new file mode 100644 index 000000000..c2eb46753 --- /dev/null +++ b/doc/html/de/de2/classpyhelios_1_1PySceneWrapper-members.html @@ -0,0 +1,119 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PySceneWrapper Member List
+
+
+ +

This is the complete list of members for pyhelios::PySceneWrapper, including all inherited members.

+ + + + + + + + + + + + + +
finalizeLoading() (defined in pyhelios::PySceneWrapper)pyhelios::PySceneWrapperinline
getAABB() (defined in pyhelios::PySceneWrapper)pyhelios::PySceneWrapperinline
getGroundPointAt(double x, double y, double z) (defined in pyhelios::PySceneWrapper)pyhelios::PySceneWrapperinline
getIntersection(double ox, double oy, double oz, double dx, double dy, double dz, bool groundOnly) (defined in pyhelios::PySceneWrapper)pyhelios::PySceneWrapperinline
getPrimitive(size_t index) (defined in pyhelios::PySceneWrapper)pyhelios::PySceneWrapperinline
getShift() (defined in pyhelios::PySceneWrapper)pyhelios::PySceneWrapperinline
newDetailedVoxel() (defined in pyhelios::PySceneWrapper)pyhelios::PySceneWrapperinline
newTriangle() (defined in pyhelios::PySceneWrapper)pyhelios::PySceneWrapperinline
PySceneWrapper(Scene &scene) (defined in pyhelios::PySceneWrapper)pyhelios::PySceneWrapperinline
scene (defined in pyhelios::PySceneWrapper)pyhelios::PySceneWrapper
writeObject(std::string path) (defined in pyhelios::PySceneWrapper)pyhelios::PySceneWrapperinline
~PySceneWrapper() (defined in pyhelios::PySceneWrapper)pyhelios::PySceneWrapperinlinevirtual
+
+ + + + diff --git a/doc/html/de/de6/classvisualhelios_1_1VHDynObjectXYZRGBAdapter-members.html b/doc/html/de/de6/classvisualhelios_1_1VHDynObjectXYZRGBAdapter-members.html index cd55bba76..220335346 100644 --- a/doc/html/de/de6/classvisualhelios_1_1VHDynObjectXYZRGBAdapter-members.html +++ b/doc/html/de/de6/classvisualhelios_1_1VHDynObjectXYZRGBAdapter-members.html @@ -95,7 +95,7 @@ - + diff --git a/doc/html/de/df3/classpyhelios_1_1PyAABBWrapper.html b/doc/html/de/df3/classpyhelios_1_1PyAABBWrapper.html new file mode 100644 index 000000000..94c7bbdb0 --- /dev/null +++ b/doc/html/de/df3/classpyhelios_1_1PyAABBWrapper.html @@ -0,0 +1,152 @@ + + + + + + + +Helios++: pyhelios::PyAABBWrapper Class Reference + + + + + + + + + + + + + + + +
+
+
buildPolymesh()visualhelios::VHDynObjectAdapter
constructPolymesh() overridevisualhelios::VHDynObjectXYZRGBAdaptervirtual
doStep()visualhelios::VHDynObjectAdapter
doStep()visualhelios::VHDynObjectAdapter
dynObjvisualhelios::VHDynObjectAdapterprotected
getDynObj()visualhelios::VHDynObjectAdapterinline
getId() constvisualhelios::VHDynObjectAdapterinline
+ + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+ + + + + + + + + +
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyAABBWrapper Class Reference
+
+
+ +

Wrapper for AABB class. + More...

+ +

#include <PyAABBWrapper.h>

+
+Collaboration diagram for pyhelios::PyAABBWrapper:
+
+
Collaboration graph
+ + + + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

PyAABBWrapper (AABB *aabb)
 
+PyVertexWrappergetMinVertex ()
 
+PyVertexWrappergetMaxVertex ()
 
+ + + +

+Public Attributes

+AABBaabb
 
+

Detailed Description

+

Wrapper for AABB class.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+
See also
AABB
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/de/df3/classpyhelios_1_1PyAABBWrapper.js b/doc/html/de/df3/classpyhelios_1_1PyAABBWrapper.js new file mode 100644 index 000000000..1b1587050 --- /dev/null +++ b/doc/html/de/df3/classpyhelios_1_1PyAABBWrapper.js @@ -0,0 +1,8 @@ +var classpyhelios_1_1PyAABBWrapper = +[ + [ "PyAABBWrapper", "de/df3/classpyhelios_1_1PyAABBWrapper.html#abe9bb2452be1562a4e3939ccdf44e103", null ], + [ "~PyAABBWrapper", "de/df3/classpyhelios_1_1PyAABBWrapper.html#a7172d27a09604db00530202cb8901ff5", null ], + [ "getMaxVertex", "de/df3/classpyhelios_1_1PyAABBWrapper.html#ad55ab30ca62f5d0bed403bb681087a01", null ], + [ "getMinVertex", "de/df3/classpyhelios_1_1PyAABBWrapper.html#a450cdd26204f94aeab41d621f4a93091", null ], + [ "aabb", "de/df3/classpyhelios_1_1PyAABBWrapper.html#a927ebfa167e7c03ba1cd285a8967b2e2", null ] +]; \ No newline at end of file diff --git a/doc/html/de/df5/classpyhelios_1_1PyPrimitiveWrapper.html b/doc/html/de/df5/classpyhelios_1_1PyPrimitiveWrapper.html new file mode 100644 index 000000000..d8b4d99c6 --- /dev/null +++ b/doc/html/de/df5/classpyhelios_1_1PyPrimitiveWrapper.html @@ -0,0 +1,182 @@ + + + + + + + +Helios++: pyhelios::PyPrimitiveWrapper Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyPrimitiveWrapper Class Reference
+
+
+ +

Wrapper for Primitive class. + More...

+ +

#include <PyPrimitiveWrapper.h>

+
+Inheritance diagram for pyhelios::PyPrimitiveWrapper:
+
+
Inheritance graph
+ + + + +
[legend]
+
+Collaboration diagram for pyhelios::PyPrimitiveWrapper:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PyPrimitiveWrapper (Primitive *prim)
 
+PyScenePartWrappergetScenePart ()
 
+MaterialgetMaterial ()
 
+PyAABBWrappergetAABB ()
 
+PythonDVec3getCentroid ()
 
+double getIncidenceAngle (double ox, double oy, double oz, double dx, double dy, double dz, double px, double py, double pz)
 
+PyDoubleVectorgetRayIntersection (double ox, double oy, double oz, double dx, double dy, double dz)
 
+double getRayIntersectionDistance (double ox, double oy, double oz, double dx, double dy, double dz)
 
+size_t getNumVertices ()
 
+PyVertexWrappergetVertex (size_t index)
 
+void update ()
 
+ + + +

+Public Attributes

+Primitiveprim = nullptr
 
+

Detailed Description

+

Wrapper for Primitive class.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+
See also
Primitive
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/de/df5/classpyhelios_1_1PyPrimitiveWrapper.js b/doc/html/de/df5/classpyhelios_1_1PyPrimitiveWrapper.js new file mode 100644 index 000000000..b56f8a8ff --- /dev/null +++ b/doc/html/de/df5/classpyhelios_1_1PyPrimitiveWrapper.js @@ -0,0 +1,16 @@ +var classpyhelios_1_1PyPrimitiveWrapper = +[ + [ "PyPrimitiveWrapper", "de/df5/classpyhelios_1_1PyPrimitiveWrapper.html#a995297ff0af641d9e7e29566f8d47b98", null ], + [ "~PyPrimitiveWrapper", "de/df5/classpyhelios_1_1PyPrimitiveWrapper.html#a4c9aa8d08f11a586d99499a0bf155c02", null ], + [ "getAABB", "de/df5/classpyhelios_1_1PyPrimitiveWrapper.html#a257b1a6b6125a2f8e69deef89f2ba82e", null ], + [ "getCentroid", "de/df5/classpyhelios_1_1PyPrimitiveWrapper.html#a76a8c7a42aebaf474b9523edda28f29b", null ], + [ "getIncidenceAngle", "de/df5/classpyhelios_1_1PyPrimitiveWrapper.html#a5218965fa542e3d39347c87a12e8bcab", null ], + [ "getMaterial", "de/df5/classpyhelios_1_1PyPrimitiveWrapper.html#aa17d2551f927721eb8cdc025ee6ecb9f", null ], + [ "getNumVertices", "de/df5/classpyhelios_1_1PyPrimitiveWrapper.html#abb91a6162abc81becfaa69f3a052c25d", null ], + [ "getRayIntersection", "de/df5/classpyhelios_1_1PyPrimitiveWrapper.html#a66a996b8be8f1590922b6af0b5648ab2", null ], + [ "getRayIntersectionDistance", "de/df5/classpyhelios_1_1PyPrimitiveWrapper.html#a68fa04485e26b5859c9855c7fbaf69d0", null ], + [ "getScenePart", "de/df5/classpyhelios_1_1PyPrimitiveWrapper.html#a89002a55b2e02962d5b907568589465b", null ], + [ "getVertex", "de/df5/classpyhelios_1_1PyPrimitiveWrapper.html#a9d5435856f4c43b9884e9889ee5e32e6", null ], + [ "update", "de/df5/classpyhelios_1_1PyPrimitiveWrapper.html#ae4174e66e4a5b80f7499bb383c6173c6", null ], + [ "prim", "de/df5/classpyhelios_1_1PyPrimitiveWrapper.html#ab45cd105806028bee6525ee17bf921ca", null ] +]; \ No newline at end of file diff --git a/doc/html/de/df6/classpyhelios_1_1PyBeamDeflectorWrapper__coll__graph.map b/doc/html/de/df6/classpyhelios_1_1PyBeamDeflectorWrapper__coll__graph.map new file mode 100644 index 000000000..55acc5250 --- /dev/null +++ b/doc/html/de/df6/classpyhelios_1_1PyBeamDeflectorWrapper__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/doc/html/de/df6/classpyhelios_1_1PyBeamDeflectorWrapper__coll__graph.md5 b/doc/html/de/df6/classpyhelios_1_1PyBeamDeflectorWrapper__coll__graph.md5 new file mode 100644 index 000000000..2ed377ca4 --- /dev/null +++ b/doc/html/de/df6/classpyhelios_1_1PyBeamDeflectorWrapper__coll__graph.md5 @@ -0,0 +1 @@ +e5d5f9c064b1bda9d25964e3e2e9e414 \ No newline at end of file diff --git a/doc/html/de/df6/classpyhelios_1_1PyBeamDeflectorWrapper__coll__graph.png b/doc/html/de/df6/classpyhelios_1_1PyBeamDeflectorWrapper__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..a0868f90a61a7a680094a4e955a17a79a216cce0 GIT binary patch literal 10323 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 literal 0 HcmV?d00001 diff --git a/doc/html/df/d20/PyDetailedVoxelWrapper_8h_source.html b/doc/html/df/d20/PyDetailedVoxelWrapper_8h_source.html index 8519d71df..e0ac5d3a6 100644 --- a/doc/html/df/d20/PyDetailedVoxelWrapper_8h_source.html +++ b/doc/html/df/d20/PyDetailedVoxelWrapper_8h_source.html @@ -90,9 +90,10 @@
PyDetailedVoxelWrapper.h
-
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyPrimitiveWrapper.h>
6 
15 public:
16  // *** CONSTRUCTION / DESTRUCTION *** //
17  // ************************************ //
19  virtual ~PyDetailedVoxelWrapper() = default;
20 
21  // *** GETTERS and SETTERS *** //
22  // ***************************** //
23  int getNbEchos() {return ((DetailedVoxel *)prim)->getNbEchos(); }
24  void setNbEchos(int nbEchos)
25  {((DetailedVoxel *)prim)->setNbEchos(nbEchos); }
26  int getNbSampling() {return ((DetailedVoxel *)prim)->getNbSampling(); }
27  void setNbSampling(int nbSampling)
28  {((DetailedVoxel *)prim)->setNbSampling(nbSampling); }
29  size_t getNumberOfDoubleValues()
30  {return ((DetailedVoxel *)prim)->getNumberOfDoubleValues();}
31  double getDoubleValue(size_t index)
32  {return ((DetailedVoxel *)prim)->getDoubleValue(index);}
33  void setDoubleValue(size_t index, double value)
34  {((DetailedVoxel *)prim)->setDoubleValue(index, value);}
35  double getMaxPad() {return ((DetailedVoxel *)prim)->getMaxPad();}
36  void setMaxPad(double maxPad) {((DetailedVoxel *)prim)->setMaxPad(maxPad);}
37 };
38 
39 #endif
Class which extends Voxel to support AMAPVox format with extra features.
Definition: DetailedVoxel.h:12
-
Wrapper for DetailedVoxel class.
Definition: PyDetailedVoxelWrapper.h:14
-
Wrapper for Primitive class.
Definition: PyPrimitiveWrapper.h:18
+
1 #pragma once
2 
3 #ifdef PYTHON_BINDING
4 
5 #include <PyPrimitiveWrapper.h>
6 
7 namespace pyhelios{
8 
17 public:
18  // *** CONSTRUCTION / DESTRUCTION *** //
19  // ************************************ //
21  virtual ~PyDetailedVoxelWrapper() = default;
22 
23  // *** GETTERS and SETTERS *** //
24  // ***************************** //
25  int getNbEchos() {return ((DetailedVoxel *)prim)->getNbEchos(); }
26  void setNbEchos(int nbEchos)
27  {((DetailedVoxel *)prim)->setNbEchos(nbEchos); }
28  int getNbSampling() {return ((DetailedVoxel *)prim)->getNbSampling(); }
29  void setNbSampling(int nbSampling)
30  {((DetailedVoxel *)prim)->setNbSampling(nbSampling); }
31  size_t getNumberOfDoubleValues()
32  {return ((DetailedVoxel *)prim)->getNumberOfDoubleValues();}
33  double getDoubleValue(size_t index)
34  {return ((DetailedVoxel *)prim)->getDoubleValue(index);}
35  void setDoubleValue(size_t index, double value)
36  {((DetailedVoxel *)prim)->setDoubleValue(index, value);}
37  double getMaxPad() {return ((DetailedVoxel *)prim)->getMaxPad();}
38  void setMaxPad(double maxPad) {((DetailedVoxel *)prim)->setMaxPad(maxPad);}
39 };
40 
41 }
42 
43 #endif
Wrapper for Primitive class.
Definition: PyPrimitiveWrapper.h:20
+
Definition: PyAABBWrapper.h:7
+
Class which extends Voxel to support AMAPVox format with extra features.
Definition: DetailedVoxel.h:12
+
Wrapper for DetailedVoxel class.
Definition: PyDetailedVoxelWrapper.h:16
diff --git a/doc/html/df/d28/classpyhelios_1_1PyScenePartWrapper.html b/doc/html/df/d28/classpyhelios_1_1PyScenePartWrapper.html new file mode 100644 index 000000000..17ca45fe4 --- /dev/null +++ b/doc/html/df/d28/classpyhelios_1_1PyScenePartWrapper.html @@ -0,0 +1,168 @@ + + + + + + + +Helios++: pyhelios::PyScenePartWrapper Class Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
pyhelios::PyScenePartWrapper Class Reference
+
+
+ +

Wrapper for ScenePart class. + More...

+ +

#include <PyScenePartWrapper.h>

+
+Collaboration diagram for pyhelios::PyScenePartWrapper:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PyScenePartWrapper (ScenePart &sp)
 
+std::string getId ()
 
+void setId (std::string id)
 
+PythonDVec3getOrigin ()
 
+void setOrigin (double x, double y, double z)
 
+RotationgetRotation ()
 
+void setRotation (double x, double y, double z, double angle)
 
+double getScale ()
 
+void setScale (double scale)
 
+ + + +

+Public Attributes

+ScenePartsp
 
+

Detailed Description

+

Wrapper for ScenePart class.

+
Author
Alberto M. Esmoris Pena
+
Version
1.0
+
See also
ScenePart
+

The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/doc/html/df/d28/classpyhelios_1_1PyScenePartWrapper.js b/doc/html/df/d28/classpyhelios_1_1PyScenePartWrapper.js new file mode 100644 index 000000000..b707aab3d --- /dev/null +++ b/doc/html/df/d28/classpyhelios_1_1PyScenePartWrapper.js @@ -0,0 +1,14 @@ +var classpyhelios_1_1PyScenePartWrapper = +[ + [ "PyScenePartWrapper", "df/d28/classpyhelios_1_1PyScenePartWrapper.html#afca54e236eed8d5ac340894f71c69de1", null ], + [ "~PyScenePartWrapper", "df/d28/classpyhelios_1_1PyScenePartWrapper.html#a049f070632b0ead3d24fdbec750ad699", null ], + [ "getId", "df/d28/classpyhelios_1_1PyScenePartWrapper.html#a5e6d5d9373607d33844ce7ccfa549a7f", null ], + [ "getOrigin", "df/d28/classpyhelios_1_1PyScenePartWrapper.html#a0b1d8768deb1cfce4429514c42e57bea", null ], + [ "getRotation", "df/d28/classpyhelios_1_1PyScenePartWrapper.html#ae99d87fb5bc9514c9e05ecdb64568e52", null ], + [ "getScale", "df/d28/classpyhelios_1_1PyScenePartWrapper.html#ae0e47ad0779c19947d39eee1ad7f1fcb", null ], + [ "setId", "df/d28/classpyhelios_1_1PyScenePartWrapper.html#a6b14c112db92e59191eb2c76c4b35c3f", null ], + [ "setOrigin", "df/d28/classpyhelios_1_1PyScenePartWrapper.html#a3454d275b23e260feca03c0aa5ac9545", null ], + [ "setRotation", "df/d28/classpyhelios_1_1PyScenePartWrapper.html#a7d3b265fab1859052d308364bb8e3c23", null ], + [ "setScale", "df/d28/classpyhelios_1_1PyScenePartWrapper.html#a7381ace40d4b117a87c42f8c6378b91d", null ], + [ "sp", "df/d28/classpyhelios_1_1PyScenePartWrapper.html#aa00f66985e6eed3fa2c3090f7490ba1b", null ] +]; \ No newline at end of file diff --git a/doc/html/df/d33/classpyhelios_1_1PyHeliosException-members.html b/doc/html/df/d33/classpyhelios_1_1PyHeliosException-members.html new file mode 100644 index 000000000..81e61d1c1 --- /dev/null +++ b/doc/html/df/d33/classpyhelios_1_1PyHeliosException-members.html @@ -0,0 +1,111 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyHeliosException Member List
+
+
+ +

This is the complete list of members for pyhelios::PyHeliosException, including all inherited members.

+ + + + + +
HeliosException(std::string const msg="")HeliosExceptioninline
msgHeliosExceptionprotected
PyHeliosException(std::string const msg="") (defined in pyhelios::PyHeliosException)pyhelios::PyHeliosExceptioninline
what() const noexcept overrideHeliosExceptioninline
+
+ + + + diff --git a/doc/html/df/d3e/classpyhelios_1_1PyPrimitiveWrapper-members.html b/doc/html/df/d3e/classpyhelios_1_1PyPrimitiveWrapper-members.html new file mode 100644 index 000000000..f3d6b33ec --- /dev/null +++ b/doc/html/df/d3e/classpyhelios_1_1PyPrimitiveWrapper-members.html @@ -0,0 +1,120 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyPrimitiveWrapper Member List
+
+
+ +

This is the complete list of members for pyhelios::PyPrimitiveWrapper, including all inherited members.

+ + + + + + + + + + + + + + +
getAABB() (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getCentroid() (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getIncidenceAngle(double ox, double oy, double oz, double dx, double dy, double dz, double px, double py, double pz) (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getMaterial() (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getNumVertices() (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getRayIntersection(double ox, double oy, double oz, double dx, double dy, double dz) (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getRayIntersectionDistance(double ox, double oy, double oz, double dx, double dy, double dz) (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getScenePart() (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
getVertex(size_t index) (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
prim (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapper
PyPrimitiveWrapper(Primitive *prim) (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
update() (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrapperinline
~PyPrimitiveWrapper()=default (defined in pyhelios::PyPrimitiveWrapper)pyhelios::PyPrimitiveWrappervirtual
+
+ + + + diff --git a/doc/html/df/d65/classpyhelios_1_1PyAABBWrapper__coll__graph.map b/doc/html/df/d65/classpyhelios_1_1PyAABBWrapper__coll__graph.map new file mode 100644 index 000000000..a120c832e --- /dev/null +++ b/doc/html/df/d65/classpyhelios_1_1PyAABBWrapper__coll__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/doc/html/df/d65/classpyhelios_1_1PyAABBWrapper__coll__graph.md5 b/doc/html/df/d65/classpyhelios_1_1PyAABBWrapper__coll__graph.md5 new file mode 100644 index 000000000..b7dd4c227 --- /dev/null +++ b/doc/html/df/d65/classpyhelios_1_1PyAABBWrapper__coll__graph.md5 @@ -0,0 +1 @@ +86f1e58203679bf3de263df8bce4423f \ No newline at end of file diff --git a/doc/html/df/d65/classpyhelios_1_1PyAABBWrapper__coll__graph.png b/doc/html/df/d65/classpyhelios_1_1PyAABBWrapper__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..fb7ca848183075f19866b3d7f0c8cc3e5909bf09 GIT binary patch literal 10370 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 + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PyDetectorWrapper Member List
+
+
+ +

This is the complete list of members for pyhelios::PyDetectorWrapper, including all inherited members.

+ + + + + + + + + + +
detector (defined in pyhelios::PyDetectorWrapper)pyhelios::PyDetectorWrapper
getAccuracy() (defined in pyhelios::PyDetectorWrapper)pyhelios::PyDetectorWrapperinline
getLasScale() (defined in pyhelios::PyDetectorWrapper)pyhelios::PyDetectorWrapperinline
getRangeMin() (defined in pyhelios::PyDetectorWrapper)pyhelios::PyDetectorWrapperinline
PyDetectorWrapper(std::shared_ptr< AbstractDetector > detector) (defined in pyhelios::PyDetectorWrapper)pyhelios::PyDetectorWrapperinline
setAccuracy(double accuracy) (defined in pyhelios::PyDetectorWrapper)pyhelios::PyDetectorWrapperinline
setLasScale(double lasScale) (defined in pyhelios::PyDetectorWrapper)pyhelios::PyDetectorWrapperinline
setRangeMin(double rangeMin) (defined in pyhelios::PyDetectorWrapper)pyhelios::PyDetectorWrapperinline
~PyDetectorWrapper() (defined in pyhelios::PyDetectorWrapper)pyhelios::PyDetectorWrapperinlinevirtual
+
+ + + + diff --git a/doc/html/df/dcd/classpyhelios_1_1PySimulationCycleCallback-members.html b/doc/html/df/dcd/classpyhelios_1_1PySimulationCycleCallback-members.html new file mode 100644 index 000000000..dc9bf0c6a --- /dev/null +++ b/doc/html/df/dcd/classpyhelios_1_1PySimulationCycleCallback-members.html @@ -0,0 +1,113 @@ + + + + + + + +Helios++: Member List + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Helios++ +
+
Helios software for LiDAR simulations
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pyhelios::PySimulationCycleCallback Member List
+
+
+ +

This is the complete list of members for pyhelios::PySimulationCycleCallback, including all inherited members.

+ + + + + + + +
operator()(std::vector< Measurement > &measurements, std::vector< Trajectory > &trajectories)pyhelios::PySimulationCycleCallbackinlinevirtual
pyCallback (defined in pyhelios::PySimulationCycleCallback)pyhelios::PySimulationCycleCallback
PySimulationCycleCallback(PyObject *pyCallback) (defined in pyhelios::PySimulationCycleCallback)pyhelios::PySimulationCycleCallbackinline
SimulationCycleCallback()SimulationCycleCallbackinline
~PySimulationCycleCallback() (defined in pyhelios::PySimulationCycleCallback)pyhelios::PySimulationCycleCallbackinlinevirtual
~SimulationCycleCallback() (defined in SimulationCycleCallback)SimulationCycleCallbackinlinevirtual
+
+ + + + diff --git a/doc/html/functions_c.html b/doc/html/functions_c.html index 56064a007..a8f4be1e2 100644 --- a/doc/html/functions_c.html +++ b/doc/html/functions_c.html @@ -465,7 +465,7 @@

- c -