#include <geometry.h>
Public Member Functions | |
Span | BlendTwoSpans (Span &sp2, double radius, double maxt) |
Vector2d | GetVector (double fraction) const |
int | Intof (const Span &sp, Point &pInt1, Point &pInt2, double t[4]) const |
bool | isJoinable (const Span &sp) const |
bool | JoinSeparateSpans (Span &sp) |
Point | Mid () const |
Point | MidParam (double param) const |
Point | MidPerim (double d) const |
void | minmax (Box &box, bool start=true) |
void | minmax (Point &pmin, Point &pmax, bool start=true) |
Point | Near (const Point &p) const |
Point | NearOn (const Point &p) const |
Span | Offset (double offset) |
bool | OnSpan (const Point &p) const |
bool | OnSpan (const Point &p, double *t) const |
void | SetProperties (bool returnProperties) |
Span () | |
Span (int spandir, const Point &pn, const Point &pf, const Point &c) | |
int | Split (double tolerance) |
void | SplitMatrix (int num_vectors, Matrix *matrix) |
void | Transform (const Matrix &m, bool setprops=true) |
Public Attributes | |
double | angle |
Box | box |
int | dir |
int | ID |
double | length |
bool | NullSpan |
bool | ok |
Point | p0 |
Point | p1 |
Point | pc |
double | radius |
bool | returnSpanProperties |
Vector2d | ve |
Vector2d | vs |
Friends | |
wostream & | operator<< (wostream &op, Span &span) |
References dir, ID, geoff_geometry::Point::ok, ok, p0, p1, pc, and SetProperties().
Vector2d Span::GetVector | ( | double | fraction | ) | const |
returns the direction vector at point which is 0-1 along span
References dir, MidParam(), p0, p1, and pc.
References geoff_geometry::Intof().
Referenced by geoff_geometry::eliminateLoops(), Span::Intersect(), geoff_geometry::Kurve::Intof(), and geoff_geometry::Kurve::OffsetMethod1().
References dir, geoff_geometry::CLine::Intof(), geoff_geometry::Circle::Intof(), geoff_geometry::Point::ok, p0, p1, SetProperties(), ve, and vs.
Referenced by geoff_geometry::Kurve::OffsetISOMethod().
Point Span::Mid | ( | ) | const |
References geoff_geometry::Mid().
Point Span::MidParam | ( | double | param | ) | const |
returns a point which is 0-1 along span
References MidPerim(), p0, p1, and draftguitools.gui_annotationstyleeditor::param.
Referenced by GetVector().
Point Span::MidPerim | ( | double | d | ) | const |
returns a point which is 0-d along span
References dir, p0, pc, and vs.
Referenced by MidParam(), and geoff_geometry::Kurve::Part().
References minmax().
Referenced by minmax(), geoff_geometry::Kurve::minmax(), and SetProperties().
References dir, geoff_geometry::MinMax(), p0, p1, pc, radius, geoff_geometry::Point::x, and geoff_geometry::Point::y.
References dir, geoff_geometry::Point::Dist(), geoff_geometry::Point::Mid(), p0, p1, pc, geoff_geometry::TOLERANCE, and vs.
Referenced by NearOn().
References geoff_geometry::Point::Dist(), Near(), OnSpan(), p0, and p1.
Referenced by geoff_geometry::Kurve::Near().
Span Span::Offset | ( | double | offset | ) |
References dir, geoff_geometry::FNEZ(), geoff_geometry::Vector2d::getx(), geoff_geometry::Vector2d::gety(), NullSpan, draftfunctions.offset::offset(), p0, p1, SetProperties(), ve, vs, geoff_geometry::Point::x, and geoff_geometry::Point::y.
Referenced by geoff_geometry::Kurve::OffsetISOMethod(), and geoff_geometry::Kurve::OffsetMethod1().
References OnSpan().
Referenced by geoff_geometry::ArcArcIntof(), geoff_geometry::Dist(), NearOn(), OnSpan(), and geoff_geometry::OnSpan().
void Span::SetProperties | ( | bool | returnProperties | ) |
References dir, geoff_geometry::Point::Dist(), geoff_geometry::FAILURE(), geoff_geometry::FNE(), geoff_geometry::getMessage(), geoff_geometry::IncludedAngle(), minmax(), geoff_geometry::Vector2d::normalise(), NullSpan, p0, p1, pc, radius, returnSpanProperties, geoff_geometry::TOLERANCE, ve, and vs.
Referenced by geoff_geometry::DoesIntersInterfere(), geoff_geometry::eliminateLoops(), geoff_geometry::Kurve::Get(), geoff_geometry::Kurve::Intof(), JoinSeparateSpans(), Offset(), Span(), geoff_geometry::Kurve::Split(), Split(), and Transform().
int Span::Split | ( | double | tolerance | ) |
References dir, radius, returnSpanProperties, SetProperties(), and geoff_geometry::Split().
Referenced by geoff_geometry::Kurve::Split().
References dir, geoff_geometry::Vector2d::getx(), geoff_geometry::Vector2d::gety(), pc, vs, geoff_geometry::Point::x, and geoff_geometry::Point::y.
Referenced by geoff_geometry::Kurve::Split().
References dir, geoff_geometry::FAILURE(), p0, p1, pc, SetProperties(), and geoff_geometry::Point::Transform().
Referenced by geoff_geometry::Kurve::Add(), and geoff_geometry::Kurve::Get().
|
friend |
double geoff_geometry::Span::angle |
Referenced by drafttaskpanels.task_polararray.TaskPanelPolarArray::accept(), PathScripts.PathDressupDogbone.Bone::adaptiveLength(), geoff_geometry::Kurve::Area(), draftguitools.gui_rotate.Rotate::build_copy_subelements_command(), draftguitools.gui_rotate.Rotate::build_rotate_subelements_command(), DraftGui.DraftToolBar::changeAngleValue(), PathScripts.PathDressupDogbone.Bone::corner(), drafttaskpanels.task_polararray.TaskPanelPolarArray::create_object(), PathScripts.PathDressupHoldingTags.Tag::createSolidsAt(), PathScripts.PathDressupDogbone.Bone::distance(), draftguitools.gui_arcs.Arc::drawArc(), PathScripts.PathDressupRampEntry.ObjectDressup::execute(), PathScripts.PathDressupRampEntry.ObjectDressup::generateRamps(), PathScripts.PathArray.PathArray::getPath(), draftguitools.gui_arcs.Arc::numericRadius(), draftguitools.gui_rotate.Rotate::numericRadius(), OnSpan(), geoff_geometry::Kurve::Perim(), drafttaskpanels.task_polararray.TaskPanelPolarArray::print_messages(), DraftGui.DraftToolBar::reset_ui_values(), draftguitools.gui_rotate.Rotate::rotate_object(), DraftGui.DraftToolBar::toggleAngle(), DraftGui.DraftToolBar::update_cartesian_coords(), DraftGui.DraftToolBar::update_spherical_coords(), draftguitools.gui_arcs.Arc::updateAngle(), and drafttaskpanels.task_polararray.TaskPanelPolarArray::validate_input().
Box geoff_geometry::Span::box |
Referenced by geoff_geometry::Intof(), and geoff_geometry::Line::Line().
int geoff_geometry::Span::dir |
Referenced by draftguitools.gui_dimensions.Dimension::action(), geoff_geometry::Kurve::Add(), geoff_geometry::Kurve::ChangeEnd(), geoff_geometry::Kurve::ChangeStart(), draftguitools.gui_dimensions.Dimension::createObject(), geoff_geometry::Dist(), geoff_geometry::DoesIntersInterfere(), geoff_geometry::eliminateLoops(), draftguitools.gui_dimensions.Dimension::finish(), geoff_geometry::Kurve::Get(), GetVector(), geoff_geometry::Intof(), JoinSeparateSpans(), MidPerim(), minmax(), Near(), Offset(), geoff_geometry::Kurve::OffsetMethod1(), OnSpan(), geoff_geometry::OnSpan(), SetProperties(), Span(), geoff_geometry::Kurve::Split(), Split(), SplitMatrix(), and Transform().
int geoff_geometry::Span::ID |
double geoff_geometry::Span::length |
Referenced by geoff_geometry::Dist(), geoff_geometry::eliminateLoops(), PathScripts.PathStock.StockFromBase::execute(), PathScripts.PathDressupDogbone.ObjectDressup::execute(), PathScripts.PathFeatureExtensions.Extension::getSubLink(), PathScripts.PathFeatureExtensions.Extension::getWire(), geoff_geometry::Kurve::Intof(), geoff_geometry::Line::Line(), geoff_geometry::LineLineIntof(), Mod.PartDesign.Scripts.FilletArc.Vector::norm(), OnSpan(), geoff_geometry::OnSpan(), geoff_geometry::Kurve::Part(), and geoff_geometry::Kurve::Perim().
bool geoff_geometry::Span::NullSpan |
Point geoff_geometry::Span::p0 |
Referenced by geoff_geometry::Kurve::Add(), geoff_geometry::Kurve::Area(), geoff_geometry::Kurve::ChangeEnd(), geoff_geometry::Kurve::ChangeStart(), geoff_geometry::CLine::CLine(), geoff_geometry::Dist(), geoff_geometry::DoesIntersInterfere(), geoff_geometry::eliminateLoops(), geoff_geometry::Kurve::Get(), GetVector(), JoinSeparateSpans(), geoff_geometry::Line::Line(), geoff_geometry::LineArcIntof(), geoff_geometry::LineLineIntof(), MidParam(), MidPerim(), geoff_geometry::Kurve::minmax(), minmax(), Near(), NearOn(), Offset(), geoff_geometry::Kurve::OffsetMethod1(), OnSpan(), geoff_geometry::OnSpan(), geoff_geometry::Kurve::Part(), SetProperties(), Span(), geoff_geometry::Kurve::Split(), and Transform().
Point geoff_geometry::Span::p1 |
Referenced by draftguitools.gui_hatch.Draft_Hatch_TaskPanel::accept(), geoff_geometry::Kurve::Add(), geoff_geometry::ArcArcIntof(), geoff_geometry::Kurve::Area(), draftguitools.gui_trackers.dimTracker::calc(), geoff_geometry::Kurve::ChangeEnd(), geoff_geometry::Kurve::ChangeStart(), geoff_geometry::Dist(), geoff_geometry::DoesIntersInterfere(), geoff_geometry::eliminateLoops(), geoff_geometry::Kurve::Get(), GetVector(), geoff_geometry::Kurve::Intof(), draftguitools.gui_trackers.rectangleTracker::isInside(), JoinSeparateSpans(), geoff_geometry::LineArcIntof(), geoff_geometry::LineLineIntof(), MidParam(), minmax(), Near(), NearOn(), Offset(), geoff_geometry::Kurve::OffsetMethod1(), OnSpan(), geoff_geometry::OnSpan(), geoff_geometry::Kurve::Part(), SetProperties(), Span(), geoff_geometry::Kurve::Split(), Transform(), and draftguitools.gui_trackers.dimTracker::update().
Point geoff_geometry::Span::pc |
Referenced by geoff_geometry::Kurve::Add(), geoff_geometry::ArcArcIntof(), geoff_geometry::Kurve::Area(), geoff_geometry::Kurve::ChangeEnd(), geoff_geometry::Kurve::ChangeStart(), geoff_geometry::Circle::Circle(), geoff_geometry::Dist(), geoff_geometry::DoesIntersInterfere(), geoff_geometry::eliminateLoops(), geoff_geometry::Kurve::Get(), GetVector(), MidPerim(), minmax(), Near(), geoff_geometry::Kurve::OffsetMethod1(), OnSpan(), geoff_geometry::OnSpan(), SetProperties(), Span(), geoff_geometry::Kurve::Split(), SplitMatrix(), and Transform().
double geoff_geometry::Span::radius |
Referenced by geoff_geometry::ArcArcIntof(), geoff_geometry::Kurve::Area(), PathScripts.PathPocketBase.ObjectPocket::areaOpAreaParams(), PathScripts.PathProfile.ObjectProfile::areaOpAreaParams(), PathScripts.PathPocketBase.ObjectPocket::areaOpPathParams(), PathScripts.PathAreaOp.ObjectOp::areaOpSetDefaultValues(), DraftGui.DraftToolBar::changeRadiusValue(), geoff_geometry::Circle::Circle(), PathScripts.PathDressupHoldingTags.Tag::createSolidsAt(), PathScripts.PathSurface.ObjectSurface::deleteOpVariables(), PathScripts.PathWaterline.ObjectWaterline::deleteOpVariables(), geoff_geometry::Dist(), PathScripts.PathOp.ObjectOp::execute(), PathScripts.PathDressupAxisMap.TaskPanel::getFields(), ifc4.ifcsweptdisksolid::innerradiussize(), minmax(), draftguitools.gui_snapper.Snapper::off(), OnSpan(), geoff_geometry::OnSpan(), geoff_geometry::Kurve::Perim(), PathScripts.PathSurfaceSupport.ProcessSelectedFaces::preProcessModel(), DraftGui.DraftToolBar::reset_ui_values(), SetProperties(), draftguitools.gui_snapper.Snapper::showradius(), draftguitools.gui_snapper.Snapper::snapToCrossExtensions(), draftguitools.gui_snapper.Snapper::snapToExtensions(), draftguitools.gui_snapper.Snapper::snapToGrid(), draftguitools.gui_snapper.Snapper::snapToHold(), draftguitools.gui_snapper.Snapper::snapToPolar(), Span(), geoff_geometry::Kurve::Split(), Split(), PathScripts.PathDressupAxisMap.TaskPanel::updateUI(), DraftGui.DraftToolBar::validatePoint(), automotive_design.right_circular_cone::wr1(), automotive_design.conical_surface::wr1(), config_control_design.conical_surface::wr1(), automotive_design.swept_disk_solid::wr2(), and ifc2x3.ifcsweptdisksolid::wr2().
bool geoff_geometry::Span::returnSpanProperties |
Referenced by geoff_geometry::Circle::Circle(), geoff_geometry::CLine::CLine(), OnSpan(), SetProperties(), Span(), and Split().
Vector2d geoff_geometry::Span::ve |
Referenced by JoinSeparateSpans(), Offset(), geoff_geometry::Kurve::OffsetMethod1(), and SetProperties().
Vector2d geoff_geometry::Span::vs |