Ocean
Ocean::Tracking::Offline::PlaneTracker Class Reference

This class implements the abstract base class for all plane trackers. More...

Inheritance diagram for Ocean::Tracking::Offline::PlaneTracker:

Public Member Functions

virtual Plane3 plane () const
 Returns the plane of this tracker. More...
 
virtual bool objectTransformation (HomogenousMatrix4 &transformation) const
 Determines the transformation that transforms points defined in the local coordinate of the tracked object into points defined in the world coordinate system. More...
 
- Public Member Functions inherited from Ocean::Tracking::Offline::OfflineTracker
virtual ~OfflineTracker ()
 Frees the offline tracker object. More...
 
virtual bool start ()
 Starts the offline tracker. More...
 
virtual bool stop (const unsigned int timeout=0u)
 Stops the offline tracker. More...
 
unsigned int id () const
 Returns the unique id of this tracker object. More...
 
virtual bool running () const
 Returns whether the tracker has been started (and is currently tracking). More...
 
virtual bool finished () const
 Returns whether the offline tracker has finished since the last start or has not been started yet. More...
 
virtual bool succeeded () const =0
 Returns whether the offline tracker has finished and succeeded since the last start or has not been started yet. More...
 
virtual OfflinePoses poses () const
 Returns the currently determined poses of this tracker. More...
 
virtual OfflinePose pose (const unsigned int index) const
 Returns one pose of this tracker. More...
 
void addEventCallback (const EventCallback &callback)
 Adds a state event callback function. More...
 
void removeEventCallback (const EventCallback &callback)
 Removes a state event callback function. More...
 

Protected Member Functions

 PlaneTracker ()=default
 Creates a new plane tracker object. More...
 
 PlaneTracker (const Plane3 &plane)
 Creates a new plane tracker object. More...
 
virtual void updatePlane (const Plane3 &plane)
 Updates the plane of this tracker and invokes the corresponding state event(s). More...
 
- Protected Member Functions inherited from Ocean::Tracking::Offline::OfflineTracker
 OfflineTracker ()
 Creates a new offline tracker object. More...
 
void updateTrackerProgress (const Scalar localProgress)
 Updates the tracker process progress value of this tracker. More...
 
void updatePoses (const OfflinePoses &poses)
 Updates all poses of this tracker and invokes the corresponding state event(s). More...
 
void removeIrregularPoses (const Scalar factor=Scalar(5))
 Removes irregular poses at the boundary between valid and invalid poses. More...
 
void extrapolatePoses (const unsigned int number, const unsigned int base)
 Extrapolates poses at the boundary between valid and invalid poses. More...
 
- Protected Member Functions inherited from Ocean::Thread
 Thread (const Thread &thread)=delete
 Disabled copy constructor. More...
 
void createThread ()
 Creates the thread itself. More...
 
void destroyThread ()
 Destroys the thread itself. More...
 
void stopThreadExplicitly (const unsigned int timeout=5000u)
 Tries to stop the thread gracefully. More...
 
virtual void threadRun ()=0
 This function has to be overloaded in derived class. More...
 
Threadoperator= (const Thread &thread)=delete
 The disabled assign operator. More...
 
 Thread (const std::string &name=std::string())
 Creates a new thread object. More...
 
 Thread (const unsigned int randomNumberSeedValue, const std::string &name=std::string())
 Creates a new thread object. More...
 
virtual ~Thread ()
 Destructs a thread object. More...
 
bool startThread ()
 Starts the thread. More...
 
void stopThread ()
 Informs the thread to stop. More...
 
bool terminateThread ()
 Terminates the thread. More...
 
bool joinThread (const unsigned int timeout=(unsigned int)(-1))
 Waits until this thread has been stopped. More...
 
bool shouldThreadStop () const
 Returns whether this thread should stop. More...
 
bool isThreadInvokedToStart () const
 Returns whether this thread has been invoked to start immediately. More...
 
bool isThreadActive () const
 Returns whether this thread is active. More...
 

Protected Attributes

Plane3 plane_
 The plane of this tracker. More...
 
HomogenousMatrix4 objectTransformation_ = HomogenousMatrix4(false)
 The tracker object transformation the tracker coordinate system into the world coordinate system. More...
 
- Protected Attributes inherited from Ocean::Tracking::Offline::OfflineTracker
unsigned int id_ = 0u
 The unique id that identifies this tracker. More...
 
bool finished_ = true
 Finished state of the tracker. More...
 
bool shouldStop_ = false
 Stop-request state of the tracker, this state should have the same state as the threadShouldStop variable but will be accessible in all trackers. More...
 
OfflinePoses offlinePoses_
 Offline poses of this tracker. More...
 
EventCallbacks eventCallbacks_
 State event callback functions. More...
 
Lock lock_
 Tracker lock object. More...
 
EventStack eventStack_
 The stack with progress event layers allowing for a convenient process progress event handling. More...
 
Lock eventStackLock_
 The lock for the progress event layer stack. More...
 
Scalar previousProcessProgress_ = Scalar(0)
 The previous process progress. More...
 

Additional Inherited Members

- Public Types inherited from Ocean::Tracking::Offline::OfflineTracker
enum  TrackingQuality {
  TQ_LOW , TQ_MODERATE , TQ_HIGH , TQ_ULTRA ,
  TQ_INSANE , TQ_AUTOMATIC , TQ_COARSE , TQ_FINE
}
 Definition of individual tracking qualities. More...
 
enum  AbstractMotionType { AMT_UNKNOWN , AMT_PURE_ROTATIONAL , AMT_COMPLEX }
 Definition of individual abstract camera motion types. More...
 
