Go to the documentation of this file.
    7 #ifndef INCLUDE_JET_COLLIDER3_H_ 
    8 #define INCLUDE_JET_COLLIDER3_H_ 
   32     typedef std::function<void(
Collider3*, 
double, 
double)>
 
   54         double restitutionCoefficient,
 
   73     void update(
double currentTimeInSeconds, 
double timeIntervalInSeconds);
 
  113     double _frictionCoeffient = 0.0;
 
  122 #endif  // INCLUDE_JET_COLLIDER3_H_ 
  
void setOnBeginUpdateCallback(const OnBeginUpdateCallback &callback)
Sets the callback function to be called when Collider2::update function is invoked.
Abstract base class for generic collider object.
Definition: collider3.h:24
Collider3()
Default constructor.
Vector3D normal
Definition: collider3.h:92
void getClosestPoint(const Surface3Ptr &surface, const Vector3D &queryPoint, ColliderQueryResult *result) const
Outputs closest point's information.
const Surface3Ptr & surface() const
Returns the surface instance.
void resolveCollision(double radius, double restitutionCoefficient, Vector3D *position, Vector3D *velocity)
Internal query result structure.
Definition: collider3.h:89
std::shared_ptr< Surface3 > Surface3Ptr
Shared pointer for the Surface3 type.
Definition: surface3.h:109
double distance
Definition: collider3.h:90
Definition: advection_solver2.h:18
double frictionCoefficient() const
Returns friction coefficent.
Vector3D velocity
Definition: collider3.h:93
void setSurface(const Surface3Ptr &newSurface)
Assigns the surface instance from the subclass.
std::function< void(Collider3 *, double, double)> OnBeginUpdateCallback
Callback function type for update calls.
Definition: collider3.h:33
Vector3D point
Definition: collider3.h:91
3-D vector class.
Definition: vector3.h:25
void setFrictionCoefficient(double newFrictionCoeffient)
Sets the friction coefficient.
virtual Vector3D velocityAt(const Vector3D &point) const =0
Returns the velocity of the collider at given point.
std::shared_ptr< Collider3 > Collider3Ptr
Shared pointer type for the Collider2.
Definition: collider3.h:118
void update(double currentTimeInSeconds, double timeIntervalInSeconds)
Updates the collider state.
bool isPenetrating(const ColliderQueryResult &colliderPoint, const Vector3D &position, double radius)
Returns true if given point is in the opposite side of the surface.
virtual ~Collider3()
Default destructor.