14 #ifndef BASICTOOL_GEOOBJCOLLECTION_H 15 #define BASICTOOL_GEOOBJCOLLECTION_H 40 void Add(
const Point_t&
pt, std::string label =
"", std::string c =
"");
42 void Add(
const AABox_t& box, std::string label =
"", std::string c =
"");
44 void Add(
const LineSegment_t& seg, std::string label =
"", std::string c =
"");
46 void Add(
const HalfLine_t& seg, std::string label =
"", std::string c =
"");
48 void Add(
const Trajectory_t& trj, std::string label =
"", std::string c =
"");
50 void Add(
const Cone_t& cone, std::string label =
"", std::string c =
"");
52 void Add(
const Sphere_t& sphere, std::string label =
"", std::string c =
"");
54 const std::vector<geoalgo::Point_t>&
Point()
const {
return _pt_v; }
57 const std::vector<geoalgo::AABox_t>&
AABox()
const {
return _box_v; }
69 const std::vector<geoalgo::Cone_t>&
Cone()
const {
return _cone_v; }
75 const std::map<geoalgo::Point_t, std::string>&
Labels()
const {
return _labels; }
92 std::vector<geoalgo::Point_t>
_pt_v;
94 std::vector<geoalgo::AABox_t>
_box_v;
96 std::vector<geoalgo::LineSegment_t>
_seg_v;
98 std::vector<geoalgo::HalfLine_t>
_lin_v;
100 std::vector<geoalgo::Trajectory_t>
_trj_v;
106 std::map<geoalgo::Point_t, std::string>
_labels;
const Point_t & _Point_(size_t i) const
std::vector< std::string > _pt_col
const std::vector< geoalgo::AABox_t > & AABox() const
void _AddLabel_(const Point_t &pt, std::string label)
std::vector< geoalgo::AABox_t > _box_v
const std::vector< geoalgo::LineSegment_t > & LineSegment() const
const Cone_t & _Cone_(size_t i) const
std::vector< std::string > _cone_col
Class def header for a class HalfLine.
std::vector< geoalgo::Cone_t > _cone_v
const std::vector< geoalgo::Cone_t > & Cone() const
Representation of a simple 3D line segment Defines a finite 3D straight line by having the start and ...
std::vector< geoalgo::Sphere > _sphere_v
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): .
void Add(const Point_t &pt, std::string label="", std::string c="")
Class def header for a class HalfLine.
const std::vector< std::string > & HalfLineColor() const
std::map< geoalgo::Point_t, std::string > _labels
Class def header for a class AABox.
const Trajectory_t & _Trajectory_(size_t i) const
std::vector< std::string > _trj_col
const std::vector< std::string > & AABoxColor() const
const std::vector< geoalgo::Point_t > & Point() const
const LineSegment_t & _LineSegment_(size_t i) const
std::vector< std::string > _box_col
Representation of a 3D semi-infinite line. Defines a 3D cone with the following properties: Start po...
std::vector< geoalgo::Trajectory_t > _trj_v
Class def header for a class Point and Vector.
const std::vector< std::string > & PointColor() const
const std::vector< std::string > & ConeColor() const
const std::vector< geoalgo::Trajectory_t > & Trajectory() const
Class def header for a class HalfLine.
const std::vector< geoalgo::HalfLine_t > & HalfLine() const
std::vector< geoalgo::HalfLine_t > _lin_v
const std::vector< std::string > & SphereColor() const
const std::vector< std::string > & LineSegmentColor() const
std::vector< std::string > _lin_col
Representation of a 3D semi-infinite line. Defines a semi-infinite 3D line by having a start point (P...
const std::vector< geoalgo::Sphere_t > & Sphere() const
std::vector< std::string > _sphere_col
Class def header for a class Trajectory.
Class def header for a class LineSegment.
std::vector< std::string > _seg_col
const AABox_t & _AABox_(size_t i) const
const Sphere_t & _Sphere_(size_t i) const
std::vector< geoalgo::Point_t > _pt_v
const std::vector< std::string > & TrajectoryColor() const
const std::map< geoalgo::Point_t, std::string > & Labels() const
std::vector< geoalgo::LineSegment_t > _seg_v