undo commit
This commit is contained in:
parent
fd27a98876
commit
e5f49c53dd
@ -399,28 +399,33 @@ void Draw::DrawAABB(const b3AABB3& aabb, const b3Color& color)
|
|||||||
b3Vec3 lower = aabb.m_lower;
|
b3Vec3 lower = aabb.m_lower;
|
||||||
b3Vec3 upper = aabb.m_upper;
|
b3Vec3 upper = aabb.m_upper;
|
||||||
|
|
||||||
b3Vec3 vs[b3AABB3Vertex::e_aabb3VertexCount];
|
b3Vec3 vs[8];
|
||||||
aabb.GetVertices(vs);
|
|
||||||
|
|
||||||
// Back
|
vs[0] = lower;
|
||||||
DrawSegment(vs[b3AABB3Vertex::e_leftDownBackVertex], vs[b3AABB3Vertex::e_rightDownBackVertex], color);
|
vs[1] = b3Vec3(lower.x, upper.y, lower.z);
|
||||||
DrawSegment(vs[b3AABB3Vertex::e_rightDownBackVertex], vs[b3AABB3Vertex::e_rightUpBackVertex], color);
|
vs[2] = b3Vec3(upper.x, upper.y, lower.z);
|
||||||
DrawSegment(vs[b3AABB3Vertex::e_rightUpBackVertex], vs[b3AABB3Vertex::e_leftUpBackVertex], color);
|
vs[3] = b3Vec3(upper.x, lower.y, lower.z);
|
||||||
DrawSegment(vs[b3AABB3Vertex::e_leftUpBackVertex], vs[e_leftDownBackVertex], color);
|
|
||||||
|
|
||||||
// Front
|
vs[4] = upper;
|
||||||
DrawSegment(vs[b3AABB3Vertex::e_leftDownFrontVertex], vs[b3AABB3Vertex::e_rightDownFrontVertex], color);
|
vs[5] = b3Vec3(upper.x, lower.y, upper.z);
|
||||||
DrawSegment(vs[b3AABB3Vertex::e_rightDownFrontVertex], vs[b3AABB3Vertex::e_rightUpFrontVertex], color);
|
vs[6] = b3Vec3(lower.x, lower.y, upper.z);
|
||||||
DrawSegment(vs[b3AABB3Vertex::e_rightUpFrontVertex], vs[b3AABB3Vertex::e_leftUpFrontVertex], color);
|
vs[7] = b3Vec3(lower.x, upper.y, upper.z);
|
||||||
DrawSegment(vs[b3AABB3Vertex::e_leftUpFrontVertex], vs[e_leftDownFrontVertex], color);
|
|
||||||
|
|
||||||
// Upper Edges
|
DrawSegment(vs[0], vs[1], color);
|
||||||
DrawSegment(vs[b3AABB3Vertex::e_leftUpBackVertex], vs[b3AABB3Vertex::e_leftUpFrontVertex], color);
|
DrawSegment(vs[1], vs[2], color);
|
||||||
DrawSegment(vs[b3AABB3Vertex::e_rightUpBackVertex], vs[b3AABB3Vertex::e_rightUpFrontVertex], color);
|
DrawSegment(vs[2], vs[3], color);
|
||||||
|
DrawSegment(vs[3], vs[0], color);
|
||||||
|
|
||||||
// Lower Edges
|
DrawSegment(vs[4], vs[5], color);
|
||||||
DrawSegment(vs[b3AABB3Vertex::e_leftDownBackVertex], vs[b3AABB3Vertex::e_leftDownFrontVertex], color);
|
DrawSegment(vs[5], vs[6], color);
|
||||||
DrawSegment(vs[b3AABB3Vertex::e_rightDownBackVertex], vs[b3AABB3Vertex::e_rightDownFrontVertex], color);
|
DrawSegment(vs[6], vs[7], color);
|
||||||
|
DrawSegment(vs[7], vs[4], color);
|
||||||
|
|
||||||
|
DrawSegment(vs[2], vs[4], color);
|
||||||
|
DrawSegment(vs[5], vs[3], color);
|
||||||
|
|
||||||
|
DrawSegment(vs[6], vs[0], color);
|
||||||
|
DrawSegment(vs[1], vs[7], color);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Draw::DrawString(const b3Color& color, const b3Vec2& ps, const char* text, ...)
|
void Draw::DrawString(const b3Color& color, const b3Vec2& ps, const char* text, ...)
|
||||||
|
@ -21,41 +21,12 @@
|
|||||||
|
|
||||||
#include <bounce/common/math/transform.h>
|
#include <bounce/common/math/transform.h>
|
||||||
|
|
||||||
enum b3AABB3Vertex
|
|
||||||
{
|
|
||||||
e_leftDownBackVertex,
|
|
||||||
e_rightDownBackVertex,
|
|
||||||
e_rightUpBackVertex,
|
|
||||||
e_leftUpBackVertex,
|
|
||||||
|
|
||||||
e_leftDownFrontVertex,
|
|
||||||
e_rightDownFrontVertex,
|
|
||||||
e_rightUpFrontVertex,
|
|
||||||
e_leftUpFrontVertex,
|
|
||||||
|
|
||||||
e_aabb3VertexCount
|
|
||||||
};
|
|
||||||
|
|
||||||
// A min-max representation of a three-dimensional AABB.
|
// A min-max representation of a three-dimensional AABB.
|
||||||
struct b3AABB3
|
struct b3AABB3
|
||||||
{
|
{
|
||||||
b3Vec3 m_lower; // lower vertex
|
b3Vec3 m_lower; // lower vertex
|
||||||
b3Vec3 m_upper; // upper vertex
|
b3Vec3 m_upper; // upper vertex
|
||||||
|
|
||||||
// Get the AABB corners enumerated using b3AABB3Vertex.
|
|
||||||
void GetVertices(b3Vec3 out[e_aabb3VertexCount]) const
|
|
||||||
{
|
|
||||||
out[e_leftDownBackVertex].Set(m_lower.x, m_lower.y, m_lower.z);
|
|
||||||
out[e_rightDownBackVertex].Set(m_upper.x, m_lower.y, m_lower.z);
|
|
||||||
out[e_rightUpBackVertex].Set(m_upper.x, m_upper.y, m_lower.z);
|
|
||||||
out[e_leftUpBackVertex].Set(m_lower.x, m_upper.y, m_lower.z);
|
|
||||||
|
|
||||||
out[e_leftDownFrontVertex].Set(m_lower.x, m_lower.y, m_upper.z);
|
|
||||||
out[e_rightDownFrontVertex].Set(m_upper.x, m_lower.y, m_upper.z);
|
|
||||||
out[e_rightUpFrontVertex].Set(m_upper.x, m_upper.y, m_upper.z);
|
|
||||||
out[e_leftUpFrontVertex].Set(m_lower.x, m_upper.y, m_upper.z);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get the support vertex in a given direction.
|
// Get the support vertex in a given direction.
|
||||||
b3Vec3 GetSupportVertex(const b3Vec3& direction) const
|
b3Vec3 GetSupportVertex(const b3Vec3& direction) const
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user