QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
DL_HatchEdgeData Struct Reference

Hatch edge data. More...

#include <dl_entities.h>

Public Member Functions

 DL_HatchEdgeData ()
 Default constructor.
 
 DL_HatchEdgeData (double cx, double cy, double mx, double my, double ratio, double angle1, double angle2, bool ccw)
 Constructor for an ellipse arc edge.
 
 DL_HatchEdgeData (double cx, double cy, double radius, double angle1, double angle2, bool ccw)
 Constructor for an arc edge.
 
 DL_HatchEdgeData (double x1, double y1, double x2, double y2)
 Constructor for a line edge.
 
 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.
 

Public Attributes

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

Detailed Description

Hatch edge data.

Constructor & Destructor Documentation

◆ DL_HatchEdgeData() [1/5]

DL_HatchEdgeData::DL_HatchEdgeData ( )
inline

Default constructor.

◆ DL_HatchEdgeData() [2/5]

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

Constructor for a line edge.

Parameters: see member variables.

◆ DL_HatchEdgeData() [3/5]

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() [4/5]

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() [5/5]

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

Start angle of arc or ellipse arc.

◆ angle2

double DL_HatchEdgeData::angle2

End angle of arc or ellipse arc.

◆ ccw

bool DL_HatchEdgeData::ccw

Counterclockwise flag for arc or ellipse arc.

◆ controlPoints

std::vector<std::vector<double> > DL_HatchEdgeData::controlPoints

◆ cx

double DL_HatchEdgeData::cx

Center point of arc or ellipse arc (X).

◆ cy

double DL_HatchEdgeData::cy

Center point of arc or ellipse arc (Y).

◆ defined

bool DL_HatchEdgeData::defined

Set to true if this edge is fully defined.

◆ degree

unsigned int DL_HatchEdgeData::degree

Spline degree

◆ endTangentX

double DL_HatchEdgeData::endTangentX

◆ endTangentY

double DL_HatchEdgeData::endTangentY

◆ fitPoints

std::vector<std::vector<double> > DL_HatchEdgeData::fitPoints

◆ knots

std::vector<double> DL_HatchEdgeData::knots

◆ mx

double DL_HatchEdgeData::mx

Major axis end point (X).

◆ my

double DL_HatchEdgeData::my

Major axis end point (Y).

◆ nControl

unsigned int DL_HatchEdgeData::nControl

Number of control points.

◆ nFit

unsigned int DL_HatchEdgeData::nFit

Number of fit points.

◆ nKnots

unsigned int DL_HatchEdgeData::nKnots

Number of knots.

◆ periodic

bool DL_HatchEdgeData::periodic

◆ radius

double DL_HatchEdgeData::radius

Arc radius.

◆ ratio

double DL_HatchEdgeData::ratio

Axis ratio

◆ rational

bool DL_HatchEdgeData::rational

◆ startTangentX

double DL_HatchEdgeData::startTangentX

◆ startTangentY

double DL_HatchEdgeData::startTangentY

◆ type

int DL_HatchEdgeData::type

Edge type.

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

◆ vertices

std::vector<std::vector<double> > DL_HatchEdgeData::vertices

Polyline boundary vertices (x y [bulge])

◆ weights

std::vector<double> DL_HatchEdgeData::weights

◆ 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: