SurfaceGroup class
#include <darts/surface_group.h>
A collection of Surfaces grouped together.
Provides an interface for treating a collection of Surfaces as a single Surface. This base class implements a naive linear-time intersection routine which simply intersects each ray with every child Surface.
This class also serves as the superclass for acceleration structures (such as BVHs, KD-Trees) which are responsible for performing ray-surface intersection tests against a collection of Surfaces.
Base classes
- class Surface
- This is the abstract superclass for all surfaces.
Derived classes
- struct BBH
- An axis-aligned bounding box hierarchy acceleration structure.
Constructors, destructors, conversion operators
- SurfaceGroup(const json& j = json::object())
- Create a new and empty naive accelerator.
Public functions
Protected variables
- vector<shared_ptr<Surface>> m_surfaces
- All children.