API Docs for: 0.6.1
Show:

ConvexPolyhedron Class

A set of polygons describing a convex shape.

Constructor

ConvexPolyhedron

(
  • points
  • faces
)

Parameters:

  • points Array

    An array of Vec3's

  • faces Array

    Array of integer arrays, describing which vertices that is included in each face.

Methods

calculateLocalInertia

(
  • mass
  • target
)

Inherited from Shape but overwritten in src/shapes/ConvexPolyhedron.js:413

Parameters:

  • mass Number
  • target Vec3

calculateWorldAABB

(
  • pos
  • quat
  • min
  • max
)

Parameters:

clipAgainstHull

(
  • posA
  • quatA
  • hullB
  • posB
  • quatB
  • separatingNormal
  • minDist
  • maxDist
  • result
)

Parameters:

clipFaceAgainstHull

(
  • separatingNormal
  • posA
  • quatA
  • worldVertsB1
  • minDist
  • maxDist
  • Array
)

Clip a face against a hull.

Parameters:

  • separatingNormal Vec3
  • posA Vec3
  • quatA Quaternion
  • worldVertsB1 Array

    An array of Vec3 with vertices in the world frame.

  • minDist Number

    Distance clamping

  • maxDist Number
  • Array Object

    result Array to store resulting contact points in. Will be objects with properties: point, depth, normal. These are represented in world coordinates.

clipFaceAgainstPlane

(
  • inVertices
  • outVertices
  • planeNormal
  • planeConstant
)

Clip a face in a hull against the back of a plane.

Parameters:

  • inVertices Array
  • outVertices Array
  • planeNormal Vec3
  • planeConstant Number

    The constant in the mathematical plane equation

computeEdges

()

Computes uniqueEdges

computeNormals

()

Compute the normals of the faces. Will reuse existing Vec3 objects in the .faceNormals array if they exist.

computeWorldFaceNormals

(
  • quat
)

Updates .worldVertices and sets .worldVerticesNeedsUpdate to false.

Parameters:

findSeparatingAxis

(
  • hullB
  • posA
  • quatA
  • posB
  • quatB
  • target
)
Bool

Find the separating axis between this hull and another

Parameters:

Returns:

Bool:

Returns false if a separation is found, else true

getAveragePointLocal

(
  • target
)
Vec3

Get an average of all the vertices positions

Parameters:

Returns:

Vec3:

getFaceNormal

(
  • i
  • target
)

Compute the normal of a face from its vertices

Parameters:

  • i Number
  • target Vec3

getFaceNormal

(
  • va
  • vb
  • vc
  • target
)
static

Get face normal given 3 vertices

Parameters:

getPlaneConstantOfFace

(
  • face_i
)
Number

Parameters:

  • face_i Number

    Index of the face

Returns:

Number:

pointIsInside

(
  • p
)
Boolean

Checks whether p is inside the polyhedra. Must be in local coords. The point lies outside of the convex hull of the other points if and only if the direction of all the vectors from it to those other points are on less than one half of a sphere around it.

Parameters:

  • p Vec3

    A point given in local coordinates

Returns:

Boolean:

project

(
  • hull
  • axis
  • pos
  • quat
  • result
)
static

Get max and min dot product of a convex hull at position (pos,quat) projected onto an axis. Results are saved in the array maxmin.

Parameters:

testSepAxis

(
  • axis
  • hullB
  • posA
  • quatA
  • posB
  • quatB
)
Number

Test separating axis against two hulls. Both hulls are projected onto the axis and the overlap size is returned if there is one.

Parameters:

Returns:

Number:

The overlap depth, or FALSE if no penetration.

transformAllPoints

(
  • offset
  • quat
)

Transform all local points. Will change the .vertices

Parameters:

updateBoundingSphereRadius

()

Inherited from Shape but overwritten in src/shapes/ConvexPolyhedron.js:709

volume

() Number

Inherited from Shape but overwritten in src/shapes/ConvexPolyhedron.js:764

Get approximate convex volume

Returns:

Number:

Properties

boundingSphereRadius

Number

Inherited from Shape: src/shapes/Shape.js:31

The local bounding sphere radius of this shape.

collisionResponse

Boolean

Inherited from Shape: src/shapes/Shape.js:37

Whether to produce contact forces when in contact with other bodies. Note that contacts will be generated, but they will be disabled.

faceNormals

Array

Array of Vec3

faces

Array

Array of integer arrays, indicating which vertices each face consists of

id

Number

Inherited from Shape: src/shapes/Shape.js:17

Identifyer of the Shape.

material

Material

Inherited from Shape: src/shapes/Shape.js:43

type

Number

Inherited from Shape: src/shapes/Shape.js:23

The type of this shape. Must be set to an int > 0 by subclasses.

uniqueAxes

Array

If given, these locally defined, normalized axes are the only ones being checked when doing separating axis check.

uniqueEdges

Array

Array of Vec3

vertices

Array

Array of Vec3