SketcherGui::DrawSketchHandler Class Referenceabstract

Handler to create new sketch geometry This class has to be reimplemented to create geometry in the sketcher while its in editing. More...

#include <DrawSketchHandler.h>

Public Member Functions

virtual void activated (ViewProviderSketch *)
 
void createAutoConstraints (const std::vector< AutoConstraint > &autoConstrs, int geoId, Sketcher::PointPos pointPos=Sketcher::none, bool createowncommand=true)
 
virtual void deactivated (ViewProviderSketch *)
 
 DrawSketchHandler ()
 
int getHighestCurveIndex (void)
 
int getHighestVertexIndex (void)
 
virtual void mouseMove (Base::Vector2d onSketchPos)=0
 
virtual bool onSelectionChanged (const Gui::SelectionChanges &)
 
virtual bool pressButton (Base::Vector2d onSketchPos)=0
 
virtual void quit (void)
 
virtual void registerPressedKey (bool, int)
 
virtual bool releaseButton (Base::Vector2d onSketchPos)=0
 
void renderSuggestConstraintsCursor (std::vector< AutoConstraint > &suggestedConstraints)
 
void resetPositionText (void)
 
int seekAutoConstraint (std::vector< AutoConstraint > &suggestedConstraints, const Base::Vector2d &Pos, const Base::Vector2d &Dir, AutoConstraint::TargetType type=AutoConstraint::VERTEX)
 
void setPositionText (const Base::Vector2d &Pos)
 
void setPositionText (const Base::Vector2d &Pos, const SbString &text)
 
virtual ~DrawSketchHandler ()
 

Protected Member Functions

void applyCursor (QCursor &newCursor)
 
void applyCursor (void)
 
void setCrosshairColor ()
 
void setCursor (const QPixmap &p, int x, int y)
 
void unsetCursor (void)
 

Protected Attributes

QCursor actCursor
 
QCursor oldCursor
 
ViewProviderSketch * sketchgui
 

Friends

class ViewProviderSketch
 

Detailed Description

Handler to create new sketch geometry This class has to be reimplemented to create geometry in the sketcher while its in editing.

Constructor & Destructor Documentation

◆ DrawSketchHandler()

DrawSketchHandler::DrawSketchHandler ( )

◆ ~DrawSketchHandler()

DrawSketchHandler::~DrawSketchHandler ( )
virtual

Member Function Documentation

◆ activated()

◆ applyCursor() [1/2]

void DrawSketchHandler::applyCursor ( QCursor &  newCursor)
protected

◆ applyCursor() [2/2]

void DrawSketchHandler::applyCursor ( void  )
protected

References actCursor.

Referenced by DrawSketchHandlerBox::mouseMove(), DrawSketchHandlerLineSet::mouseMove(), DrawSketchHandlerCopy::mouseMove(), DrawSketchHandlerArc::mouseMove(), DrawSketchHandlerRectangularArray::mouseMove(), DrawSketchHandler3PointArc::mouseMove(), DrawSketchHandlerCircle::mouseMove(), DrawSketchHandlerEllipse::mouseMove(), DrawSketchHandlerArcOfEllipse::mouseMove(), DrawSketchHandlerArcOfHyperbola::mouseMove(), DrawSketchHandlerArcOfParabola::mouseMove(), DrawSketchHandlerBSpline::mouseMove(), DrawSketchHandler3PointCircle::mouseMove(), DrawSketchHandlerPoint::mouseMove(), DrawSketchHandlerExternal::mouseMove(), DrawSketchHandlerCarbonCopy::mouseMove(), DrawSketchHandlerSlot::mouseMove(), DrawSketchHandlerRegularPolygon::mouseMove(), DrawSketchHandlerLineSet::pressButton(), DrawSketchHandlerArc::pressButton(), DrawSketchHandler3PointArc::pressButton(), DrawSketchHandler3PointCircle::pressButton(), DrawSketchHandlerLineSet::quit(), DrawSketchHandlerBSpline::quit(), DrawSketchHandlerBox::releaseButton(), DrawSketchHandlerLineSet::releaseButton(), DrawSketchHandlerArc::releaseButton(), DrawSketchHandler3PointArc::releaseButton(), DrawSketchHandlerCircle::releaseButton(), DrawSketchHandlerArcOfEllipse::releaseButton(), DrawSketchHandlerArcOfHyperbola::releaseButton(), DrawSketchHandlerArcOfParabola::releaseButton(), DrawSketchHandlerBSpline::releaseButton(), DrawSketchHandler3PointCircle::releaseButton(), DrawSketchHandlerPoint::releaseButton(), DrawSketchHandlerExtend::releaseButton(), DrawSketchHandlerSlot::releaseButton(), DrawSketchHandlerRegularPolygon::releaseButton(), and renderSuggestConstraintsCursor().

