pub trait PointcloudReconstruction: Backend {
// Required method
fn reconstruct(
&self,
cloud: &PointCloud,
request: &ReconstructionRequest,
options: &ExecutionOptions,
) -> GeomResult<Reconstruction>;
// Provided methods
fn scratch_requirement(&self) -> ScratchRequirement { ... }
fn determinism(&self) -> Determinism { ... }
fn cancellation_granularity(&self) -> CancellationGranularity { ... }
fn minimum_points(&self) -> usize { ... }
}Expand description
Pointcloud-to-surface reconstruction provider.
Implementing this trait is the capability declaration: a type that implements it claims it can turn an unstructured point set into a surface. Providers that cannot must not implement it.
Required Methods§
Sourcefn reconstruct(
&self,
cloud: &PointCloud,
request: &ReconstructionRequest,
options: &ExecutionOptions,
) -> GeomResult<Reconstruction>
fn reconstruct( &self, cloud: &PointCloud, request: &ReconstructionRequest, options: &ExecutionOptions, ) -> GeomResult<Reconstruction>
Reconstruct a surface from a point set.
Returns Reconstruction::Refused with a typed reason when the
request cannot be honoured. An Err is reserved for a failure of
the machinery itself — a refusal is an answer, not an error.
Provided Methods§
Sourcefn scratch_requirement(&self) -> ScratchRequirement
fn scratch_requirement(&self) -> ScratchRequirement
Scratch this provider needs beyond its inputs and result.
Defaults to ScratchRequirement::Unbounded so an unaudited
provider is treated as unbudgetable rather than assumed cheap.
Reconstruction is memory-hungry — an octree over a hundred million
points is not a detail a caller should discover by being killed.
Sourcefn determinism(&self) -> Determinism
fn determinism(&self) -> Determinism
Reproducibility this provider guarantees.
Defaults to the weakest level so a provider that has not audited itself cannot silently satisfy a stronger request.
Sourcefn cancellation_granularity(&self) -> CancellationGranularity
fn cancellation_granularity(&self) -> CancellationGranularity
How finely this provider observes cancellation.
Defaults to CancellationGranularity::None: a provider that has
not audited its own polling must not advertise responsiveness it
cannot deliver. Reconstruction runs long, so overstating this is
exactly the case a caller would feel.
Sourcefn minimum_points(&self) -> usize
fn minimum_points(&self) -> usize
Minimum points this provider needs to attempt a reconstruction.
Callers can check before paying for a large request. A provider still refuses by name if given fewer.