Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
CollideConvexVsTriangles.h
Go to the documentation of this file.
1// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
2// SPDX-FileCopyrightText: 2021 Jorrit Rouwe
3// SPDX-License-Identifier: MIT
4
5#pragma once
6
11
13
15
18{
19public:
29 CollideConvexVsTriangles(const ConvexShape *inShape1, Vec3Arg inScale1, Vec3Arg inScale2, Mat44Arg inCenterOfMassTransform1, Mat44Arg inCenterOfMassTransform2, const SubShapeID &inSubShapeID1, const CollideShapeSettings &inCollideShapeSettings, CollideShapeCollector &ioCollector);
30
36 void Collide(Vec3Arg inV0, Vec3Arg inV1, Vec3Arg inV2, uint8 inActiveEdges, const SubShapeID &inSubShapeID2);
37
38protected:
52 const ConvexShape::Support * mShape1ExCvxRadius = nullptr;
53 const ConvexShape::Support * mShape1IncCvxRadius = nullptr;
54};
55
std::uint8_t uint8
Definition: Core.h:440
#define JPH_EXPORT
Definition: Core.h:227
#define JPH_NAMESPACE_END
Definition: Core.h:367
#define JPH_NAMESPACE_BEGIN
Definition: Core.h:361
Axis aligned box.
Definition: AABox.h:16
Collision detection helper that collides a convex object vs one or more triangles.
Definition: CollideConvexVsTriangles.h:18
ConvexShape::SupportBuffer mBufferExCvxRadius
Buffer that holds the support function data excluding convex radius.
Definition: CollideConvexVsTriangles.h:50
float mScaleSign2
Sign of the scale of object 2, -1 if object is inside out, 1 if not.
Definition: CollideConvexVsTriangles.h:49
Vec3 mScale2
The scale of the shape (in shape local space) of the shape we're colliding against.
Definition: CollideConvexVsTriangles.h:43
Vec3 mScale1
The scale of the shape (in shape local space) of the shape we're colliding with.
Definition: CollideConvexVsTriangles.h:42
const ConvexShape * mShape1
The shape that we're colliding with.
Definition: CollideConvexVsTriangles.h:41
CollideShapeCollector & mCollector
The collector that will receive the results.
Definition: CollideConvexVsTriangles.h:40
AABox mBoundsOf1
Bounds of the colliding shape in local space.
Definition: CollideConvexVsTriangles.h:46
const CollideShapeSettings & mCollideShapeSettings
Settings for this collision operation.
Definition: CollideConvexVsTriangles.h:39
Mat44 mTransform1
Transform of the shape we're colliding with.
Definition: CollideConvexVsTriangles.h:44
ConvexShape::SupportBuffer mBufferIncCvxRadius
Buffer that holds the support function data including convex radius.
Definition: CollideConvexVsTriangles.h:51
AABox mBoundsOf1InSpaceOf2
Bounds of the colliding shape in space of shape we're colliding with.
Definition: CollideConvexVsTriangles.h:47
Mat44 mTransform2To1
Transform that takes a point in space of the colliding shape to the shape we're colliding with.
Definition: CollideConvexVsTriangles.h:45
SubShapeID mSubShapeID1
Sub shape ID of colliding shape.
Definition: CollideConvexVsTriangles.h:48
Settings to be passed with a collision query.
Definition: CollideShape.h:94
Virtual interface that allows collecting multiple collision results.
Definition: CollisionCollector.h:45
Buffer to hold a Support object, used to avoid dynamic memory allocations.
Definition: ConvexShape.h:85
Function that provides an interface for GJK.
Definition: ConvexShape.h:69
Base class for all convex shapes. Defines a virtual interface.
Definition: ConvexShape.h:36
Holds a 4x4 matrix of floats, but supports also operations on the 3x3 upper left part of the matrix.
Definition: Mat44.h:13
A sub shape id contains a path to an element (usually a triangle or other primitive type) of a compou...
Definition: SubShapeID.h:23
Definition: Vec3.h:16