Helios++
Helios software for LiDAR simulations
BasicDynGroveSubject.h
1 #pragma once
2 
3 #include <BasicDynGrove.h>
4 
5 #include <memory>
6 
16 template <typename Tree, typename Subject>
18 public:
19  // *** CONSTRUCTION / DESTRUCTION *** //
20  // ************************************ //
21  virtual ~BasicDynGroveSubject() = default;
22 
23  // *** BASIC DYNGROVE SUBJECT METHODS *** //
24  // **************************************** //
29  virtual void registerObserverGrove(
30  std::shared_ptr<BasicDynGrove<Tree, Subject>> observer
31  ) = 0;
35  virtual void unregisterObserverGrove() = 0;
40  virtual void setGroveSubjectId(std::size_t const id) = 0;
45  virtual std::size_t getGroveSubjectId() = 0;
46 };
Interface defining the behaviors that must be supported by any object that can notify to a basic dyna...
Definition: BasicDynGroveSubject.h:17
virtual void unregisterObserverGrove()=0
Unregister current basic dynamic grove observer.
virtual void setGroveSubjectId(std::size_t const id)=0
Set the subject identifier to be given one.
virtual void registerObserverGrove(std::shared_ptr< BasicDynGrove< Tree, Subject >> observer)=0
Register given grove as a observer with respect to the subject.
virtual std::size_t getGroveSubjectId()=0
Get the subject identifier.
Basic implementation of a DynGrove which extends BasicStaticGrove to provided dynamic funcionalities.
Definition: BasicDynGrove.h:26