Public Member Functions | Static Public Member Functions | Public Attributes
Tag Class Reference

A *Tag_Struct* represents the location and orientation of one ceiling fiducial tag. More...

#include <Tag.hpp>

List of all members.

Public Member Functions

void arc_append (Arc *arc)
 Appends *arc* to *tag*.
void bounding_box_update (BoundingBox *bounding_box)
 Updates *bounding_box* to include the 4 corners of tag.
void initialize (double angle, double x, double y, double diagonal, unsigned int visit)
 Initialize *tag* contents.
void svg_write (SVG *svg)
 Writes *tag* out to *svg*.
 Tag (unsigned int id, Map map)
 Create and return a new *Tag*.
void update_via_arc (Arc *arc, CV_Image image, unsigned int sequence_number)
 Updates the position and orientation of *tag* using *arc*.
void write (File out_file)
 Writes *tag* out ot *out_file* in XML format.

Static Public Member Functions

static int equal (Tag *tag1, Tag *tag2)
 Returns the sort order of *tag1* to *tag2*.
static bool less (Tag *tag1, Tag *tag2)
static Tagread (File in_file, Map map)
 Read in an XML <Tag ...> from *in_file* using *map*.

Public Attributes

std::vector< Arc * > arcs_
 List *Arc*'s connected to this *Tag*.
double diagonal
 Fiducial tag diagnal distance in camera pixels.
unsigned int hop_count
 Distance from origin in hops:
unsigned int id
 Tag identifier.
bool initialized
 True if rest of *Tag* is initialized.
Map map
 Parent *Map* object.
double twist
 The twist from the floor X axis to the tag bottom edge.
bool updated
 Set if tag was updated.
bool visible
 True if tag is currently visible in camera field of view.
unsigned int visit
 Visit counter.
double world_diagonal
 Distance along one side of the tag in world units.
double x
 Absolute X floor coordinate.
double y
 Absolute Y floor coordinate.
double z
 Absolute Z floor coordinate.

Detailed Description

A *Tag_Struct* represents the location and orientation of one ceiling fiducial tag.

Definition at line 57 of file Tag.hpp.


Constructor & Destructor Documentation

Tag::Tag ( unsigned int  id,
Map  map 
)

Create and return a new *Tag*.

Parameters:
idis the tag identifier.
mapis the map associated with the tag.
Returns:
new *Tag*.

Tag__create*() will create and return a *Tag* object with an identifier of *id*. This returned *Tag* is not *initialized* until *Tag__initialize*() is called.

Definition at line 63 of file Tag.cpp.


Member Function Documentation

void Tag::arc_append ( Arc arc)

Appends *arc* to *tag*.

Parameters:
tagto append to.
arcto append.

Tag__arc_append*() will append *arc* to *tag*.

Definition at line 19 of file Tag.cpp.

void Tag::bounding_box_update ( BoundingBox bounding_box)

Updates *bounding_box* to include the 4 corners of tag.

Parameters:
tagis the tag to use to update *bounding_box*.
bounding_boxis the *Bounding_Box* to update.

Tab__bounding_box_update*() will ensure that the 4 corners of tag* will be enclosed by *bounding_box* when it comes time to graph *tag*.

Definition at line 32 of file Tag.cpp.

int Tag::equal ( Tag tag1,
Tag tag2 
) [static]

Returns the sort order of *tag1* to *tag2*.

Parameters:
tag1is the first *Tag* to compare.
tag2is the second *Tag* to compare.
Returns:
-1, 0, or 1 depending upon sort order.

Tag__compare*() will return -1 if *tag1* sorts before *tag2*, 0 if they are equal, and 1 if *tag1* sorts after *tag2*.

Definition at line 46 of file Tag.cpp.

void Tag::initialize ( double  twist,
double  x,
double  y,
double  diagonal,
unsigned int  visit 
)

Initialize *tag* contents.

Parameters:
tagto intialize.
twistis the fidicial twist relative to the floor X axis.
xis the floor X coordinate of the fiducial center.
yis the floor Y corrdinate of the fiducial center.
diagonalis diagonal distance across the *tag*.
visitis the visit number for the tree walker.

Tag__initialize*() will initialize *tag* to contain *twist*, *x*, and *y*. *twist* is the fiducial twist relative to the floor X axis measured in radians. *x*, *y*, are measured in any consistent set of units (millimeters, centimeters, meters, inches, light years, etc.) *visit* is used for the tree walker. diagonal* is in pixels.

Definition at line 94 of file Tag.cpp.

bool Tag::less ( Tag tag1,
Tag tag2 
) [static]

Definition at line 50 of file Tag.cpp.

Tag * Tag::read ( File  in_file,
Map  map 
) [static]

Read in an XML <Tag ...> from *in_file* using *map*.

Parameters:
in_fileto read from.
mapto use for *Tag* associations.
Returns:
*Tag* that was read in.

Tag__read*() will read in an XML <Tag ...> from *in_file* using *map* for *Tag* assoiciations. The resulting *Tag* is returned.

Definition at line 112 of file Tag.cpp.

void Tag::svg_write ( SVG svg)

Writes *tag* out to *svg*.

Parameters:
tagto write out.
svgis the *SVG* object to use to write *tag* out to.

Tag__svg_write*() will write *tag* out to *svg* in scalable vector graphics format.

Definition at line 148 of file Tag.cpp.

void Tag::update_via_arc ( Arc arc,
CV_Image  image,
unsigned int  sequence_number 
)

Updates the position and orientation of *tag* using *arc*.

Parameters:
tagto update.
arcto use to find the arc to update from.
imageis the current image being processed.
sequence_numberis the image sequence number.

Tag__update_via_arc*() will use the contents of *arc* to update the position and oritation of *tag*. The position is computed using the "other" end of *arc*.

Definition at line 194 of file Tag.cpp.

void Tag::write ( File  out_file)

Writes *tag* out ot *out_file* in XML format.

Parameters:
tagto write out.
out_fileto write to.

Tag__write*() will write *tag* out to *out_file* in XML format.

Definition at line 270 of file Tag.cpp.


Member Data Documentation

std::vector<Arc*> Tag::arcs_

List *Arc*'s connected to this *Tag*.

Definition at line 60 of file Tag.hpp.

double Tag::diagonal

Fiducial tag diagnal distance in camera pixels.

Definition at line 63 of file Tag.hpp.

unsigned int Tag::hop_count

Distance from origin in hops:

Definition at line 72 of file Tag.hpp.

unsigned int Tag::id

Tag identifier.

Definition at line 75 of file Tag.hpp.

True if rest of *Tag* is initialized.

Definition at line 69 of file Tag.hpp.

Parent *Map* object.

Definition at line 78 of file Tag.hpp.

double Tag::twist

The twist from the floor X axis to the tag bottom edge.

Definition at line 81 of file Tag.hpp.

Set if tag was updated.

Definition at line 99 of file Tag.hpp.

True if tag is currently visible in camera field of view.

Definition at line 84 of file Tag.hpp.

unsigned int Tag::visit

Visit counter.

Definition at line 87 of file Tag.hpp.

Distance along one side of the tag in world units.

Definition at line 66 of file Tag.hpp.

double Tag::x

Absolute X floor coordinate.

Definition at line 90 of file Tag.hpp.

double Tag::y

Absolute Y floor coordinate.

Definition at line 93 of file Tag.hpp.

double Tag::z

Absolute Z floor coordinate.

Definition at line 96 of file Tag.hpp.


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


fiducial_lib
Author(s): Wayne Gramlich
autogenerated on Thu Jun 6 2019 18:08:04