Classes | |
class | Box |
class | Box3d |
class | Circle |
class | CLine |
class | Kurve |
class | Line |
class | Matrix |
class | Plane |
class | Point |
class | Point3d |
class | Span |
class | SpanDataObject |
class | SpanVertex |
class | spVertex |
class | Triangle3d |
class | Vector2d |
class | Vector3d |
Enumerations | |
enum | GENERAL_MESSAGES { MES_TITLE = 0 , MES_UNFINISHEDCODING , MES_ERRORFILENAME , MES_LOGFILE , MES_LOGFILE1 , MES_P4CMENU , MES_P4CMENUHINT } |
enum | GEOMETRY_ERROR_MESSAGES { MES_DIFFSCALE = 1000 , MES_POINTONCENTRE , MES_INVALIDARC , MES_LOFTUNEQUALSPANCOUNT , MES_EQUALSPANCOUNTFAILED , MES_CANNOTTRIMSPAN , MES_INDEXOUTOFRANGE , MES_BAD_VERTEX_NUMBER , MES_BAD_REF_OFFSET , MES_BAD_SEC_OFFSET , MES_ROLLINGBALL4AXIS_ERROR , MES_INPUT_EQUALSPANCOUNT , MES_INVALIDPLANE } |
enum | MESSAGE_GROUPS { GENERAL_MESSAGES , GEOMETRY_ERROR_MESSAGES , PARAMSPMP } |
enum | OFFSET_METHODS { NO_ELIMINATION = 0 , BASIC_OFFSET , ROLLINGBALL_OFFSET } |
enum | SPAN_IDS { UNMARKED = 0xe0000000 , ROLL_AROUND , INTERSECTION , FULL_CIRCLE_KURVE } |
enum | UNITS_TYPE { MM = 0 , METRES , INCHES } |
Functions | |
Point | Along (const CLine &s, double d) |
Point | Along (const CLine &s, double d, const Point &p) |
Point | Along (const CLine &s, double d, Point &p) |
int | apolloniusProblem (int AT1, const Circle &c1, int AT2, const Circle &c2, int AT3, const Circle &c3, Circle &Solution1, Circle &Solution2) |
int | apolloniusProblem (int AT1, const Circle &c1, int AT2, const Circle &c2, int AT3, const CLine &cl3, Circle &Solution1, Circle &Solution2) |
int | apolloniusProblem (int AT1, const Circle &c1, int AT2, const CLine &cl2, int AT3, const CLine &cl3, Circle &Solution1, Circle &Solution2) |
int | ArcArcIntof (const Span &arc0, const Span &arc1, Point &pLeft, Point &pRight) |
Point | Around (const Circle &c, double d, const Point &p) |
Point | AtAngle (const Circle &c, double angle) |
CLine | AtAngle (double angle, const Point &p0, const CLine &s) |
double | atn360 (double dy, double dx) |
int | biarc (CLine &cl0, CLine &cl1, Span *sp0, Span *sp1) |
static void | bubblesort (vector< Point > &p, vector< double > &d) |
int | corner (const Span &span, const Span &next, double cpTol=CPTANGENTTOL) |
int | corner (const Vector2d &v0, const Vector2d &v1, double cpTol) |
double | CPTOL (double offset, double maxOffset) |
double | Degrees (double radians) |
double | Dist (const Circle &c, const Point &p) |
double | Dist (const Circle &c0, const Circle &c1) |
double | Dist (const CLine &s, const Circle &c) |
double | Dist (const Line &l, const Point3d &p, Point3d &pnear, double &t) |
double | Dist (const Point &p0, const Circle &c, const Point &p1) |
double | Dist (const Point3d *p, const Vector3d *vl, const Point3d *pf) |
double | Dist (const Span &sp, const Point &p, Point &pnear) |
double | DistSq (const Point3d *p, const Vector3d *vl, const Point3d *pf) |
static bool | DoesIntersInterfere (const Point &pInt, const Kurve &k, double offset) |
static Kurve | eliminateLoops (const Kurve &k, const Kurve &originalk, double offset, int &ret) |
int | EqualiseSpanCount (Kurve &k1, Kurve &k2, Kurve &k1equal, Kurve &k2equal, bool equalise_same_span_count) |
void | EqualiseSpanCountAfterOffset (Kurve &k1, Kurve &k2, Kurve &k1Out, Kurve &k2Out) |
void | EqualiseSpanCountAfterOffsetFromRollAround (Kurve &k1, Kurve &k2, Kurve &k1Out, Kurve &k2Out) |
void | FAILURE (const std::wstring &str) |
void | FAILURE (const wchar_t *str) |
bool | FEQ (double a, double b, double tolerance=TOLERANCE) |
bool | FEQZ (double a, double tolerance=TIGHT_TOLERANCE) |
bool | FNE (double a, double b, double tolerance=TOLERANCE) |
bool | FNEZ (double a, double tolerance=TIGHT_TOLERANCE) |
const wchar_t * | getMessage (const wchar_t *original) |
double | IncludedAngle (const CLine &s0, const CLine &s1, int dir=1) |
double | IncludedAngle (const Vector2d &v0, const Vector2d &v1, int dir) |
double | IncludedAngle (const Vector3d &v0, const Vector3d &v1, const Vector3d &normal, int dir) |
int | Intof (const Circle &c0, const Circle &c1, Point &pLeft, Point &pRight) |
Point | Intof (const CLine &s0, const CLine &s1) |
int | Intof (const Line &l0, const Line &l1, Point3d &intof) |
int | Intof (const Span &sp0, const Span &sp1, Point &p0, Point &p1, double t[4]) |
Point | Intof (int intMode, const Circle &c0, const Circle &c1) |
Point | Intof (int intMode, const Circle &c0, const Circle &c1, Point &otherInters) |
Point | Intof (int NF, const CLine &s, const Circle &c) |
Point | Intof (int NF, const CLine &s, const Circle &c, Point &otherInters) |
Point | IntofIso (Span &one, Span &two, Span &three) |
Line | IsPtsLine (const double *a, int n, double tolerance, double *deviation) |
int | LineArcIntof (const Span &line, const Span &arc, Point &p0, Point &p1, double t[4]) |
int | LineLineIntof (const Span &sp0, const Span &sp1, Point &p, double t[2]) |
Point | Mid (const Point &p0, const Point &p1, double factor) |
Point | Mid (const Span &sp) |
void | MinMax (const Point &p, Point &pmin, Point &pmax) |
void | MinMax (const Point3d &p, Point3d &pmin, Point3d &pmax) |
double | mm (double value) |
Point3d | Near (const Line &l, const Point3d &p, double &t) |
CLine | Normal (const CLine &s) |
CLine | Normal (const CLine &s, const Point &p) |
Point | On (const Circle &c, const Point &p) |
Point | On (const CLine &s, const Point &p) |
bool | OnSpan (const Span &sp, const Point &p) |
bool | OnSpan (const Span &sp, const Point &p, bool nearPoints, Point &pNear, Point &pOnSpan) |
ostream & | operator<< (ostream &op, Point3d &p) |
wostream & | operator<< (wostream &op, Circle &c) |
wostream & | operator<< (wostream &op, CLine &cl) |
wostream & | operator<< (wostream &op, Plane &pl) |
wostream & | operator<< (wostream &op, Point &p) |
wostream & | operator<< (wostream &op, Span &sp) |
wostream & | operator<< (wostream &op, Vector2d &v) |
wostream & | operator<< (wostream &op, Vector3d &v) |
CLine | Parallel (const CLine &cl, const Point &p) |
CLine | Parallel (const CLine &s0, Point &p) |
Circle | Parallel (int side, const Circle &c0, double distance) |
CLine | Parallel (int side, const CLine &s0, double distance) |
Point | Polar (const Point &p, double angle, double r) |
int | quadratic (double a, double b, double c, double &x0, double &x1) |
double | Radians (double degrees) |
Point | Rel (const Point &p, double x0, double y0) |
void | set_Tolerances (int mode) |
static int | Split (double tolerance, double angle, double radius, int dir) |
void | tangential_arc (const Point &p0, const Point &p1, const Vector2d &v0, Point &c, int &dir) |
CLine | Tanto (int AT, const Circle &c, const Point &p) |
CLine | Tanto (int AT, const Circle &c, double angle, const CLine &s0) |
CLine | Tanto (int AT0, const Circle &c0, int AT1, const Circle &c) |
Circle | Tanto (int AT1, CLine &s1, int AT2, CLine &s2, double rad) |
Circle | Tanto (int AT1, CLine s1, int AT2, CLine s2, int AT3, CLine s3) |
Circle | Tanto (int AT1, const CLine &s1, int AT2, const CLine &s2, double rad) |
Circle | Tanto (int AT1, const CLine &s1, int AT2, const CLine &s2, int AT3, const CLine &s3) |
Circle | Tanto (int LR, int AT0, const Circle &c0, const Point &p, double rad) |
Circle | Tanto (int LR, int AT0, const Circle &c0, int AT1, const Circle &c1, double rad) |
Circle | Tanto (int LR, int AT1, const Circle &c1, int AT2, const Circle &c2, int AT3, const Circle c3) |
Circle | Tanto (int NF, CLine &s0, Point &p, double rad) |
Circle | Tanto (int NF, const CLine &s0, const Point &p, double rad) |
Circle | Tanto (int NF, int AT0, const CLine &s0, int AT1, const Circle &c1, double rad) |
Circle | Thro (const Point &p0, const Point &p1) |
Circle | Thro (const Point &p0, const Point &p1, const Point &p2) |
Circle | Thro (int LR, const Point &p0, const Point &p1, double rad) |
Point | XonCLine (CLine &s, double xval) |
Point | XonCLine (const CLine &s, double xval) |
Point | YonCLine (CLine &s, double yval) |
Point | YonCLine (const CLine &s, double yval) |
Variables | |
double | COS_SMALL_ANGLE |
double | RESOLUTION = 1.0e-06 |
double | SIN_SMALL_ANGLE |
double | SMALL_ANGLE |
double | TIGHT_TOLERANCE = 1.0e-09 |
double | TOLERANCE = 1.0e-06 |
double | TOLERANCE_SQ = TOLERANCE * TOLERANCE |
double | UNIT_VECTOR_TOLERANCE = 1.0e-10 |
Matrix | UnitMatrix |
int | UNITS = MM |
int geoff_geometry::apolloniusProblem | ( | int | AT1, |
const Circle & | c1, | ||
int | AT2, | ||
const Circle & | c2, | ||
int | AT3, | ||
const Circle & | c3, | ||
Circle & | Solution1, | ||
Circle & | Solution2 | ||
) |
int geoff_geometry::apolloniusProblem | ( | int | AT1, |
const Circle & | c1, | ||
int | AT2, | ||
const Circle & | c2, | ||
int | AT3, | ||
const CLine & | cl3, | ||
Circle & | Solution1, | ||
Circle & | Solution2 | ||
) |
int geoff_geometry::apolloniusProblem | ( | int | AT1, |
const Circle & | c1, | ||
int | AT2, | ||
const CLine & | cl2, | ||
int | AT3, | ||
const CLine & | cl3, | ||
Circle & | Solution1, | ||
Circle & | Solution2 | ||
) |
int geoff_geometry::ArcArcIntof | ( | const Span & | arc0, |
const Span & | arc1, | ||
Point & | pLeft, | ||
Point & | pRight | ||
) |
References Intof(), geoff_geometry::Point::ok, geoff_geometry::Span::OnSpan(), geoff_geometry::Span::p1, geoff_geometry::Span::pc, and geoff_geometry::Span::radius.
Referenced by Intof().
Referenced by Tanto().
double geoff_geometry::atn360 | ( | double | dy, |
double | dx | ||
) |
|
static |
Referenced by geoff_geometry::Kurve::Intof().
References corner(), and geoff_geometry::Span::vs.
References corner(), and draftgeoutils.general::v1().
Referenced by corner().
double geoff_geometry::CPTOL | ( | double | offset, |
double | maxOffset | ||
) |
References draftfunctions.offset::offset(), and RESOLUTION.
double geoff_geometry::Degrees | ( | double | radians | ) |
References Near().
References atn360(), Dist(), geoff_geometry::Point::x, and geoff_geometry::Point::y.
Referenced by Dist(), DoesIntersInterfere(), geoff_geometry::Kurve::Intof(), and Intof().
returns the distance of pf from the line given by p,vl vl must be normalised
References geoff_geometry::Vector3d::magnitude().
returns the distance squared of pf from the line given by p,vl vl must be normalised
References geoff_geometry::Vector3d::magnitudeSq().
|
static |
References geoff_geometry::Kurve::Add(), geoff_geometry::Kurve::AddSpanID(), geoff_geometry::Span::dir, geoff_geometry::Point::Dist(), DoesIntersInterfere(), geoff_geometry::Kurve::Get(), geoff_geometry::Kurve::GetSpanID(), geoff_geometry::Span::ID, geoff_geometry::Span::Intof(), geoff_geometry::Span::length, geoff_geometry::Kurve::nSpans(), geoff_geometry::Span::p0, geoff_geometry::Span::p1, geoff_geometry::Span::pc, geoff_geometry::Span::SetProperties(), geoff_geometry::Kurve::Start(), and TOLERANCE.
Referenced by geoff_geometry::Kurve::OffsetMethod1().
int geoff_geometry::EqualiseSpanCount | ( | Kurve & | k1, |
Kurve & | k2, | ||
Kurve & | k1equal, | ||
Kurve & | k2equal, | ||
bool | equalise_same_span_count | ||
) |
void geoff_geometry::EqualiseSpanCountAfterOffset | ( | Kurve & | k1, |
Kurve & | k2, | ||
Kurve & | k1Out, | ||
Kurve & | k2Out | ||
) |
void geoff_geometry::EqualiseSpanCountAfterOffsetFromRollAround | ( | Kurve & | k1, |
Kurve & | k2, | ||
Kurve & | k1Out, | ||
Kurve & | k2Out | ||
) |
void geoff_geometry::FAILURE | ( | const std::wstring & | str | ) |
void geoff_geometry::FAILURE | ( | const wchar_t * | str | ) |
Referenced by geoff_geometry::Kurve::Add(), geoff_geometry::Kurve::AddIndex(), geoff_geometry::Kurve::Area(), geoff_geometry::Kurve::Get(), geoff_geometry::Kurve::GetIndex(), geoff_geometry::Matrix::GetRotation(), geoff_geometry::Kurve::GetSpanID(), geoff_geometry::Matrix::Inverse(), geoff_geometry::Kurve::minmax(), geoff_geometry::Kurve::Offset(), geoff_geometry::Kurve::OffsetMethod1(), On(), geoff_geometry::Span::OnSpan(), geoff_geometry::Kurve::Perim(), geoff_geometry::Kurve::Replace(), set_Tolerances(), geoff_geometry::Vector3d::setCartesianAxes(), geoff_geometry::Span::SetProperties(), geoff_geometry::Span::Transform(), geoff_geometry::Circle::Transform(), and geoff_geometry::Vector2d::Vector2d().
bool geoff_geometry::FEQZ | ( | double | a, |
double | tolerance = TIGHT_TOLERANCE |
||
) |
bool geoff_geometry::FNEZ | ( | double | a, |
double | tolerance = TIGHT_TOLERANCE |
||
) |
References draftutils.utils::tolerance().
Referenced by geoff_geometry::Span::Offset().
const wchar_t * geoff_geometry::getMessage | ( | const wchar_t * | original | ) |
Referenced by geoff_geometry::Kurve::Area(), geoff_geometry::Kurve::Get(), geoff_geometry::Kurve::GetSpanID(), geoff_geometry::Matrix::Inverse(), geoff_geometry::Kurve::minmax(), On(), geoff_geometry::Kurve::Perim(), geoff_geometry::Kurve::Replace(), geoff_geometry::Span::SetProperties(), and geoff_geometry::Circle::Transform().
References IncludedAngle().
References UNIT_VECTOR_TOLERANCE, and draftgeoutils.general::v1().
Referenced by IncludedAngle(), geoff_geometry::Span::OnSpan(), and geoff_geometry::Span::SetProperties().
double geoff_geometry::IncludedAngle | ( | const Vector3d & | v0, |
const Vector3d & | v1, | ||
const Vector3d & | normal, | ||
int | dir | ||
) |
References draftgeoutils.general::v1().
References Intof(), geoff_geometry::Circle::pc, geoff_geometry::Circle::radius, and TOLERANCE_SQ.
References Intof().
Point geoff_geometry::Intof | ( | int | intMode, |
const Circle & | c0, | ||
const Circle & | c1, | ||
Point & | otherInters | ||
) |
References Intof().
References quadratic().
int geoff_geometry::LineArcIntof | ( | const Span & | line, |
const Span & | arc, | ||
Point & | p0, | ||
Point & | p1, | ||
double | t[4] | ||
) |
References geoff_geometry::Point::ok, geoff_geometry::Span::p0, geoff_geometry::Span::p1, quadratic(), TOLERANCE, and draftgeoutils.general::v1().
Referenced by Intof().
References geoff_geometry::Span::length, geoff_geometry::Point::ok, geoff_geometry::Span::p0, geoff_geometry::Span::p1, TOLERANCE, UNIT_VECTOR_TOLERANCE, and draftgeoutils.general::v1().
Referenced by Intof().
Referenced by geoff_geometry::Span::Mid(), geoff_geometry::Point::Mid(), Mid(), On(), and Thro().
References Intof(), Mid(), geoff_geometry::CLine::ok, and geoff_geometry::CLine::v.
References geoff_geometry::Point::x, and geoff_geometry::Point::y.
Referenced by geoff_geometry::Line::minmax(), geoff_geometry::Kurve::minmax(), and geoff_geometry::Span::minmax().
References geoff_geometry::Point3d::x, geoff_geometry::Point3d::y, and geoff_geometry::Point3d::z.
Referenced by Dist().
References geoff_geometry::Point::Dist(), FAILURE(), getMessage(), Mid(), and TOLERANCE.
ostream & geoff_geometry::operator<< | ( | ostream & | op, |
Point3d & | p | ||
) |
wostream & geoff_geometry::operator<< | ( | wostream & | op, |
Circle & | c | ||
) |
wostream & geoff_geometry::operator<< | ( | wostream & | op, |
CLine & | cl | ||
) |
wostream & geoff_geometry::operator<< | ( | wostream & | op, |
Plane & | pl | ||
) |
wostream & geoff_geometry::operator<< | ( | wostream & | op, |
Point & | p | ||
) |
wostream & geoff_geometry::operator<< | ( | wostream & | op, |
Span & | sp | ||
) |
wostream & geoff_geometry::operator<< | ( | wostream & | op, |
Vector2d & | v | ||
) |
wostream & geoff_geometry::operator<< | ( | wostream & | op, |
Vector3d & | v | ||
) |
References geoff_geometry::Circle::pc, and geoff_geometry::Circle::radius.
int geoff_geometry::quadratic | ( | double | a, |
double | b, | ||
double | c, | ||
double & | x0, | ||
double & | x1 | ||
) |
References draftutils.utils::epsilon(), METRES, quadratic(), and UNITS.
Referenced by Intof(), LineArcIntof(), and quadratic().
double geoff_geometry::Radians | ( | double | degrees | ) |
void geoff_geometry::set_Tolerances | ( | int | mode | ) |
References FAILURE(), INCHES, METRES, MM, RESOLUTION, TIGHT_TOLERANCE, TOLERANCE, TOLERANCE_SQ, UNIT_VECTOR_TOLERANCE, and UNITS.
References draftutils.utils::tolerance().
Referenced by geoff_geometry::Span::Split().
References TOLERANCE.
Referenced by geoff_geometry::Circle::Tanto(), and Tanto().
References AtAngle().
References geoff_geometry::Circle::pc, geoff_geometry::Circle::radius, and Tanto().
References Intof(), geoff_geometry::Point::ok, and Tanto().
Circle geoff_geometry::Tanto | ( | int | AT1, |
const CLine & | s1, | ||
int | AT2, | ||
const CLine & | s2, | ||
int | AT3, | ||
const CLine & | s3 | ||
) |
References Intof(), geoff_geometry::Point::ok, geoff_geometry::Circle::radius, and Tanto().
Circle geoff_geometry::Tanto | ( | int | LR, |
int | AT0, | ||
const Circle & | c0, | ||
int | AT1, | ||
const Circle & | c1, | ||
double | rad | ||
) |
References Intof(), geoff_geometry::Point::ok, geoff_geometry::Circle::radius, and Tanto().
Circle geoff_geometry::Tanto | ( | int | LR, |
int | AT1, | ||
const Circle & | c1, | ||
int | AT2, | ||
const Circle & | c2, | ||
int | AT3, | ||
const Circle | c3 | ||
) |
References geoff_geometry::CLine::Dist(), Intof(), and Tanto().
Circle geoff_geometry::Tanto | ( | int | NF, |
int | AT0, | ||
const CLine & | s0, | ||
int | AT1, | ||
const Circle & | c1, | ||
double | rad | ||
) |
References Intof(), geoff_geometry::Point::ok, geoff_geometry::Circle::radius, and Tanto().
References geoff_geometry::Point::Dist(), geoff_geometry::Point::Mid(), and Thro().
References geoff_geometry::Point::Dist(), Intof(), Mid(), geoff_geometry::CLine::ok, and Thro().
References Along(), geoff_geometry::Point::Dist(), Mid(), geoff_geometry::CLine::ok, and Thro().
Referenced by Thro().
|
extern |
double geoff_geometry::RESOLUTION = 1.0e-06 |
Referenced by CPTOL(), and set_Tolerances().
|
extern |
|
extern |
double geoff_geometry::TIGHT_TOLERANCE = 1.0e-09 |
Referenced by geoff_geometry::Vector2d::normalise(), geoff_geometry::Matrix::operator==(), and set_Tolerances().
double geoff_geometry::TOLERANCE = 1.0e-06 |
Referenced by geoff_geometry::Kurve::Add(), Around(), Dist(), DoesIntersInterfere(), eliminateLoops(), geoff_geometry::Kurve::Intof(), Intof(), geoff_geometry::Line::Line(), LineArcIntof(), LineLineIntof(), geoff_geometry::Span::Near(), geoff_geometry::Kurve::Near(), geoff_geometry::CLine::Normalise(), geoff_geometry::Kurve::OffsetMethod1(), On(), geoff_geometry::Span::OnSpan(), OnSpan(), geoff_geometry::Circle::operator==(), geoff_geometry::Point::operator==(), geoff_geometry::Point3d::operator==(), set_Tolerances(), geoff_geometry::Span::SetProperties(), and Tanto().
Referenced by Intof(), and set_Tolerances().
double geoff_geometry::UNIT_VECTOR_TOLERANCE = 1.0e-10 |
Matrix geoff_geometry::UnitMatrix |
Referenced by mm(), quadratic(), and set_Tolerances().