◆ createAutoConstraints()

◆ deactivated()

virtual void SketcherGui::DrawSketchHandler::deactivated ( ViewProviderSketch *  )
virtual

◆ getHighestCurveIndex()

◆ getHighestVertexIndex()

int DrawSketchHandler::getHighestVertexIndex ( void  )

◆ mouseMove()

◆ onSelectionChanged()

virtual bool SketcherGui::DrawSketchHandler::onSelectionChanged ( const Gui::SelectionChanges &  )
virtual

◆ pressButton()

◆ quit()

◆ registerPressedKey()

virtual void SketcherGui::DrawSketchHandler::registerPressedKey ( bool  ,
int   
)
virtual

Reimplemented in DrawSketchHandlerLineSet.

◆ releaseButton()

◆ renderSuggestConstraintsCursor()

◆ resetPositionText()

◆ seekAutoConstraint()

int DrawSketchHandler::seekAutoConstraint ( std::vector< AutoConstraint > &  suggestedConstraints,
const Base::Vector2d &  Pos,
const Base::Vector2d &  Dir,
AutoConstraint::TargetType  type = AutoConstraint::VERTEX 
)

References SketcherGui::ViewProviderSketch::Autoconstraints, Sketcher::Coincident, SketcherGui::AutoConstraint::CURVE, Base::fmod(), SketcherGui::AutoConstraint::GeoId, Part::GeomArcOfConic::getCenter(), Base::Persistence::getClassTypeId(), Sketcher::SketchObject::getCompleteGeometry(), Part::GeomLineSegment::getEndPoint(), Sketcher::SketchObject::getGeometry(), Sketcher::SketchObject::getGeoVertexIndex(), getHighestCurveIndex(), Part::GeomArcOfEllipse::getMajorAxisDir(), Part::GeomArcOfEllipse::getMajorRadius(), Part::GeomArcOfEllipse::getMinorRadius(), SketcherGui::ViewProviderSketch::getPreselectCross(), SketcherGui::ViewProviderSketch::getPreselectCurve(), SketcherGui::ViewProviderSketch::getPreselectPoint(), Part::GeomArcOfEllipse::getRange(), SketcherGui::ViewProviderSketch::getScaleFactor(), SketcherGui::ViewProviderSketch::getSketchObject(), Part::GeomLineSegment::getStartPoint(), Base::Persistence::getTypeId(), App::PropertyBool::getValue(), Sketcher::GeoEnum::HAxis, Sketcher::Horizontal, Base::Vector2d::Length(), Base::Vector3< _Precision >::Length(), Sketcher::none, Base::Vector3< _Precision >::Normalize(), Sketcher::PointOnObject, SketcherGui::AutoConstraint::PosId, Base::Vector3< _Precision >::ProjectToLine(), Sketcher::GeoEnum::RtPnt, sketchgui, Sketcher::start, Sketcher::Tangent, SketcherGui::AutoConstraint::Type, Sketcher::GeoEnum::VAxis, SketcherGui::AutoConstraint::VERTEX, Sketcher::Vertical, Base::Vector2d::x, Base::Vector3< _Precision >::x, Base::Vector2d::y, and Base::Vector3< _Precision >::y.

Referenced by DrawSketchHandlerBox::mouseMove(), DrawSketchHandlerLineSet::mouseMove(), DrawSketchHandlerCopy::mouseMove(), DrawSketchHandlerArc::mouseMove(), DrawSketchHandlerRectangularArray::mouseMove(), DrawSketchHandler3PointArc::mouseMove(), DrawSketchHandlerCircle::mouseMove(), DrawSketchHandlerEllipse::mouseMove(), DrawSketchHandlerArcOfEllipse::mouseMove(), DrawSketchHandlerArcOfHyperbola::mouseMove(), DrawSketchHandlerArcOfParabola::mouseMove(), DrawSketchHandlerBSpline::mouseMove(), DrawSketchHandler3PointCircle::mouseMove(), DrawSketchHandlerPoint::mouseMove(), DrawSketchHandlerExtend::mouseMove(), DrawSketchHandlerSlot::mouseMove(), and DrawSketchHandlerRegularPolygon::mouseMove().

