Trait PointcloudReconstruction

Source
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§

Source

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§

Source

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.

Source

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.

Source

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.

Source

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.

Implementors§