Horizon
Public Member Functions | Public Attributes | List of all members
DL_HatchEdgeData Struct Reference

Hatch edge data. More...

#include <dl_entities.h>

Public Member Functions

 DL_HatchEdgeData ()
 Default constructor.
 
 DL_HatchEdgeData (double x1, double y1, double x2, double y2)
 Constructor for a line edge. More...
 
 DL_HatchEdgeData (double cx, double cy, double radius, double angle1, double angle2, bool ccw)
 Constructor for an arc edge. More...
 
 DL_HatchEdgeData (double cx, double cy, double mx, double my, double ratio, double angle1, double angle2, bool ccw)
 Constructor for an ellipse arc edge. More...
 
 DL_HatchEdgeData (unsigned int degree, bool rational, bool periodic, unsigned int nKnots, unsigned int nControl, unsigned int nFit, const std::vector< double > &knots, const std::vector< std::vector< double > > &controlPoints, const std::vector< std::vector< double > > &fitPoints, const std::vector< double > &weights, double startTangentX, double startTangentY, double endTangentX, double endTangentY)
 Constructor for a spline edge. More...
 

Public Attributes

bool defined
 Set to true if this edge is fully defined.
 
int type = 1
 Edge type. More...
 
double x1
 
double y1
 
double x2
 
double y2
 
double cx = 0
 
double cy = 0
 
double radius = 0
 
double angle1 = 0
 
double angle2 = 0
 
bool ccw = 0
 
double mx = 0
 
double my = 0
 
double ratio = 0
 
unsigned int degree = 0
 
bool rational = 0
 
bool periodic = 0
 
unsigned int nKnots = 0
 
unsigned int nControl = 0
 
unsigned int nFit = 0
 
std::vector< std::vector< double > > controlPoints
 
std::vector< double > knots
 
std::vector< double > weights
 
std::vector< std::vector< double > > fitPoints
 
double startTangentX = 0
 
double startTangentY = 0
 
double endTangentX = 0
 
double endTangentY = 0
 
std::vector< std::vector< double > > vertices
 Polyline boundary vertices (x y [bulge])
 

Detailed Description

Hatch edge data.

Constructor & Destructor Documentation

◆ DL_HatchEdgeData() [1/4]

DL_HatchEdgeData::DL_HatchEdgeData ( double  x1,
double  y1,
double  x2,
double  y2 
)
inline

Constructor for a line edge.

Parameters: see member variables.

◆ DL_HatchEdgeData() [2/4]

DL_HatchEdgeData::DL_HatchEdgeData ( double  cx,
double  cy,
double  radius,
double  angle1,
double  angle2,
bool  ccw 
)
inline

Constructor for an arc edge.

Parameters: see member variables.

◆ DL_HatchEdgeData() [3/4]

DL_HatchEdgeData::DL_HatchEdgeData ( double  cx,
double  cy,
double  mx,
double  my,
double  ratio,
double  angle1,
double  angle2,
bool  ccw 
)
inline

Constructor for an ellipse arc edge.

Parameters: see member variables.

◆ DL_HatchEdgeData() [4/4]

DL_HatchEdgeData::DL_HatchEdgeData ( unsigned int  degree,
bool  rational,
bool  periodic,
unsigned int  nKnots,
unsigned int  nControl,
unsigned int  nFit,
const std::vector< double > &  knots,
const std::vector< std::vector< double > > &  controlPoints,
const std::vector< std::vector< double > > &  fitPoints,
const std::vector< double > &  weights,
double  startTangentX,
double  startTangentY,
double  endTangentX,
double  endTangentY 
)
inline

Constructor for a spline edge.

Parameters: see member variables.

Member Data Documentation

◆ angle1

double DL_HatchEdgeData::angle1 = 0

Start angle of arc or ellipse arc.

◆ angle2

double DL_HatchEdgeData::angle2 = 0

End angle of arc or ellipse arc.

◆ ccw

bool DL_HatchEdgeData::ccw = 0

Counterclockwise flag for arc or ellipse arc.

◆ cx

double DL_HatchEdgeData::cx = 0

Center point of arc or ellipse arc (X).

◆ cy

double DL_HatchEdgeData::cy = 0

Center point of arc or ellipse arc (Y).

◆ degree

unsigned int DL_HatchEdgeData::degree = 0

Spline degree

◆ mx

double DL_HatchEdgeData::mx = 0

Major axis end point (X).

◆ my

double DL_HatchEdgeData::my = 0

Major axis end point (Y).

◆ nControl

unsigned int DL_HatchEdgeData::nControl = 0

Number of control points.

◆ nFit

unsigned int DL_HatchEdgeData::nFit = 0

Number of fit points.

◆ nKnots

unsigned int DL_HatchEdgeData::nKnots = 0

Number of knots.

◆ radius

double DL_HatchEdgeData::radius = 0

Arc radius.

◆ ratio

double DL_HatchEdgeData::ratio = 0

Axis ratio

◆ type

int DL_HatchEdgeData::type = 1

Edge type.

1=line, 2=arc, 3=elliptic arc, 4=spline.

◆ x1

double DL_HatchEdgeData::x1

Start point (X).

◆ x2

double DL_HatchEdgeData::x2

End point (X).

◆ y1

double DL_HatchEdgeData::y1

Start point (Y).

◆ y2

double DL_HatchEdgeData::y2

End point (Y).


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