AGX Dynamics 2.42.1.1
Loading...
Searching...
No Matches
Lidar.h
Go to the documentation of this file.
1/*
2Copyright 2007-2025. Algoryx Simulation AB.
3
4All AGX source code, intellectual property, documentation, sample code,
5tutorials, scene files and technical white papers, are copyrighted, proprietary
6and confidential material of Algoryx Simulation AB. You may not download, read,
7store, distribute, publish, copy or otherwise disseminate, use or expose this
8material unless having a written signed agreement with Algoryx Simulation AB, or having been
9advised so by Algoryx Simulation AB for a time limited evaluation, or having purchased a
10valid commercial license from Algoryx Simulation AB.
11
12Algoryx Simulation AB disclaims all responsibilities for loss or damage caused
13from using this software, unless otherwise stated in written agreements with
14Algoryx Simulation AB.
15*/
16
17#pragma once
23
24namespace agxSDK
25{
26 class Simulation;
27}
28
29namespace agxSensor
30{
33
40 {
41 public:
48 static Lidar* find( const agxSDK::Simulation* simulation, const agx::Name& name );
49
56 static Lidar* find( const Environment* environment, const agx::Name& name );
57
64 static LidarPtrVector findAll( const agxSDK::Simulation* simulation, const agx::Name& name );
65
72 static LidarPtrVector findAll( const Environment* environment, const agx::Name& name );
73
79 static LidarPtrVector findAll( const agxSDK::Simulation* simulation );
80
86 static LidarPtrVector findAll( const Environment* environment );
87
88 public:
97 Lidar( agx::Frame* frame, LidarModel* model );
98
102 virtual agx::Frame* getFrame() const override;
103
109 virtual void setFrame( agx::Frame* frame ) override;
110
115
120
126
132
138
140
141 public:
142 virtual bool addNotification() override;
143 virtual void synchronizeGraphics(const agxRender::RenderManager& renderManager) override;
144 virtual void cleanup() override;
145
147
148 protected:
149 Lidar();
150
152
153 private:
154 LidarModelRef m_model;
155 };
156}
#define AGX_DECLARE_POINTER_TYPES(type)
Definition: Referenced.h:254
#define AGXSTREAM_DECLARE_SERIALIZABLE(T)
Use this in a Serializable class to add the required methods Important: Use full namespace in the dec...
Definition: Serializable.h:207
#define AGXSENSOR_EXPORT
#define AGX_DECLARE_VECTOR_TYPES(type)
Definition: agx/Vector.h:34
Simulation is a class that bridges the collision space agxCollide::Space and the dynamic simulation s...
Definition: Simulation.h:131
Sensor environment implementation where different sensors collects data given a set of added objects,...
Common base type for all sensors attached to a frame of reference, such as that of a rigid body.
Common interface for sensor output handlers.
Lidar rays to world transform node.
Base lidar model describing the fundamentals, such as ray pattern, range and beam properties,...
Definition: LidarModel.h:36
Ray noise handler is responsible for all distortion application to rays before raytrace.
Lidar instance class defined by a frame/transform and a model.
Definition: Lidar.h:40
static LidarPtrVector findAll(const agxSDK::Simulation *simulation)
Find all lidar.
LidarRayDistortionHandler * getRayDistortionHandler() const
Lidar(agx::Frame *frame, LidarModel *model)
Construct this lidar given frame and model.
virtual ISensorOutputHandler * getOutputHandlerBase() const override
static Lidar * find(const Environment *environment, const agx::Name &name)
Find lidar given name.
static LidarPtrVector findAll(const Environment *environment)
Find all lidar.
static Lidar * find(const agxSDK::Simulation *simulation, const agx::Name &name)
Find lidar given name.
LidarModel * getModel() const
RtOutputHandler * getOutputHandler() const
virtual agx::Frame * getFrame() const override
virtual void setFrame(agx::Frame *frame) override
Assign new frame to this lidar.
static LidarPtrVector findAll(const agxSDK::Simulation *simulation, const agx::Name &name)
Find all lidar given name.
LidarFrameNode * getFrameNode() const
static LidarPtrVector findAll(const Environment *environment, const agx::Name &name)
Find all lidar given name.
Raytrace result handler is resposible for when and how the raytracing starts and ends and collecting/...
The object defining a frame of reference and providing transformations operations.
Definition: agx/Frame.h:68
Representation of a name string.
Definition: Name.h:33
Vector containing 'raw' data.
Definition: agx/Vector.h:246
#define DOXYGEN_END_INTERNAL_BLOCK()
Definition: macros.h:89
#define DOXYGEN_START_INTERNAL_BLOCK()
Definition: macros.h:88
Namespace containing classes for handling debug rendering of collision geometries,...
Definition: Constraint.h:36
The agxSDK namespace contain classes to bridge the collision detection system and the dynamical simul...
Definition: Constraint.h:31
The agxSensor namespace contains components to model real-time sensors connected to the physics of AG...