NDEVR
API Documentation
PathSliceIterator

Slices geometry at evenly spaced intervals along a specified polyline path, producing cross-section slices perpendicular or parallel to the path direction. More...

Inheritance diagram for PathSliceIterator:
[legend]
Collaboration diagram for PathSliceIterator:
[legend]

Public Attributes

Vector< 2, fltp08max_hv_distance = Vector<2, fltp08>(10, 30)
 Maximum horizontal and vertical distance from the slice plane for point inclusion.
Polyline< 3, fltp08path
 The polyline path along which slices are generated.
bool slice_horizontal_parallel = false
 Whether to generate horizontal slices parallel to the path direction.
bool slice_orthogonal = false
 Whether to generate slices orthogonal to the path direction.
bool slice_vertical_orthogonal = false
 Whether to generate vertical slices orthogonal to the path direction.
bool slice_vertical_parallel = false
 Whether to generate vertical slices parallel to the path direction.
fltp08 spacing = Constant<fltp08>::Invalid
 Distance between slice stations along the path.
Matrix< fltp08transform = Matrix<fltp08>(1.0)
 Transformation defining the path coordinate system.

Protected Member Functions

Polyline< 3, fltp08makeCenterlinePath (const Polyline< 3, fltp08 > &path)
 Constructs a centerline path from the input polyline, typically by resampling or smoothing to produce evenly distributed slice stations.

Private Member Functions

void cleanupSlicePlanes (const Matrix< fltp08 > &, Buffer< SlicePlane > &) override
 Post-processes path-based slice planes after slicing.
Buffer< SlicePlaneslicePlanes (const Matrix< fltp08 > &trans, const Bounds< 3, fltp08 > &bounds) override
 Generates slice planes at regular intervals along the polyline path.

Detailed Description

Slices geometry at evenly spaced intervals along a specified polyline path, producing cross-section slices perpendicular or parallel to the path direction.


Definition at line 100 of file PolylineSlicer.h.

Member Function Documentation

◆ cleanupSlicePlanes()

void PathSliceIterator::cleanupSlicePlanes ( const Matrix< fltp08 > & ,
Buffer< SlicePlane > &  )
overrideprivatevirtual

Post-processes path-based slice planes after slicing.

Parameters
[in]transformThe world-to-local transformation matrix used during slicing
[in]planesThe slice planes to clean up (modified in place)

Reimplemented from PolylineSliceIterator.

◆ makeCenterlinePath()

Polyline< 3, fltp08 > PathSliceIterator::makeCenterlinePath ( const Polyline< 3, fltp08 > & path)
protected

Constructs a centerline path from the input polyline, typically by resampling or smoothing to produce evenly distributed slice stations.

Parameters
[in]pathThe input polyline to derive the centerline from
Returns
A new polyline representing the centerline path

References path.

◆ slicePlanes()

Buffer< SlicePlane > PathSliceIterator::slicePlanes ( const Matrix< fltp08 > & trans,
const Bounds< 3, fltp08 > & bounds )
overrideprivatevirtual

Generates slice planes at regular intervals along the polyline path.

Parameters
[in]transThe world-to-local transformation matrix
[in]boundsThe 3D bounding box of the data to be sliced
Returns
A buffer of SlicePlane objects positioned along the path

Implements PolylineSliceIterator.


The documentation for this class was generated from the following file: