SFCGAL  2.3.0
Public Types | Public Attributes | List of all members
SFCGAL::algorithm::SweepOptions Struct Reference

Options for controlling sweep operation behavior. More...

#include <Sweep.h>

Public Types

enum  FrameMethod : std::uint8_t { FrameMethod::ROTATION_MINIMIZING, FrameMethod::SEGMENT_ALIGNED }
 Frame computation method for sweep operation. More...
 
enum  EndCapStyle : std::uint8_t { EndCapStyle::NONE, EndCapStyle::FLAT }
 End cap style for sweep termination. More...
 

Public Attributes

FrameMethod frame_method = FrameMethod::ROTATION_MINIMIZING
 Method used to compute the reference frame along the path. More...
 
EndCapStyle start_cap = EndCapStyle::FLAT
 Style for the start of the sweep. More...
 
EndCapStyle end_cap = EndCapStyle::FLAT
 Style for the end of the sweep. More...
 
bool closed_path = false
 If true, connects the end of the path back to the start. More...
 
double anchor_x = 0.0
 Anchor point X coordinate in profile space (default: 0.0) The anchor point of the profile is the point that will travel exactly along the path. More...
 
double anchor_y = 0.0
 Anchor point Y coordinate in profile space (default: 0.0) More...
 
std::optional< Kernel::Vector_3 > reference_normal = std::nullopt
 Optional reference vector to orient the profile consistently. More...
 

Detailed Description

Options for controlling sweep operation behavior.

Member Enumeration Documentation

End cap style for sweep termination.

Enumerator
NONE 

Tube remains open at ends.

FLAT 

Tube is closed with flat faces.

Frame computation method for sweep operation.

Enumerator
ROTATION_MINIMIZING 

Rotation Minimizing Frame (RMF) / Double Reflection Method.

Best for smooth, organic paths (pipes, cables, knots). Computes frames that minimize twist around the tangent. Based on: Wang, W., et al. (2008). "Computation of rotation minimizing frames". ACM Transactions on Graphics, 27(1), 1-18.

SEGMENT_ALIGNED 

Segment Aligned (Discrete Miter).

Best for architecture, mechanical parts, and CAD (beams, walls). Does not use continuous frame propagation. Instead, computes a constant orientation for each segment and projects vertices onto bisector planes at corners to create perfect miter joins.

Member Data Documentation

double SFCGAL::algorithm::SweepOptions::anchor_x = 0.0

Anchor point X coordinate in profile space (default: 0.0) The anchor point of the profile is the point that will travel exactly along the path.

double SFCGAL::algorithm::SweepOptions::anchor_y = 0.0

Anchor point Y coordinate in profile space (default: 0.0)

bool SFCGAL::algorithm::SweepOptions::closed_path = false

If true, connects the end of the path back to the start.

EndCapStyle SFCGAL::algorithm::SweepOptions::end_cap = EndCapStyle::FLAT

Style for the end of the sweep.

FrameMethod SFCGAL::algorithm::SweepOptions::frame_method = FrameMethod::ROTATION_MINIMIZING

Method used to compute the reference frame along the path.

std::optional<Kernel::Vector_3> SFCGAL::algorithm::SweepOptions::reference_normal = std::nullopt

Optional reference vector to orient the profile consistently.

If provided, the frame's normal direction is aligned with this vector (projected onto the plane perpendicular to the path tangent). Used internally by chamfer to align the cutting profile with face normals. Only affects SEGMENT_ALIGNED frame method.

EndCapStyle SFCGAL::algorithm::SweepOptions::start_cap = EndCapStyle::FLAT

Style for the start of the sweep.