Helios++
Helios software for LiDAR simulations
KDGroveSubject.h
1 #pragma once
2 
3 #include <BasicDynGroveSubject.h>
4 
5 #include <memory>
6 
7 class KDGrove;
9 class DynMovingObject;
10 
19  public BasicDynGroveSubject<GroveKDTreeRaycaster, DynMovingObject>
20 {
21 public:
22  // *** CONSTRUCTION / DESTRUCTION *** //
23  // ************************************ //
24  virtual ~KDGroveSubject() = default;
25 
26 
27  // *** BASIC DYNGROVE SUBJECT METHODS *** //
28  // **************************************** //
39  observer
40  ) override;
41 
42  // *** KDGROVE SUBJECT METHODS *** //
43  // ********************************* //
48  virtual void registerObserverGrove(std::shared_ptr<KDGrove> observer) = 0;
49 };
Interface defining the behaviors that must be supported by any object that can notify to a basic dyna...
Definition: BasicDynGroveSubject.h:17
Implementation of a dynamic object which supports dynamic motions (extended rigid motions)
Definition: DynMovingObject.h:39
Grove KDTree Raycaster extends KDTreeRaycaster to make it compatible with groves by implementing the ...
Definition: GroveKDTreeRaycaster.h:21
Interface defining the behaviors that must be supported by any object that can notify to a KDGrove.
Definition: KDGroveSubject.h:20
void registerObserverGrove(std::shared_ptr< BasicDynGrove< GroveKDTreeRaycaster, DynMovingObject >> observer) override
Workaround to redirect calls from BasicDynGroveObjectSubject::registerObserverGrove to KDGroveSubject...
Definition: KDGroveSubject.cpp:8
virtual void registerObserverGrove(std::shared_ptr< KDGrove > observer)=0
Register given KDGrove as a observer with respect to the subject.
Grove of KDTrees. It supports both static and dynamic KDTrees, handling each accordingly.
Definition: KDGrove.h:20