8#include <argos3/core/utility/logging/argos_log.h>
9#include <argos3/core/utility/math/box.h>
10#include <argos3/core/simulator/simulator.h>
11#include <argos3/core/simulator/space/space.h>
12#include <argos3/plugins/simulator/physics_engines/pointmass3d/pointmass3d_engine.h>
19 m_cBoxEntity(c_box) {}
25 CVector3 cHalfSize = 0.5f * m_cBoxEntity.GetSize();
33 GetEmbodiedEntity().GetOriginAnchor().Position.GetZ() + m_cBoxEntity.GetSize().GetZ());
40 const CRay3& c_ray)
const {
41 CBox m_cShape(m_cBoxEntity.GetSize(),
#define REGISTER_STANDARD_POINTMASS3D_OPERATIONS_ON_ENTITY(SPACE_ENTITY, PM3D_ENTITY)
float Real
Collects all ARGoS code.
The namespace containing all the ARGoS related code.
const SBoundingBox & GetBoundingBox() const
Returns an axis-aligned box that contains the physics model.
CEmbodiedEntity & GetEmbodiedEntity()
Returns the embodied entity associated to this physics model.
bool Intersects(Real &f_t_on_ray, const CRay3 &c_ray)
Real GetX() const
Returns the x coordinate of this vector.
void Set(const Real f_x, const Real f_y, const Real f_z)
Sets the vector contents from Cartesian coordinates.
Real GetY() const
Returns the y coordinate of this vector.
CPointMass3DBoxModel(CPointMass3DEngine &c_engine, CBoxEntity &c_box)
virtual bool CheckIntersectionWithRay(Real &f_t_on_ray, const CRay3 &c_ray) const
virtual void CalculateBoundingBox()
Calculates the axis-aligned box that contains the entire physics model.
CPointMass3DModel(CPointMass3DEngine &c_engine, CEmbodiedEntity &c_entity)