MRPT logo

mrpt::math::TObject2D Struct Reference

Standard type for storing any lightweight 2D type. More...

#include <mrpt/math/lightweight_geom_data.h>

Collaboration diagram for mrpt::math::TObject2D:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 TObject2D (const TPoint2D &p)
 Implicit constructor from point.
 TObject2D (const TSegment2D &s)
 Implicit constructor from segment.
 TObject2D (const TLine2D &r)
 Implicit constructor from line.
 TObject2D (const TPolygon2D &p)
 Implicit constructor from polygon.
 TObject2D ()
 Implicit constructor from polygon.
 ~TObject2D ()
 Object destruction.
bool isPoint () const
 Checks whether content is a point.
bool isSegment () const
 Checks whether content is a segment.
bool isLine () const
 Checks whether content is a line.
bool isPolygon () const
 Checks whether content is a polygon.
unsigned char getType () const
 Gets content type.
bool getPoint (TPoint2D &p) const
 Gets the content as a point, returning false if the type is inadequate.
bool getSegment (TSegment2D &s) const
 Gets the content as a segment, returning false if the type is inadequate.
bool getLine (TLine2D &r) const
 Gets the content as a line, returning false if the type is inadequate.
bool getPolygon (TPolygon2D &p) const
 Gets the content as a polygon, returning false if the type is inadequate.
void operator= (const TObject2D &obj)
 Assign another TObject2D.
void operator= (const TPoint2D &p)
 Assign a point to this object.
void operator= (const TSegment2D &s)
 Assign a segment to this object.
void operator= (const TLine2D &l)
 Assign a line to this object.
void operator= (const TPolygon2D &p)
 Assign a polygon to this object.
void generate3DObject (TObject3D &obj) const
 Project into 3D space.
 TObject2D (const TObject2D &obj)
 Constructor from another TObject2D.

Static Public Member Functions

static void getPoints (const std::vector< TObject2D > &objs, std::vector< TPoint2D > &pnts)
 Static method to retrieve all the points in a vector of TObject2D.
static void getSegments (const std::vector< TObject2D > &objs, std::vector< TSegment2D > &sgms)
 Static method to retrieve all the segments in a vector of TObject2D.
static void getLines (const std::vector< TObject2D > &objs, std::vector< TLine2D > &lins)
 Static method to retrieve all the lines in a vector of TObject2D.
static void getPolygons (const std::vector< TObject2D > &objs, std::vector< TPolygon2D > &polys)
 Static method to retrieve all the polygons in a vector of TObject2D.
static void getPoints (const std::vector< TObject2D > &objs, std::vector< TPoint2D > &pnts, std::vector< TObject2D > &remainder)
 Static method to retrieve all the points in a vector of TObject2D, returning the remainder objects in another parameter.
static void getSegments (const std::vector< TObject2D > &objs, std::vector< TSegment2D > &sgms, std::vector< TObject2D > &remainder)
 Static method to retrieve all the segments in a vector of TObject2D, returning the remainder objects in another parameter.
static void getLines (const std::vector< TObject2D > &objs, std::vector< TLine2D > &lins, std::vector< TObject2D > &remainder)
 Static method to retrieve all the lines in a vector of TObject2D, returning the remainder objects in another parameter.
static void getPolygons (const std::vector< TObject2D > &objs, std::vector< TPolygon2D > &polys, std::vector< TObject2D > &remainder)
 Static method to retrieve all the polygons in a vector of TObject2D, returning the remainder objects in another parameter.

Private Member Functions

void destroy ()
 Destroys the object, releasing the pointer to the content (if any).

Private Attributes

unsigned char type
 Object type identifier.
