14 #ifndef BASICTOOL_GEOOBJCOLLECTION_H
15 #define BASICTOOL_GEOOBJCOLLECTION_H
31 class GeoObjCollection {
43 void Add(
const Point_t& pt, std::string label=
"", std::string c=
"");
45 void Add(
const AABox_t& box, std::string label=
"", std::string c=
"");
49 void Add(
const HalfLine_t& seg, std::string label=
"", std::string c=
"");
51 void Add(
const Trajectory_t& trj, std::string label=
"", std::string c=
"");
53 void Add(
const Cone_t& cone, std::string label=
"", std::string c=
"");
55 void Add(
const Sphere_t& sphere, std::string label=
"", std::string c=
"");
57 const std::vector< geoalgo::Point_t >&
Point()
const {
return _pt_v; }
60 const std::vector< geoalgo::AABox_t >&
AABox()
const {
return _box_v; }
66 const std::vector< geoalgo::HalfLine_t >&
HalfLine()
const {
return _lin_v; }
72 const std::vector< geoalgo::Cone_t >&
Cone()
const {
return _cone_v; }
78 const std::map<geoalgo::Point_t,std::string>&
Labels()
const {
return _labels;}
103 std::vector< geoalgo::Point_t >
_pt_v;
104 std::vector< std::string >
_pt_col;
105 std::vector< geoalgo::AABox_t >
_box_v;
106 std::vector< std::string >
_box_col;
107 std::vector< geoalgo::LineSegment_t >
_seg_v;
108 std::vector< std::string >
_seg_col;
109 std::vector< geoalgo::HalfLine_t >
_lin_v;
110 std::vector< std::string >
_lin_col;
111 std::vector< geoalgo::Trajectory_t >
_trj_v;
112 std::vector< std::string >
_trj_col;
113 std::vector< geoalgo::Cone_t >
_cone_v;
115 std::vector< geoalgo::Sphere >
_sphere_v;
117 std::map<geoalgo::Point_t,std::string >
_labels;
const Point_t & _Point_(size_t i) const
const std::vector< geoalgo::LineSegment_t > & LineSegment() const
void _AddLabel_(const Point_t &pt, std::string label)
const Cone_t & _Cone_(size_t i) const
const std::vector< geoalgo::Point_t > & Point() const
std::vector< std::string > _cone_col
Representation of a simple 3D line segment Defines a finite 3D straight line by having the start and ...
GeoObjCollection()
Default constructor.
const std::vector< geoalgo::Sphere_t > & Sphere() const
Representation of a 3D rectangular box which sides are aligned w/ coordinate axis. A representation of an Axis-Aligned-Boundary-Box, a simple & popular representation of 3D boundary box for collision detection. The concept was taken from the reference, Real-Time-Collision-Detection (RTCD), and in particular Ch. 4.2 (page 77): .
const std::vector< std::string > & ConeColor() const
void Add(const Point_t &pt, std::string label="", std::string c="")
virtual ~GeoObjCollection()
Default destructor.
const std::vector< std::string > & HalfLineColor() const
const std::vector< geoalgo::HalfLine_t > & HalfLine() const
const Trajectory_t & _Trajectory_(size_t i) const
std::vector< geoalgo::LineSegment_t > _seg_v
std::map< geoalgo::Point_t, std::string > _labels
std::vector< geoalgo::HalfLine_t > _lin_v
const LineSegment_t & _LineSegment_(size_t i) const
Representation of a 3D semi-infinite line. Defines a 3D cone with the following properties: Start po...
std::vector< std::string > _box_col
std::vector< geoalgo::Trajectory_t > _trj_v
const std::vector< geoalgo::Trajectory_t > & Trajectory() const
const std::vector< std::string > & TrajectoryColor() const
std::vector< geoalgo::Sphere > _sphere_v
const std::map< geoalgo::Point_t, std::string > & Labels() const
const std::vector< std::string > & LineSegmentColor() const
const std::vector< std::string > & SphereColor() const
const std::vector< std::string > & PointColor() const
std::vector< geoalgo::Cone_t > _cone_v
std::vector< geoalgo::Point_t > _pt_v
Representation of a 3D semi-infinite line. Defines a semi-infinite 3D line by having a start point (P...
std::vector< std::string > _trj_col
std::vector< std::string > _lin_col
std::vector< geoalgo::AABox_t > _box_v
const AABox_t & _AABox_(size_t i) const
std::vector< std::string > _pt_col
const Sphere_t & _Sphere_(size_t i) const
std::vector< std::string > _sphere_col
const std::vector< std::string > & AABoxColor() const
std::vector< std::string > _seg_col
const std::vector< geoalgo::Cone_t > & Cone() const
const std::vector< geoalgo::AABox_t > & AABox() const