1 #ifndef TIME_VARIANT_COLLISION_OBJECT_H_ 2 #define TIME_VARIANT_COLLISION_OBJECT_H_ 16 typedef std::shared_ptr<TimeVariantCollisionObject>
18 typedef std::shared_ptr<const TimeVariantCollisionObject>
38 return *(collision_object_at_time_ptr_.begin());
48 bool rayTrace(
const Eigen::Vector2d &point1,
const Eigen::Vector2d &point2,
49 std::vector<LineSegment> &intersect)
const;
52 virtual void print(std::ostringstream &stream)
const;
56 std::list<CollisionObjectConstPtr>> &parent_map)
const;
72 std::vector<CollisionObjectConstPtr> collision_object_at_time_;
73 std::vector<const CollisionObject *> collision_object_at_time_ptr_;
76 typedef std::shared_ptr<TimeVariantCollisionObject>
78 typedef std::shared_ptr<const TimeVariantCollisionObject>
TimeVariantCollisionObject can contain a different CollisionObject or ShapeGroup at each time step...
const CollisionObject * getObstacleAtTimePtr(int time_idx) const
TimeVariantCollisionObject(int time_start_idx)
Creates a new TimeVariantCollisionObject.
int time_start_idx() const
std::shared_ptr< const TimeVariantCollisionObject > TimeVariantCollisionObjectConstPtr
std::shared_ptr< const CollisionObject > CollisionObjectConstPtr
const CollisionObject * getFirstObstaclePtr() const
bool rayTrace(const Eigen::Vector2d &point1, const Eigen::Vector2d &point2, std::vector< LineSegment > &intersect) const
virtual void addParentMap(std::unordered_map< const CollisionObject *, std::list< CollisionObjectConstPtr >> &parent_map) const
int appendObstacle(CollisionObjectConstPtr obstacle)
virtual CollisionObjectConstPtr timeSlice(int time_idx, CollisionObjectConstPtr shared_ptr_this) const
virtual ~TimeVariantCollisionObject()
CollisionObjectConstPtr getObstacleAtTime(int time_idx) const
CollisionObjectClass getCollisionObjectClass() const
Base class for CollisionObjects and some of their groups.
virtual CollisionObjectType getCollisionObjectType() const
virtual void print(std::ostringstream &stream) const
Print all parameters of the shape.
Provides functionality to use different collision solvers.
std::shared_ptr< TimeVariantCollisionObject > TimeVariantCollisionObjectPtr