struct {
   TPoint2D   point
   TSegment2D   segment
   TLine2D   line
   TPolygon2D *   polygon
data
 Union type storing pointers to every allowed type.

Detailed Description

Standard type for storing any lightweight 2D type.

Do not inherit from this class.

See also:
TPoint2D,TSegment2D,TLine2D,TPolygon2D

Definition at line 1610 of file lightweight_geom_data.h.


Constructor & Destructor Documentation

mrpt::math::TObject2D::TObject2D ( const TPoint2D p  )  [inline]

Implicit constructor from point.

Definition at line 1636 of file lightweight_geom_data.h.

mrpt::math::TObject2D::TObject2D ( const TSegment2D s  )  [inline]

Implicit constructor from segment.

Definition at line 1642 of file lightweight_geom_data.h.

mrpt::math::TObject2D::TObject2D ( const TLine2D r  )  [inline]

Implicit constructor from line.

Definition at line 1648 of file lightweight_geom_data.h.

mrpt::math::TObject2D::TObject2D ( const TPolygon2D p  )  [inline]

Implicit constructor from polygon.

Definition at line 1654 of file lightweight_geom_data.h.

mrpt::math::TObject2D::TObject2D (  )  [inline]

Implicit constructor from polygon.

Definition at line 1660 of file lightweight_geom_data.h.

mrpt::math::TObject2D::~TObject2D (  )  [inline]

Object destruction.

Definition at line 1664 of file lightweight_geom_data.h.

mrpt::math::TObject2D::TObject2D ( const TObject2D obj  )  [inline]

Constructor from another TObject2D.

Definition at line 1793 of file lightweight_geom_data.h.


Member Function Documentation

void mrpt::math::TObject2D::destroy (  )  [inline, private]

Destroys the object, releasing the pointer to the content (if any).

Definition at line 1628 of file lightweight_geom_data.h.

References mrpt::math::GEOMETRIC_TYPE_POLYGON, and mrpt::math::GEOMETRIC_TYPE_UNDEFINED.

void mrpt::math::TObject2D::generate3DObject ( TObject3D obj  )  const

Project into 3D space.

bool mrpt::math::TObject2D::getLine ( TLine2D r  )  const [inline]

Gets the content as a line, returning false if the type is inadequate.

Definition at line 1718 of file lightweight_geom_data.h.

static void mrpt::math::TObject2D::getLines ( const std::vector< TObject2D > &  objs,
std::vector< TLine2D > &  lins,
std::vector< TObject2D > &  remainder 
) [static]

Static method to retrieve all the lines in a vector of TObject2D, returning the remainder objects in another parameter.

static void mrpt::math::TObject2D::getLines ( const std::vector< TObject2D > &  objs,
std::vector< TLine2D > &  lins 
) [static]

Static method to retrieve all the lines in a vector of TObject2D.

bool mrpt::math::TObject2D::getPoint ( TPoint2D p  )  const [inline]

Gets the content as a point, returning false if the type is inadequate.

Definition at line 1700 of file lightweight_geom_data.h.

static void mrpt::math::TObject2D::getPoints ( const std::vector< TObject2D > &  objs,
std::vector< TPoint2D > &  pnts,
std::vector< TObject2D > &  remainder 
) [static]

Static method to retrieve all the points in a vector of TObject2D, returning the remainder objects in another parameter.

static void mrpt::math::TObject2D::getPoints ( const std::vector< TObject2D > &  objs,
std::vector< TPoint2D > &  pnts 
) [static]

Static method to retrieve all the points in a vector of TObject2D.

bool mrpt::math::TObject2D::getPolygon ( TPolygon2D p  )  const [inline]

Gets the content as a polygon, returning false if the type is inadequate.

Definition at line 1727 of file lightweight_geom_data.h.

static void mrpt::math::TObject2D::getPolygons ( const std::vector< TObject2D > &  objs,
std::vector< TPolygon2D > &  polys,
std::vector< TObject2D > &  remainder 
) [static]

Static method to retrieve all the polygons in a vector of TObject2D, returning the remainder objects in another parameter.

static void mrpt::math::TObject2D::getPolygons ( const std::vector< TObject2D > &  objs,
std::vector< TPolygon2D > &  polys 
) [static]

Static method to retrieve all the polygons in a vector of TObject2D.

bool mrpt::math::TObject2D::getSegment ( TSegment2D s  )  const [inline]

Gets the content as a segment, returning false if the type is inadequate.

Definition at line 1709 of file lightweight_geom_data.h.

static void mrpt::math::TObject2D::getSegments ( const std::vector< TObject2D > &  objs,
std::vector< TSegment2D > &  sgms,
std::vector< TObject2D > &  remainder 
) [static]

Static method to retrieve all the segments in a vector of TObject2D, returning the remainder objects in another parameter.

static void mrpt::math::TObject2D::getSegments ( const std::vector< TObject2D > &  objs,
std::vector< TSegment2D > &  sgms 
) [static]

Static method to retrieve all the segments in a vector of TObject2D.

unsigned char mrpt::math::TObject2D::getType (  )  const [inline]

Gets content type.

Definition at line 1694 of file lightweight_geom_data.h.

bool mrpt::math::TObject2D::isLine (  )  const [inline]

Checks whether content is a line.

Definition at line 1682 of file lightweight_geom_data.h.

References mrpt::math::GEOMETRIC_TYPE_LINE.

bool mrpt::math::TObject2D::isPoint (  )  const [inline]

Checks whether content is a point.

Definition at line 1670 of file lightweight_geom_data.h.

References mrpt::math::GEOMETRIC_TYPE_POINT.

bool mrpt::math::TObject2D::isPolygon (  )  const [inline]

Checks whether content is a polygon.

Definition at line 1688 of file lightweight_geom_data.h.

References mrpt::math::GEOMETRIC_TYPE_POLYGON.

bool mrpt::math::TObject2D::isSegment (  )  const [inline]

Checks whether content is a segment.

Definition at line 1676 of file lightweight_geom_data.h.

References mrpt::math::GEOMETRIC_TYPE_SEGMENT.

void mrpt::math::TObject2D::operator= ( const TPolygon2D p  )  [inline]

Assign a polygon to this object.

Definition at line 1781 of file lightweight_geom_data.h.

References mrpt::math::GEOMETRIC_TYPE_POLYGON.

void mrpt::math::TObject2D::operator= ( const TLine2D l  )  [inline]

Assign a line to this object.

Definition at line 1773 of file lightweight_geom_data.h.

References mrpt::math::GEOMETRIC_TYPE_LINE.

void mrpt::math::TObject2D::operator= ( const TSegment2D s  )  [inline]

Assign a segment to this object.

Definition at line 1765 of file lightweight_geom_data.h.

References mrpt::math::GEOMETRIC_TYPE_SEGMENT.

void mrpt::math::TObject2D::operator= ( const TPoint2D p  )  [inline]

Assign a point to this object.

Definition at line 1757 of file lightweight_geom_data.h.

References mrpt::math::GEOMETRIC_TYPE_POINT.

void mrpt::math::TObject2D::operator= ( const TObject2D obj  )  [inline]

Member Data Documentation

struct { ... } mrpt::math::TObject2D::data [private]

Union type storing pointers to every allowed type.

Referenced by operator=().

Definition at line 1622 of file lightweight_geom_data.h.

Referenced by operator=().

Definition at line 1620 of file lightweight_geom_data.h.

Referenced by operator=().

Definition at line 1623 of file lightweight_geom_data.h.

Referenced by operator=().

Definition at line 1621 of file lightweight_geom_data.h.

Referenced by operator=().

unsigned char mrpt::math::TObject2D::type [private]

Object type identifier.

Definition at line 1615 of file lightweight_geom_data.h.

Referenced by operator=().




Page generated by Doxygen 1.6.2 for MRPT 0.8.1 SVN:exported at Mon Feb 15 22:01:07 UTC 2010