Project
Loading...
Searching...
No Matches
o2::cad::O2BVHSurfaceSolid::PlanarBoundaryCurve Struct Reference

One boundary curve in the surface's local (u, v) frame: a line segment, a circular arc or a clamped (rational) B-spline. More...

#include <O2BVHSurfaceSolid.h>

Public Types

enum  Kind { Line , Arc , BSpline }
 

Static Public Member Functions

static PlanarBoundaryCurve makeLine (const Point2D &start, const Point2D &end)
 
static PlanarBoundaryCurve makeArc (const Point2D &c, double r, double start, double end)
 
static PlanarBoundaryCurve makeBSpline (int splineDegree, std::vector< Point2D > splinePoles, std::vector< double > splineWeights, std::vector< double > splineKnots)
 

Public Attributes

Kind kind = Line
 
Point2D lineStart {0., 0.}
 
Point2D lineEnd {0., 0.}
 
Point2D center {0., 0.}
 
double radius = 0.
 
double startAngle = 0.
 
double endAngle = 0.
 
int degree = 0
 B-spline degree.
 
std::vector< Point2Dpoles
 B-spline control points.
 
std::vector< double > weights
 B-spline weights (empty ⇒ non-rational)
 
std::vector< double > knots
 B-spline clamped flat knot vector.
 

Detailed Description

One boundary curve in the surface's local (u, v) frame: a line segment, a circular arc or a clamped (rational) B-spline.

Definition at line 97 of file O2BVHSurfaceSolid.h.

Member Enumeration Documentation

◆ Kind

Enumerator
Line 
Arc 
BSpline 

Definition at line 98 of file O2BVHSurfaceSolid.h.

Member Function Documentation

◆ makeArc()

static PlanarBoundaryCurve o2::cad::O2BVHSurfaceSolid::PlanarBoundaryCurve::makeArc ( const Point2D c,
double  r,
double  start,
double  end 
)
inlinestatic

Definition at line 121 of file O2BVHSurfaceSolid.h.

◆ makeBSpline()

static PlanarBoundaryCurve o2::cad::O2BVHSurfaceSolid::PlanarBoundaryCurve::makeBSpline ( int  splineDegree,
std::vector< Point2D splinePoles,
std::vector< double >  splineWeights,
std::vector< double >  splineKnots 
)
inlinestatic

Definition at line 131 of file O2BVHSurfaceSolid.h.

◆ makeLine()

static PlanarBoundaryCurve o2::cad::O2BVHSurfaceSolid::PlanarBoundaryCurve::makeLine ( const Point2D start,
const Point2D end 
)
inlinestatic

Definition at line 113 of file O2BVHSurfaceSolid.h.

Member Data Documentation

◆ center

Point2D o2::cad::O2BVHSurfaceSolid::PlanarBoundaryCurve::center {0., 0.}

Definition at line 104 of file O2BVHSurfaceSolid.h.

◆ degree

int o2::cad::O2BVHSurfaceSolid::PlanarBoundaryCurve::degree = 0

B-spline degree.

Definition at line 108 of file O2BVHSurfaceSolid.h.

◆ endAngle

double o2::cad::O2BVHSurfaceSolid::PlanarBoundaryCurve::endAngle = 0.

Definition at line 107 of file O2BVHSurfaceSolid.h.

◆ kind

Kind o2::cad::O2BVHSurfaceSolid::PlanarBoundaryCurve::kind = Line

Definition at line 101 of file O2BVHSurfaceSolid.h.

◆ knots

std::vector<double> o2::cad::O2BVHSurfaceSolid::PlanarBoundaryCurve::knots

B-spline clamped flat knot vector.

Definition at line 111 of file O2BVHSurfaceSolid.h.

◆ lineEnd

Point2D o2::cad::O2BVHSurfaceSolid::PlanarBoundaryCurve::lineEnd {0., 0.}

Definition at line 103 of file O2BVHSurfaceSolid.h.

◆ lineStart

Point2D o2::cad::O2BVHSurfaceSolid::PlanarBoundaryCurve::lineStart {0., 0.}

Definition at line 102 of file O2BVHSurfaceSolid.h.

◆ poles

std::vector<Point2D> o2::cad::O2BVHSurfaceSolid::PlanarBoundaryCurve::poles

B-spline control points.

Definition at line 109 of file O2BVHSurfaceSolid.h.

◆ radius

double o2::cad::O2BVHSurfaceSolid::PlanarBoundaryCurve::radius = 0.

Definition at line 105 of file O2BVHSurfaceSolid.h.

◆ startAngle

double o2::cad::O2BVHSurfaceSolid::PlanarBoundaryCurve::startAngle = 0.

Definition at line 106 of file O2BVHSurfaceSolid.h.

◆ weights

std::vector<double> o2::cad::O2BVHSurfaceSolid::PlanarBoundaryCurve::weights

B-spline weights (empty ⇒ non-rational)

Definition at line 110 of file O2BVHSurfaceSolid.h.


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