ImplicitSurfaceSet3.h
Go to the documentation of this file.
99 class ImplicitSurfaceSet3::Builder final : public SurfaceBuilderBase3<ImplicitSurfaceSet3::Builder>
size_t NumberOfSurfaces() const
Returns the number of implicit surfaces.
ImplicitSurfaceSet3()
Constructs an empty implicit surface set.
Front-end to create ImplicitSurfaceSet3 objects step by step.
Definition: ImplicitSurfaceSet3.h:99
Builder & WithExplicitSurfaces(const std::vector< Surface3Ptr > &surfaces)
Returns builder with explicit surfaces.
std::shared_ptr< ImplicitSurface3 > ImplicitSurface3Ptr
Shared pointer type for the ImplicitSurface3.
Definition: ImplicitSurface3.h:43
ImplicitSurfaceSet3Ptr MakeShared() const
Builds shared pointer of ImplicitSurfaceSet3 instance.
Structure that represents ray-surface intersection point.
Definition: Surface3.h:23
static Builder GetBuilder()
Returns builder for ImplicitSurfaceSet3.
Builder & WithSurfaces(const std::vector< ImplicitSurface3Ptr > &surfaces)
Returns builder with surfaces.
Definition: pybind11Utils.h:24
Transform3 transform
Local-to-world transform.
Definition: Surface3.h:36
std::shared_ptr< Surface3 > Surface3Ptr
Shared pointer for the Surface3 type.
Definition: Surface3.h:100
bool isNormalFlipped
Flips normal when calling Surface3::closestNormal(...).
Definition: Surface3.h:39
Abstract base class for 3-D implicit surface.
Definition: ImplicitSurface3.h:17
const ImplicitSurface3Ptr & SurfaceAt(size_t i) const
Returns the i-th implicit surface.
void AddSurface(const ImplicitSurface3Ptr &surface)
Adds an implicit surface instance.
ImplicitSurfaceSet3 Build() const
Builds ImplicitSurfaceSet3.
void AddExplicitSurface(const Surface3Ptr &surface)
Adds an explicit surface instance.
void UpdateQueryEngine() override
Updates internal spatial query engine.
std::shared_ptr< ImplicitSurfaceSet3 > ImplicitSurfaceSet3Ptr
Shared pointer type for the ImplicitSurfaceSet3.
Definition: ImplicitSurfaceSet3.h:94