enum  CameraModel { CM_INVALID , CM_LOW_QUALITY , CM_MEDIUM_QUALITY , CM_HIGH_QUALITY }
 Definition of individual camera models. More...
 
typedef Callback< void, const TrackerEvent & > EventCallback
 Definition of a component event callback function. More...
 
- Protected Types inherited from Ocean::Tracking::Offline::OfflineTracker
typedef std::vector< EventStackLayerEventStack
 Definition of a vector holding EventStackLayer objects which actually is used to implement a stack of these objects. More...
 
typedef ConcurrentCallbacks< EventCallbackEventCallbacks
 Definition of a vector holding event callback functions. More...
 
- Protected Types inherited from Ocean::Thread
typedef std::pair< pthread_t, bool > TimedJoinPair
 Definition of a pair holding a thread id and a boolean state. More...
 
enum  ThreadPriority {
  PRIORITY_IDLE , PRIORTY_BELOW_NORMAL , PRIORTY_NORMAL , PRIORTY_ABOVE_NORMAL ,
  PRIORTY_HIGH , PRIORTY_REALTIME
}
 Definition of different thread priority values. More...
 
- Static Protected Member Functions inherited from Ocean::Tracking::Offline::OfflineTracker
static bool isPlausibleCamera (const PinholeCamera &pinholeCamera, const CameraModel model)
 Checks whether the camera parameters of a given camera profiles matches to the specified camera model. More...
 
static void extrapolateSinglePose (const OfflinePoses::Index invalidIndex, OfflinePoses &offlinePoses)
 Interpolates the pose of a single invalid pose which is enclosed by two valid poses. More...
 
static void extrapolateLeftPoses (const OfflinePoses::Index invalidIndex, const unsigned int number, const unsigned int base, OfflinePoses &offlinePoses)
 Interpolates some poses to the left of a gap with invalid poses. More...
 
static void extrapolateRightPoses (const OfflinePoses::Index invalidIndex, const unsigned int number, const unsigned int base, OfflinePoses &offlinePoses)
 Interpolates some poses to the right of a gap with invalid poses. More...
 
static void extrapolateCenterPoses (const OfflinePoses::Index invalidIndex, const unsigned int number, const unsigned int base, OfflinePoses &offlinePoses)
 Interpolates some poses to the left or to the right of a gap with invalid poses. More...
 
static LockidCounterLock ()
 Returns a reference to the lock for the tracker id counter. More...
 
- Static Protected Member Functions inherited from Ocean::Thread
static void sleep (unsigned int ms)
 Sleeps the calling thread for a given time. More...
 
static void giveUp ()
 Gives up the remaining thread time. More...
 
static ThreadId currentThreadId ()
 Returns the thread id of the current (calling) thread. More...
 
static ThreadPriority threadPriority ()
 Returns the priority of the current thread. More...
 
static bool setThreadPriority (const ThreadPriority priority)
 Sets the priority of the current thread. More...
 
template<typename TObject , typename TExpectedValue >
static bool waitForValue (TObject &object, const TExpectedValue &expectedValue, const double timeout=-1.0)
 Waits until an object/variable has an expected value. More...
 
template<typename TObject , typename TExpectedValue >
static bool waitForValue (TObject &object, const TExpectedValue &expectedValue, TemporaryScopedLock &temporaryScopedLock, const double timeout=-1.0)
 Waits until an object/variable has an expected value. More...
 
static int pthread_timedjoin_np (pthread_t thread, void **retval, const struct timespec *abstime)
 Implements a thread join function with timeout value. More...
 
- Static Protected Attributes inherited from Ocean::Tracking::Offline::OfflineTracker
static unsigned int idCounter_
 The tracker id counter. More...
 

Detailed Description

This class implements the abstract base class for all plane trackers.

See also
PlaneTrackerRef.

Constructor & Destructor Documentation

◆ PlaneTracker() [1/2]

Ocean::Tracking::Offline::PlaneTracker::PlaneTracker ( )
protecteddefault

Creates a new plane tracker object.

◆ PlaneTracker() [2/2]

Ocean::Tracking::Offline::PlaneTracker::PlaneTracker ( const Plane3 plane)
inlineprotected

Creates a new plane tracker object.

Parameters
planeThe plane of this tracker

Member Function Documentation

◆ objectTransformation()

virtual bool Ocean::Tracking::Offline::PlaneTracker::objectTransformation ( HomogenousMatrix4 transformation) const
virtual

Determines the transformation that transforms points defined in the local coordinate of the tracked object into points defined in the world coordinate system.

Parameters
transformationResulting transformation
Returns
True, if succeeded

◆ plane()

virtual Plane3 Ocean::Tracking::Offline::PlaneTracker::plane ( ) const
virtual

Returns the plane of this tracker.

Returns
Plane that is tracked

◆ updatePlane()

virtual void Ocean::Tracking::Offline::PlaneTracker::updatePlane ( const Plane3 plane)
protectedvirtual

Updates the plane of this tracker and invokes the corresponding state event(s).

Parameters
planeNew plane for this tracker

Reimplemented in Ocean::Tracking::Offline::SLAMPlaneTracker, and Ocean::Tracking::Offline::PlanarRectangleTracker.

Field Documentation

◆ objectTransformation_

HomogenousMatrix4 Ocean::Tracking::Offline::PlaneTracker::objectTransformation_ = HomogenousMatrix4(false)
protected

The tracker object transformation the tracker coordinate system into the world coordinate system.

◆ plane_

Plane3 Ocean::Tracking::Offline::PlaneTracker::plane_
protected

The plane of this tracker.


The documentation for this class was generated from the following file: