Click or drag to resize
DigitalRuneDigitalRune Geometry
DigitalRune Geometry

DigitalRune Geometry is a .NET class library containing types and algorithms to solve geometrical problems, in particular general purpose collision detection. The library was designed for use in computer graphics, video games and virtual reality applications.

This topic contains the following sections:

Features

Here is an overview of features in this product.

General

  • Intended and optimized for use in 3D real-time applications
  • Multithreading support
  • Extensible: Users can add new shape types, collision algorithms, collision filters or spatial partitioning methods

Collision shapes

  • Primitives: box, capsule, circle, cone, cylinder, height field, line, line segment, orthographic view volume, perspective view volume (frustum), plane, point, ray, rectangle, sphere, triangle
  • Compound shapes: composites of primitives, convex hull of points, convex hull of shapes, Minkowski sum, Minkowski difference, triangle mesh
  • Uniform and non-uniform scaling of shapes
  • Automatic computation of tight-fitting bounding shapes (bounding spheres, bounding capsules, oriented bounding boxes and convex hulls)
  • Volume computation for all shapes and closed triangle meshes

Collision detection

  • Supported collision queries:
    • Have-contact queries (boolean queries)
    • Closest-point queries (proximity queries)
    • Contact queries (intersection queries incl. contact positions, normal vectors and penetration depths) and ray casting
    • Time-of-impact queries (Continuous Collision Detection, CCD)
  • Customizable collision filtering
  • Broad phase collision detection
  • Trigger objects
  • Contact filtering and contact reduction
  • Persistent contacts and contact caching

Mesh manipulation

  • Mesh representation using doubly-connected edge lists (DCEL)
  • Convex hull creation and simplification
  • Automatic approximation of triangle meshes for arbitrary convex shapes (using support map sampling)
  • Approximate Convex Decomposition (ACD)
  • ...

Spatial partitioning

  • Axis-aligned bounding box tree
  • Compressed axis-aligned bounding box tree for memory intense objects
  • Dynamic axis-aligned bounding box tree for dynamic objects
  • Adaptive axis-aligned bounding box tree for large deformable meshes
  • Sweep and Prune method
  • Dual partition broad-phase method
  • ...
Namespaces
Subtopics