PCG-FPS
v2 m0.22.4
Simple First Person Shooter with Procedurally Generated Level
|
Go to the documentation of this file. 1 #ifndef SKR_FPS2_COLLISION_COLLISIONMANAGER_H
2 #define SKR_FPS2_COLLISION_COLLISIONMANAGER_H
4 #include "reactphysics3d.h"
10 #include "..\Renderer\OpenGL\RoomGeometry.h"
11 #include "..\Renderer\OpenGL\TargetGeometry.h"
54 void RayCast(glm::vec3 start, glm::vec3 dir);
60 void RayCast(rp3d::Vector3 start, rp3d::Vector3 dir);
112 #endif // !SKR_FPS2_COLLISION_COLLISIONMANAGER_H
glm::vec3 GetCurrentMeanNormalOfContactPoints()
calculates mean normal of all contact points depending on the size of the collision shapes,...
Definition: CollisionManager.cpp:109
defines a box used to collision
Definition: CollisionBox.h:21
rp3d::CollisionWorld * _collisionWorld
collision world
Definition: CollisionManager.h:85
implements rp3d::RaycastCallback from ReactPhysics3D Library Used in hit detection
Definition: RaycastCallback.h:19
void AddCollisionToTargets()
adds collision to all targets in all rooms
Definition: CollisionManager.cpp:473
initialization and handling of collisions and raycast basically everything that is released to or use...
Definition: CollisionManager.h:23
void RayCast(glm::vec3 start, glm::vec3 dir)
triggers raycast default length is used
Definition: CollisionManager.cpp:114
rp3d::CollisionWorld * CollisionWorld()
Gets pointer to the current collision world.
Definition: CollisionManager.cpp:129
void AddCollissionWallToRoom(Renderer::OpenGL::RoomGeometry &rg)
adds collision walls to specified room
Definition: CollisionManager.cpp:252
void CheckCollision(glm::vec3 currentPosition)
checks collision between objects and uses callback for notification
Definition: CollisionManager.cpp:89
void CheckOverlap(glm::vec3 currentPosition)
checks for overlaps between collision bodies as collision checks are quite expensive,...
Definition: CollisionManager.cpp:99
RaycastCallback _raycastCallback
raycast callback object
Definition: CollisionManager.h:90
void AddCollisionToTarget(Renderer::OpenGL::TargetGeometry &t)
adds collision boxes to all targest in a specified room
Definition: CollisionManager.cpp:490
OverlapCallback _overlapCallback
collision callback object
Definition: CollisionManager.h:87
bool DrawHits()
get value whethere hits are visualized or not
Definition: CollisionManager.cpp:134
manages geometry of a target
Definition: TargetGeometry.h:32
void AddCollisionToRooms()
Adds collision to all walls and targets in all rooms.
Definition: CollisionManager.cpp:159
size_t _hitModelId
model id of model for hit visualization
Definition: CollisionManager.h:92
void Init()
initialization creates collision world, creates player collision box, adds collision to rooms and tar...
Definition: CollisionManager.cpp:30
holds geometry of a room
Definition: RoomGeometry.h:24
CollisionManager()
constructor calls Init()
Definition: CollisionManager.cpp:24
CollisionBox _playerBox
collisionbox of the player
Definition: CollisionManager.h:86
Definition: AssetPath.h:10
implements rp3d::CollisionCallback from ReactPhysics3D Library Used in detection of collisions betwee...
Definition: CollisionCallback.h:35
void Cleanup()
destroy everything related to ReactPhysics3D (RP3D), as doing it in the destructor is too late....
Definition: CollisionManager.cpp:60
size_t HitModelId()
Gets the model id of the model used for hit visualization.
Definition: CollisionManager.cpp:144
RaycastCallback GetRaycastCallback()
Gets the current raycast callback object.
Definition: CollisionManager.cpp:139
bool _drawHits
value specifying whether hits are visualized. Default true
Definition: CollisionManager.h:91
CollisionCallback _collisionCallback
contact callback object
Definition: CollisionManager.h:88
void ClearHits()
clears list of registered hits
Definition: CollisionManager.cpp:154
void ResetContactPoints()
clears the list of contact points
Definition: CollisionManager.cpp:149
implements rp3d::OverlapCallback from ReactPhysics3D Library Used in detection of overlaps between co...
Definition: OverlapCallback.h:18