◆ setCrosshairColor()

◆ setCursor()

◆ setPositionText() [1/2]

void DrawSketchHandler::setPositionText ( const Base::Vector2d &  Pos)

◆ setPositionText() [2/2]

◆ unsetCursor()

Friends And Related Function Documentation

◆ ViewProviderSketch

friend class ViewProviderSketch
friend

Member Data Documentation

◆ actCursor

QCursor SketcherGui::DrawSketchHandler::actCursor
protected

◆ oldCursor

QCursor SketcherGui::DrawSketchHandler::oldCursor
protected

Referenced by setCursor(), and unsetCursor().

◆ sketchgui

ViewProviderSketch* SketcherGui::DrawSketchHandler::sketchgui
protected

Referenced by DrawSketchHandlerCopy::activated(), DrawSketchHandlerRectangularArray::activated(), DrawSketchHandlerCoincident::activated(), DrawSketchHandlerFillet::activated(), DrawSketchHandlerTrimming::activated(), DrawSketchHandlerExtend::activated(), DrawSketchHandlerExternal::activated(), DrawSketchHandlerCarbonCopy::activated(), SketcherGui::ViewProviderSketch::activateHandler(), createAutoConstraints(), DrawSketchHandlerExternal::deactivated(), DrawSketchHandlerCarbonCopy::deactivated(), getHighestCurveIndex(), getHighestVertexIndex(), DrawSketchHandlerBox::mouseMove(), DrawSketchHandlerLineSet::mouseMove(), DrawSketchHandlerCopy::mouseMove(), DrawSketchHandlerArc::mouseMove(), DrawSketchHandlerRectangularArray::mouseMove(), DrawSketchHandler3PointArc::mouseMove(), DrawSketchHandlerCircle::mouseMove(), DrawSketchHandlerEllipse::mouseMove(), DrawSketchHandlerArcOfEllipse::mouseMove(), DrawSketchHandlerArcOfHyperbola::mouseMove(), DrawSketchHandlerArcOfParabola::mouseMove(), DrawSketchHandlerBSpline::mouseMove(), DrawSketchHandler3PointCircle::mouseMove(), DrawSketchHandlerExtend::mouseMove(), DrawSketchHandlerSlot::mouseMove(), DrawSketchHandlerRegularPolygon::mouseMove(), DrawSketchHandlerExternal::onSelectionChanged(), DrawSketchHandlerCarbonCopy::onSelectionChanged(), DrawSketchHandlerBox::pressButton(), DrawSketchHandlerLineSet::pressButton(), DrawSketchHandlerCopy::pressButton(), DrawSketchHandlerArc::pressButton(), DrawSketchHandlerRectangularArray::pressButton(), DrawSketchHandler3PointArc::pressButton(), DrawSketchHandlerBSpline::pressButton(), DrawSketchHandler3PointCircle::pressButton(), quit(), DrawSketchHandlerLineSet::quit(), DrawSketchHandlerBSpline::quit(), DrawSketchHandlerLineSet::registerPressedKey(), DrawSketchHandlerBox::releaseButton(), DrawSketchHandlerLineSet::releaseButton(), DrawSketchHandlerCopy::releaseButton(), DrawSketchHandlerArc::releaseButton(), DrawSketchHandlerRectangularArray::releaseButton(), DrawSketchHandler3PointArc::releaseButton(), DrawSketchHandlerCoincident::releaseButton(), DrawSketchHandlerCircle::releaseButton(), DrawSketchHandlerArcOfEllipse::releaseButton(), DrawSketchHandlerArcOfHyperbola::releaseButton(), DrawSketchHandlerArcOfParabola::releaseButton(), DrawSketchHandlerBSpline::releaseButton(), DrawSketchHandler3PointCircle::releaseButton(), DrawSketchHandlerPoint::releaseButton(), DrawSketchHandlerFillet::releaseButton(), DrawSketchHandlerTrimming::releaseButton(), DrawSketchHandlerExtend::releaseButton(), DrawSketchHandlerSlot::releaseButton(), DrawSketchHandlerRegularPolygon::releaseButton(), resetPositionText(), seekAutoConstraint(), setPositionText(), and DrawSketchHandlerLineSet::updateTransitionData().


The documentation for this class was generated from the following files:
  • src/Mod/Sketcher/Gui/DrawSketchHandler.h
  • src/Mod/Sketcher/Gui/CommandCreateGeo.cpp
  • src/Mod/Sketcher/Gui/DrawSketchHandler.cpp