Standard object for storing any 3D lightweight object.
Do not inherit from this class.
Definition at line 2018 of file lightweight_geom_data.h.
#include <mrpt/math/lightweight_geom_data.h>
Public Member Functions | |
TObject3D (const TPoint3D &p) | |
Constructor from point. | |
TObject3D (const TSegment3D &s) | |
Constructor from segment. | |
TObject3D (const TLine3D &r) | |
Constructor from line. | |
TObject3D (const TPolygon3D &p) | |
Constructor from polygon. | |
TObject3D (const TPlane &p) | |
Constructor from plane. | |
TObject3D () | |
Empty constructor. | |
~TObject3D () | |
Destructor. | |
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. | |
bool | isPlane () const |
Checks whether content is a plane. | |
unsigned char | getType () const |
Gets object type. | |
bool | getPoint (TPoint3D &p) const |
Gets the content as a point, returning false if the type is not adequate. | |
bool | getSegment (TSegment3D &s) const |
Gets the content as a segment, returning false if the type is not adequate. | |
bool | getLine (TLine3D &r) const |
Gets the content as a line, returning false if the type is not adequate. | |
bool | getPolygon (TPolygon3D &p) const |
Gets the content as a polygon, returning false if the type is not adequate. | |
bool | getPlane (TPlane &p) const |
Gets the content as a plane, returning false if the type is not adequate. | |
void | operator= (const TObject3D &obj) |
Assigns another object, creating a new pointer if needed. | |
void | operator= (const TPoint3D &p) |
Assigns a point to this object. | |
void | operator= (const TSegment3D &s) |
Assigns a segment to this object. | |
void | operator= (const TLine3D &l) |
Assigns a line to this object. | |
void | operator= (const TPolygon3D &p) |
Assigns a polygon to this object. | |
void | operator= (const TPlane &p) |
Assigns a plane to this object. | |
void | generate2DObject (TObject2D &obj) const |
Projects into 2D space. | |
TObject3D (const TObject3D &obj) | |
Constructs from another object. | |
Static Public Member Functions | |
static void | getPoints (const std::vector< TObject3D > &objs, std::vector< TPoint3D > &pnts) |
Static method to retrieve every point included in a vector of objects. | |
static void | getSegments (const std::vector< TObject3D > &objs, std::vector< TSegment3D > &sgms) |
Static method to retrieve every segment included in a vector of objects. | |
static void | getLines (const std::vector< TObject3D > &objs, std::vector< TLine3D > &lins) |
Static method to retrieve every line included in a vector of objects. | |
static void | getPlanes (const std::vector< TObject3D > &objs, std::vector< TPlane > &plns) |
Static method to retrieve every plane included in a vector of objects. | |
static void | getPolygons (const std::vector< TObject3D > &objs, std::vector< TPolygon3D > &polys) |
Static method to retrieve every polygon included in a vector of objects. | |
static void | getPoints (const std::vector< TObject3D > &objs, std::vector< TPoint3D > &pnts, std::vector< TObject3D > &remainder) |
Static method to retrieve every point included in a vector of objects, returning the remaining objects in another argument. | |
static void | getSegments (const std::vector< TObject3D > &objs, std::vector< TSegment3D > &sgms, std::vector< TObject3D > &remainder) |
Static method to retrieve every segment included in a vector of objects, returning the remaining objects in another argument. | |
static void | getLines (const std::vector< TObject3D > &objs, std::vector< TLine3D > &lins, std::vector< TObject3D > &remainder) |
Static method to retrieve every line included in a vector of objects, returning the remaining objects in another argument. | |
static void | getPlanes (const std::vector< TObject3D > &objs, std::vector< TPlane > &plns, std::vector< TObject3D > &remainder) |
Static method to retrieve every plane included in a vector of objects, returning the remaining objects in another argument. | |
static void | getPolygons (const std::vector< TObject3D > &objs, std::vector< TPolygon3D > &polys, std::vector< TObject3D > &remainder) |
Static method to retrieve every polygon included in a vector of objects, returning the remaining objects in another argument. | |
Private Member Functions | |
void | destroy () |
Destroys the object and releases the pointer, if any. | |
Private Attributes | |
unsigned char | type |
Object type identifier. | |
struct { | |
TPoint3D point | |
TSegment3D segment | |
TLine3D line | |
TPolygon3D * polygon | |
TPlane plane | |
} | data |
mrpt::math::TObject3D::TObject3D | ( | const TPoint3D & | p | ) | [inline] |
Constructor from point.
Definition at line 2045 of file lightweight_geom_data.h.
mrpt::math::TObject3D::TObject3D | ( | const TSegment3D & | s | ) | [inline] |
Constructor from segment.
Definition at line 2051 of file lightweight_geom_data.h.
mrpt::math::TObject3D::TObject3D | ( | const TLine3D & | r | ) | [inline] |
Constructor from line.
Definition at line 2057 of file lightweight_geom_data.h.
mrpt::math::TObject3D::TObject3D | ( | const TPolygon3D & | p | ) | [inline] |
Constructor from polygon.
Definition at line 2063 of file lightweight_geom_data.h.
References mrpt::math::TPolygon3D.
mrpt::math::TObject3D::TObject3D | ( | const TPlane & | p | ) | [inline] |
Constructor from plane.
Definition at line 2069 of file lightweight_geom_data.h.
mrpt::math::TObject3D::TObject3D | ( | ) | [inline] |
Empty constructor.
Definition at line 2075 of file lightweight_geom_data.h.
mrpt::math::TObject3D::~TObject3D | ( | ) | [inline] |
Destructor.
Definition at line 2079 of file lightweight_geom_data.h.
mrpt::math::TObject3D::TObject3D | ( | const TObject3D & | obj | ) | [inline] |
Constructs from another object.
Definition at line 2259 of file lightweight_geom_data.h.
void mrpt::math::TObject3D::destroy | ( | ) | [inline, private] |
Destroys the object and releases the pointer, if any.
Definition at line 2037 of file lightweight_geom_data.h.
References mrpt::math::GEOMETRIC_TYPE_POLYGON, and mrpt::math::GEOMETRIC_TYPE_UNDEFINED.
void mrpt::math::TObject3D::generate2DObject | ( | TObject2D & | obj | ) | const [inline] |
Projects into 2D space.
std::logic_error | if the 3D object loses its properties when projecting into 2D space (for example, it's a plane or a vertical line). |
Definition at line 2235 of file lightweight_geom_data.h.
References mrpt::math::GEOMETRIC_TYPE_LINE, mrpt::math::GEOMETRIC_TYPE_PLANE, mrpt::math::GEOMETRIC_TYPE_POINT, mrpt::math::GEOMETRIC_TYPE_POLYGON, and mrpt::math::GEOMETRIC_TYPE_SEGMENT.
bool mrpt::math::TObject3D::getLine | ( | TLine3D & | r | ) | const [inline] |
Gets the content as a line, returning false if the type is not adequate.
Definition at line 2139 of file lightweight_geom_data.h.
static void mrpt::math::TObject3D::getLines | ( | const std::vector< TObject3D > & | objs, |
std::vector< TLine3D > & | lins | ||
) | [static] |
Static method to retrieve every line included in a vector of objects.
static void mrpt::math::TObject3D::getLines | ( | const std::vector< TObject3D > & | objs, |
std::vector< TLine3D > & | lins, | ||
std::vector< TObject3D > & | remainder | ||
) | [static] |
Static method to retrieve every line included in a vector of objects, returning the remaining objects in another argument.
bool mrpt::math::TObject3D::getPlane | ( | TPlane & | p | ) | const [inline] |
Gets the content as a plane, returning false if the type is not adequate.
Definition at line 2157 of file lightweight_geom_data.h.
static void mrpt::math::TObject3D::getPlanes | ( | const std::vector< TObject3D > & | objs, |
std::vector< TPlane > & | plns | ||
) | [static] |
Static method to retrieve every plane included in a vector of objects.
static void mrpt::math::TObject3D::getPlanes | ( | const std::vector< TObject3D > & | objs, |
std::vector< TPlane > & | plns, | ||
std::vector< TObject3D > & | remainder | ||
) | [static] |
Static method to retrieve every plane included in a vector of objects, returning the remaining objects in another argument.
bool mrpt::math::TObject3D::getPoint | ( | TPoint3D & | p | ) | const [inline] |
Gets the content as a point, returning false if the type is not adequate.
Definition at line 2121 of file lightweight_geom_data.h.
static void mrpt::math::TObject3D::getPoints | ( | const std::vector< TObject3D > & | objs, |
std::vector< TPoint3D > & | pnts | ||
) | [static] |
Static method to retrieve every point included in a vector of objects.
static void mrpt::math::TObject3D::getPoints | ( | const std::vector< TObject3D > & | objs, |
std::vector< TPoint3D > & | pnts, | ||
std::vector< TObject3D > & | remainder | ||
) | [static] |
Static method to retrieve every point included in a vector of objects, returning the remaining objects in another argument.
bool mrpt::math::TObject3D::getPolygon | ( | TPolygon3D & | p | ) | const [inline] |
Gets the content as a polygon, returning false if the type is not adequate.
Definition at line 2148 of file lightweight_geom_data.h.
static void mrpt::math::TObject3D::getPolygons | ( | const std::vector< TObject3D > & | objs, |
std::vector< TPolygon3D > & | polys | ||
) | [static] |
Static method to retrieve every polygon included in a vector of objects.
static void mrpt::math::TObject3D::getPolygons | ( | const std::vector< TObject3D > & | objs, |
std::vector< TPolygon3D > & | polys, | ||
std::vector< TObject3D > & | remainder | ||
) | [static] |
Static method to retrieve every polygon included in a vector of objects, returning the remaining objects in another argument.
bool mrpt::math::TObject3D::getSegment | ( | TSegment3D & | s | ) | const [inline] |
Gets the content as a segment, returning false if the type is not adequate.
Definition at line 2130 of file lightweight_geom_data.h.
static void mrpt::math::TObject3D::getSegments | ( | const std::vector< TObject3D > & | objs, |
std::vector< TSegment3D > & | sgms | ||
) | [static] |
Static method to retrieve every segment included in a vector of objects.
static void mrpt::math::TObject3D::getSegments | ( | const std::vector< TObject3D > & | objs, |
std::vector< TSegment3D > & | sgms, | ||
std::vector< TObject3D > & | remainder | ||
) | [static] |
Static method to retrieve every segment included in a vector of objects, returning the remaining objects in another argument.
unsigned char mrpt::math::TObject3D::getType | ( | ) | const [inline] |
Gets object type.
Definition at line 2115 of file lightweight_geom_data.h.
bool mrpt::math::TObject3D::isLine | ( | ) | const [inline] |
Checks whether content is a line.
Definition at line 2097 of file lightweight_geom_data.h.
References mrpt::math::GEOMETRIC_TYPE_LINE.
bool mrpt::math::TObject3D::isPlane | ( | ) | const [inline] |
Checks whether content is a plane.
Definition at line 2109 of file lightweight_geom_data.h.
References mrpt::math::GEOMETRIC_TYPE_PLANE.
bool mrpt::math::TObject3D::isPoint | ( | ) | const [inline] |
Checks whether content is a point.
Definition at line 2085 of file lightweight_geom_data.h.
References mrpt::math::GEOMETRIC_TYPE_POINT.
bool mrpt::math::TObject3D::isPolygon | ( | ) | const [inline] |
Checks whether content is a polygon.
Definition at line 2103 of file lightweight_geom_data.h.
References mrpt::math::GEOMETRIC_TYPE_POLYGON.
bool mrpt::math::TObject3D::isSegment | ( | ) | const [inline] |
Checks whether content is a segment.
Definition at line 2091 of file lightweight_geom_data.h.
References mrpt::math::GEOMETRIC_TYPE_SEGMENT.
void mrpt::math::TObject3D::operator= | ( | const TPolygon3D & | p | ) | [inline] |
Assigns a polygon to this object.
Definition at line 2218 of file lightweight_geom_data.h.
References mrpt::math::GEOMETRIC_TYPE_POLYGON, and mrpt::math::TPolygon3D.
void mrpt::math::TObject3D::operator= | ( | const TObject3D & | obj | ) | [inline] |
Assigns another object, creating a new pointer if needed.
Definition at line 2166 of file lightweight_geom_data.h.
References data, mrpt::math::GEOMETRIC_TYPE_LINE, mrpt::math::GEOMETRIC_TYPE_PLANE, mrpt::math::GEOMETRIC_TYPE_POINT, mrpt::math::GEOMETRIC_TYPE_POLYGON, mrpt::math::GEOMETRIC_TYPE_SEGMENT, mrpt::math::GEOMETRIC_TYPE_UNDEFINED, line, plane, point, polygon, segment, THROW_EXCEPTION, mrpt::math::TPolygon3D, and type.
void mrpt::math::TObject3D::operator= | ( | const TSegment3D & | s | ) | [inline] |
Assigns a segment to this object.
Definition at line 2202 of file lightweight_geom_data.h.
References mrpt::math::GEOMETRIC_TYPE_SEGMENT.
void mrpt::math::TObject3D::operator= | ( | const TLine3D & | l | ) | [inline] |
Assigns a line to this object.
Definition at line 2210 of file lightweight_geom_data.h.
References mrpt::math::GEOMETRIC_TYPE_LINE.
void mrpt::math::TObject3D::operator= | ( | const TPoint3D & | p | ) | [inline] |
Assigns a point to this object.
Definition at line 2194 of file lightweight_geom_data.h.
References mrpt::math::GEOMETRIC_TYPE_POINT.
void mrpt::math::TObject3D::operator= | ( | const TPlane & | p | ) | [inline] |
Assigns a plane to this object.
Definition at line 2226 of file lightweight_geom_data.h.
References mrpt::math::GEOMETRIC_TYPE_PLANE.
struct { ... } mrpt::math::TObject3D::data [private] |
Referenced by operator=().
Definition at line 2030 of file lightweight_geom_data.h.
Referenced by operator=().
Definition at line 2032 of file lightweight_geom_data.h.
Referenced by operator=().
Definition at line 2028 of file lightweight_geom_data.h.
Referenced by operator=().
Definition at line 2031 of file lightweight_geom_data.h.
Referenced by operator=().
Definition at line 2029 of file lightweight_geom_data.h.
Referenced by operator=().
unsigned char mrpt::math::TObject3D::type [private] |
Object type identifier.
Definition at line 2023 of file lightweight_geom_data.h.
Referenced by operator=().
Page generated by Doxygen 1.7.3 for MRPT 0.9.4 SVN: at Sat Mar 26 06:40:17 UTC 2011 |