MRPT
2.0.4
|
Standard type for storing any lightweight 2D type.
Do not inherit from this class.
Definition at line 24 of file TObject2D.h.
#include <mrpt/math/TObject2D.h>
Classes | |
struct | tobject2d_data_t |
Union type storing pointers to every allowed type. More... | |
Public Member Functions | |
TObject2D (const TPoint2D &p) | |
Implicit constructor from point. More... | |
TObject2D (const TSegment2D &s) | |
Implicit constructor from segment. More... | |
TObject2D (const TLine2D &r) | |
Implicit constructor from line. More... | |
TObject2D (const TPolygon2D &p) | |
Implicit constructor from polygon. More... | |
TObject2D () | |
Implicit constructor from polygon. More... | |
~TObject2D () | |
Object destruction. More... | |
bool | isPoint () const |
Checks whether content is a point. More... | |
bool | isSegment () const |
Checks whether content is a segment. More... | |
bool | isLine () const |
Checks whether content is a line. More... | |
bool | isPolygon () const |
Checks whether content is a polygon. More... | |
unsigned char | getType () const |
Gets content type. More... | |
bool | getPoint (TPoint2D &p) const |
Gets the content as a point, returning false if the type is inadequate. More... | |
bool | getSegment (TSegment2D &s) const |
Gets the content as a segment, returning false if the type is inadequate. More... | |
bool | getLine (TLine2D &r) const |
Gets the content as a line, returning false if the type is inadequate. More... | |
bool | getPolygon (TPolygon2D &p) const |
Gets the content as a polygon, returning false if the type is inadequate. More... | |
TObject2D & | operator= (const TObject2D &obj) |
Assign another TObject2D. More... | |
void | operator= (const TPoint2D &p) |
Assign a point to this object. More... | |
void | operator= (const TSegment2D &s) |
Assign a segment to this object. More... | |
void | operator= (const TLine2D &l) |
Assign a line to this object. More... | |
void | operator= (const TPolygon2D &p) |
Assign a polygon to this object. More... | |
void | generate3DObject (TObject3D &obj) const |
Project into 3D space. More... | |
TObject2D (const TObject2D &obj) | |
Constructor from another TObject2D. More... | |
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. More... | |
static void | getSegments (const std::vector< TObject2D > &objs, std::vector< TSegment2D > &sgms) |
Static method to retrieve all the segments in a vector of TObject2D. More... | |
static void | getLines (const std::vector< TObject2D > &objs, std::vector< TLine2D > &lins) |
Static method to retrieve all the lines in a vector of TObject2D. More... | |
static void | getPolygons (const std::vector< TObject2D > &objs, std::vector< TPolygon2D > &polys) |
Static method to retrieve all the polygons in a vector of TObject2D. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
Private Member Functions | |
void | destroy () |
Destroys the object, releasing the pointer to the content (if any). More... | |
Private Attributes | |
unsigned char | type {GEOMETRIC_TYPE_UNDEFINED} |
Object type identifier. More... | |
struct mrpt::math::TObject2D::tobject2d_data_t | data |
|
inline |
Implicit constructor from point.
Definition at line 56 of file TObject2D.h.
References data, and mrpt::math::TObject2D::tobject2d_data_t::point.
|
inline |
Implicit constructor from segment.
Definition at line 63 of file TObject2D.h.
References data, and mrpt::math::TObject2D::tobject2d_data_t::segment.
|
inline |
Implicit constructor from line.
Definition at line 70 of file TObject2D.h.
References data, and mrpt::math::TObject2D::tobject2d_data_t::line.
|
inline |
Implicit constructor from polygon.
Definition at line 74 of file TObject2D.h.
References data, and mrpt::math::TObject2D::tobject2d_data_t::polygon.
|
inline |
Implicit constructor from polygon.
Definition at line 81 of file TObject2D.h.
|
inline |
Object destruction.
Definition at line 85 of file TObject2D.h.
References destroy().
|
inline |
Constructor from another TObject2D.
Definition at line 227 of file TObject2D.h.
References operator=().
|
inlineprivate |
Destroys the object, releasing the pointer to the content (if any).
Definition at line 46 of file TObject2D.h.
References data, mrpt::math::GEOMETRIC_TYPE_POLYGON, mrpt::math::GEOMETRIC_TYPE_UNDEFINED, mrpt::math::TObject2D::tobject2d_data_t::polygon, and type.
Referenced by operator=(), and ~TObject2D().
void TObject2D::generate3DObject | ( | TObject3D & | obj | ) | const |
Project into 3D space.
Definition at line 24 of file TObject2D.cpp.
References data, mrpt::math::GEOMETRIC_TYPE_LINE, mrpt::math::GEOMETRIC_TYPE_POINT, mrpt::math::GEOMETRIC_TYPE_POLYGON, mrpt::math::GEOMETRIC_TYPE_SEGMENT, mrpt::math::TObject2D::tobject2d_data_t::line, mrpt::math::TObject2D::tobject2d_data_t::point, mrpt::math::TObject2D::tobject2d_data_t::polygon, mrpt::math::TObject2D::tobject2d_data_t::segment, and type.
Referenced by intersect(), and intersectInCommonPlane().
|
inline |
Gets the content as a line, returning false if the type is inadequate.
Definition at line 136 of file TObject2D.h.
References data, isLine(), and mrpt::math::TObject2D::tobject2d_data_t::line.
Referenced by mrpt::math::intersect(), mrpt::math::operator<<(), and mrpt::math::project2D().
|
static |
Static method to retrieve all the lines in a vector of TObject2D.
Definition at line 57 of file TObject2D.cpp.
|
static |
Static method to retrieve all the lines in a vector of TObject2D, returning the remainder objects in another parameter.
Definition at line 89 of file TObject2D.cpp.
|
inline |
Gets the content as a point, returning false if the type is inadequate.
Definition at line 109 of file TObject2D.h.
References data, isPoint(), and mrpt::math::TObject2D::tobject2d_data_t::point.
Referenced by mrpt::math::getAngleBisector(), mrpt::math::intersect(), intersect(), mrpt::math::operator<<(), mrpt::math::project2D(), mrpt::math::splitInConvexComponents(), and TEST().
|
static |
Static method to retrieve all the points in a vector of TObject2D.
Definition at line 45 of file TObject2D.cpp.
|
static |
Static method to retrieve all the points in a vector of TObject2D, returning the remainder objects in another parameter.
Definition at line 69 of file TObject2D.cpp.
|
inline |
Gets the content as a polygon, returning false if the type is inadequate.
Definition at line 150 of file TObject2D.h.
References data, isPolygon(), and mrpt::math::TObject2D::tobject2d_data_t::polygon.
Referenced by mrpt::math::intersect(), mrpt::math::operator<<(), and mrpt::math::project2D().
|
static |
Static method to retrieve all the polygons in a vector of TObject2D.
Definition at line 63 of file TObject2D.cpp.
|
static |
Static method to retrieve all the polygons in a vector of TObject2D, returning the remainder objects in another parameter.
Definition at line 99 of file TObject2D.cpp.
|
inline |
Gets the content as a segment, returning false if the type is inadequate.
Definition at line 123 of file TObject2D.h.
References data, isSegment(), and mrpt::math::TObject2D::tobject2d_data_t::segment.
Referenced by mrpt::math::intersect(), mrpt::math::operator<<(), and mrpt::math::project2D().
|
static |
Static method to retrieve all the segments in a vector of TObject2D.
Definition at line 51 of file TObject2D.cpp.
|
static |
Static method to retrieve all the segments in a vector of TObject2D, returning the remainder objects in another parameter.
Definition at line 79 of file TObject2D.cpp.
|
inline |
Gets content type.
Definition at line 105 of file TObject2D.h.
References type.
Referenced by fromObject(), mrpt::math::operator<<(), mrpt::math::project2D(), and TEST().
|
inline |
Checks whether content is a line.
Definition at line 97 of file TObject2D.h.
References mrpt::math::GEOMETRIC_TYPE_LINE, and type.
Referenced by getLine(), mrpt::math::intersect(), and intersect().
|
inline |
Checks whether content is a point.
Definition at line 89 of file TObject2D.h.
References mrpt::math::GEOMETRIC_TYPE_POINT, and type.
Referenced by getPoint().
|
inline |
Checks whether content is a polygon.
Definition at line 101 of file TObject2D.h.
References mrpt::math::GEOMETRIC_TYPE_POLYGON, and type.
Referenced by getPolygon().
|
inline |
Checks whether content is a segment.
Definition at line 93 of file TObject2D.h.
References mrpt::math::GEOMETRIC_TYPE_SEGMENT, and type.
Referenced by getSegment().
Assign another TObject2D.
Pointers are not shared.
Definition at line 163 of file TObject2D.h.
References data, destroy(), mrpt::math::GEOMETRIC_TYPE_LINE, mrpt::math::GEOMETRIC_TYPE_POINT, mrpt::math::GEOMETRIC_TYPE_POLYGON, mrpt::math::GEOMETRIC_TYPE_SEGMENT, mrpt::math::TObject2D::tobject2d_data_t::line, mrpt::math::TObject2D::tobject2d_data_t::point, mrpt::math::TObject2D::tobject2d_data_t::polygon, mrpt::math::TObject2D::tobject2d_data_t::segment, and type.
Referenced by TObject2D().
|
inline |
Assign a point to this object.
Definition at line 187 of file TObject2D.h.
References data, destroy(), mrpt::math::GEOMETRIC_TYPE_POINT, mrpt::math::TObject2D::tobject2d_data_t::point, and type.
|
inline |
Assign a segment to this object.
Definition at line 196 of file TObject2D.h.
References data, destroy(), mrpt::math::GEOMETRIC_TYPE_SEGMENT, mrpt::math::TObject2D::tobject2d_data_t::segment, and type.
|
inline |
Assign a line to this object.
Definition at line 205 of file TObject2D.h.
References data, destroy(), mrpt::math::GEOMETRIC_TYPE_LINE, mrpt::math::TObject2D::tobject2d_data_t::line, and type.
|
inline |
Assign a polygon to this object.
Definition at line 214 of file TObject2D.h.
References data, destroy(), mrpt::math::GEOMETRIC_TYPE_POLYGON, mrpt::math::TObject2D::tobject2d_data_t::polygon, and type.
|
private |
Referenced by destroy(), generate3DObject(), getLine(), getPoint(), getPolygon(), getSegment(), operator=(), and TObject2D().
|
private |
Object type identifier.
Definition at line 30 of file TObject2D.h.
Referenced by destroy(), generate3DObject(), getType(), isLine(), isPoint(), isPolygon(), isSegment(), and operator=().
Page generated by Doxygen 1.8.14 for MRPT 2.0.4 Git: 33de1d0ad Sat Jun 20 11:02:42 2020 +0200 at sáb jun 20 17:35:17 CEST 2020 |