ARX
1.2.0
The next-generation open source augmented reality toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
Source
ARX
include
ARX
ARTracker.h
Go to the documentation of this file.
1
/*
2
* ARTracker.h
3
* artoolkitX
4
*
5
* A C++ class encapsulating core tracker functionality.
6
*
7
* This file is part of artoolkitX.
8
*
9
* artoolkitX is free software: you can redistribute it and/or modify
10
* it under the terms of the GNU Lesser General Public License as published by
11
* the Free Software Foundation, either version 3 of the License, or
12
* (at your option) any later version.
13
*
14
* artoolkitX is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU Lesser General Public License for more details.
18
*
19
* You should have received a copy of the GNU Lesser General Public License
20
* along with artoolkitX. If not, see <http://www.gnu.org/licenses/>.
21
*
22
* As a special exception, the copyright holders of this library give you
23
* permission to link this library with independent modules to produce an
24
* executable, regardless of the license terms of these independent modules, and to
25
* copy and distribute the resulting executable under terms of your choice,
26
* provided that you also meet, for each linked independent module, the terms and
27
* conditions of the license of that module. An independent module is a module
28
* which is neither derived from nor based on this library. If you modify this
29
* library, you may extend this exception to your version of the library, but you
30
* are not obligated to do so. If you do not wish to do so, delete this exception
31
* statement from your version.
32
*
33
* Copyright 2018 Realmax, Inc.
34
* Copyright 2015 Daqri, LLC.
35
* Copyright 2010-2015 ARToolworks, Inc.
36
*
37
* Author(s): Philip Lamb, Julian Looser.
38
*
39
*/
40
41
42
#ifndef ARTRACKER_H
43
#define ARTRACKER_H
44
45
#include <
ARX/Platform.h
>
46
#include <
ARX/ARTrackable.h
>
47
#include <vector>
48
#include <string>
49
#include <memory>
50
51
enum class
ARTrackerType
{
52
SQUARE_FIDUCIAL
,
53
TEXTURE2D_FIDUCIAL
,
54
GEODETIC
,
55
INERTIAL
,
56
VISUAL_SLAM
,
57
VISUAL_INERTIAL_SLAM
58
};
59
60
class
ARTracker
{
61
public
:
62
ARTracker
() {};
63
virtual
~ARTracker
() {};
64
65
virtual
bool
initialize
() = 0;
66
virtual
bool
start
() = 0;
67
virtual
bool
isRunning
() = 0;
68
virtual
bool
wantsUpdate
() = 0;
69
virtual
bool
update
() = 0;
70
virtual
bool
stop
() = 0;
71
virtual
void
terminate
() = 0;
72
73
virtual
ARTrackerType
type
()
const
= 0;
74
virtual
std::vector<std::string>
trackableConfigurations
()
const
= 0;
75
86
virtual
int
newTrackable
(std::vector<std::string> config) = 0;
87
virtual
unsigned
int
countTrackables
() = 0;
88
virtual
std::shared_ptr<ARTrackable>
getTrackable
(
int
UID) = 0;
89
virtual
std::vector<std::shared_ptr<ARTrackable>>
getAllTrackables
() = 0;
94
virtual
bool
deleteTrackable
(
int
UID) = 0;
95
virtual
void
deleteAllTrackables
() = 0;
96
};
97
98
99
#endif
// !ARTRACKER_H
ARTrackable.h
ARTrackerType
ARTrackerType
Definition
ARTracker.h:51
ARTrackerType::VISUAL_SLAM
@ VISUAL_SLAM
Definition
ARTracker.h:56
ARTrackerType::VISUAL_INERTIAL_SLAM
@ VISUAL_INERTIAL_SLAM
Definition
ARTracker.h:57
ARTrackerType::TEXTURE2D_FIDUCIAL
@ TEXTURE2D_FIDUCIAL
Definition
ARTracker.h:53
ARTrackerType::INERTIAL
@ INERTIAL
Definition
ARTracker.h:55
ARTrackerType::GEODETIC
@ GEODETIC
Definition
ARTracker.h:54
ARTrackerType::SQUARE_FIDUCIAL
@ SQUARE_FIDUCIAL
Definition
ARTracker.h:52
Platform.h
ARTracker::wantsUpdate
virtual bool wantsUpdate()=0
ARTracker::ARTracker
ARTracker()
Definition
ARTracker.h:62
ARTracker::newTrackable
virtual int newTrackable(std::vector< std::string > config)=0
ARTrackable factory method.
ARTracker::isRunning
virtual bool isRunning()=0
ARTracker::deleteAllTrackables
virtual void deleteAllTrackables()=0
ARTracker::trackableConfigurations
virtual std::vector< std::string > trackableConfigurations() const =0
ARTracker::getAllTrackables
virtual std::vector< std::shared_ptr< ARTrackable > > getAllTrackables()=0
ARTracker::stop
virtual bool stop()=0
ARTracker::deleteTrackable
virtual bool deleteTrackable(int UID)=0
Removes the trackable with UID uid, if held by this tracker.
ARTracker::update
virtual bool update()=0
ARTracker::getTrackable
virtual std::shared_ptr< ARTrackable > getTrackable(int UID)=0
ARTracker::terminate
virtual void terminate()=0
ARTracker::countTrackables
virtual unsigned int countTrackables()=0
ARTracker::type
virtual ARTrackerType type() const =0
ARTracker::start
virtual bool start()=0
ARTracker::~ARTracker
virtual ~ARTracker()
Definition
ARTracker.h:63
ARTracker::initialize
virtual bool initialize()=0
Generated on
for ARX by
1.18.0