Capycore Engine  0.1.0
A simple and lightweight game engine written in C++ based on the Unity API architecture.
Loading...
Searching...
No Matches
physics_raycaster.h
Go to the documentation of this file.
1#pragma once
2
3#include <box2d/box2d.h>
6
7#include <memory>
8#include <vector>
9
17 public:
18 PhysicsRaycaster(b2WorldId world_id);
19
29 ColliderRayResult raycast_closest(const b2Vec2& origin,
30 const b2Vec2& translation);
31
42 std::vector<ColliderRayResult> raycast_all(const b2Vec2& origin,
43 const b2Vec2& translation,
44 b2QueryFilter filter = {});
45
56 std::vector<ColliderRayResult> raycast_filtered(const b2Vec2& origin,
57 const b2Vec2& translation,
58 uint16_t category_mask);
59
69 ColliderRayResult raycast_segment(const b2Vec2& start, const b2Vec2& end);
70
71 private:
72 b2WorldId world_id_;
73};
Class responsible for raycasting in the physics world.
Definition physics_raycaster.h:16
PhysicsRaycaster(b2WorldId world_id)
ColliderRayResult raycast_closest(const b2Vec2 &origin, const b2Vec2 &translation)
Closest hit.
std::vector< ColliderRayResult > raycast_filtered(const b2Vec2 &origin, const b2Vec2 &translation, uint16_t category_mask)
Filtered hits by category mask.
std::vector< ColliderRayResult > raycast_all(const b2Vec2 &origin, const b2Vec2 &translation, b2QueryFilter filter={})
All hits.
ColliderRayResult raycast_segment(const b2Vec2 &start, const b2Vec2 &end)
Raycast segment.
Structure representing the result of a raycast in the physics world.
Definition collider_ray_result.h:13