The Sketch ViewProvider This class handles mainly the drawing and editing of the sketch. More...
#include <ViewProviderSketch.h>
Classes | |
struct | constrIconQueueItem |
Internal type used for drawing constraint icons. More... | |
Public Member Functions | |
void | draw (bool temp=false, bool rebuildinformationlayer=true) |
draw the sketch in the inventor nodes temp => use temporary solver solution in SketchObject recreateinformationscenography => forces a rebuild of the information layer scenography More... | |
void | drawConstraintIcons () |
Draw all constraint icons. More... | |
void | drawEdit (const std::vector< Base::Vector2d > &EditCurve) |
draw the edit curve More... | |
bool | isSelectable (void) const |
Is the view provider selectable. More... | |
virtual void | onSelectionChanged (const Gui::SelectionChanges &msg) |
Observer message from the Selection. More... | |
void | showRestoreInformationLayer () |
Show/Hide nodes from information layer. More... | |
ViewProviderSketch () | |
constructor More... | |
virtual | ~ViewProviderSketch () |
destructor More... | |
handler control | |
void | activateHandler (DrawSketchHandler *newHandler) |
sets an DrawSketchHandler in control More... | |
void | purgeHandler (void) |
removes the active handler More... | |
void | setAxisPickStyle (bool on) |
set the pick style of the sketch coordinate axes More... | |
helper functions | |
void | getCoordsOnSketchPlane (double &u, double &v, const SbVec3f &point, const SbVec3f &normal) |
give the coordinates of a line on the sketch plane in sketcher (2D) coordinates More... | |
void | getProjectingLine (const SbVec2s &, const Gui::View3DInventorViewer *viewer, SbLine &) const |
give projecting line of position More... | |
bool | detectPreselection (const SoPickedPoint *Point, const Gui::View3DInventorViewer *viewer, const SbVec2s &cursorPos) |
helper to detect preselection More... | |
std::set< int > | detectPreselectionConstr (const SoPickedPoint *Point, const Gui::View3DInventorViewer *viewer, const SbVec2s &cursorPos) |
Helper for detectPreselection(), for constraints only. More... | |
void | centerSelection () |
void | doBoxSelection (const SbVec2s &startPos, const SbVec2s &endPos, const Gui::View3DInventorViewer *viewer) |
box selection method More... | |
void | updateColor (void) |
helper change the color of the sketch according to selection and solver status More... | |
Sketcher::SketchObject * | getSketchObject (void) const |
get the pointer to the sketch document object More... | |
void | snapToGrid (double &x, double &y) |
snap points x,y (mouse coordinates) onto grid if enabled More... | |
void | moveConstraint (int constNum, const Base::Vector2d &toPos) |
moves a selected constraint More... | |
Base::Vector3d | seekConstraintPosition (const Base::Vector3d &origPos, const Base::Vector3d &norm, const Base::Vector3d &dir, float step, const SoNode *constraint) |
finds a free position for placing a constraint icon More... | |
float | getScaleFactor () |
int | getPreselectPoint (void) const |
int | getPreselectCurve (void) const |
int | getPreselectCross (void) const |
Public Member Functions inherited from PartGui::ViewProvider2DObject | |
SoSeparator * | createGrid (void) |
creates the grid More... | |
virtual const char * | getDefaultDisplayMode () const |
get the default display mode More... | |
virtual std::vector< std::string > | getDisplayModes (void) const |
returns a list of all possible modes More... | |
ViewProvider2DObject () | |
constructor More... | |
virtual | ~ViewProvider2DObject () |
destructor More... | |
Public Member Functions inherited from PartGui::ViewProviderPart | |
ViewProviderPart () | |
constructor More... | |
virtual | ~ViewProviderPart () |
destructor More... | |
Public Member Functions inherited from PartGui::ViewProviderPartExt | |
void | reload () |
Update the view representation. More... | |
virtual void | setDisplayMode (const char *ModeName) override |
set the display mode More... | |
ViewProviderPartExt () | |
constructor More... | |
virtual | ~ViewProviderPartExt () |
destructor More... | |
virtual bool | useNewSelectionModel (void) const override |
indicates if the ViewProvider use the new Selection model More... | |
virtual std::string | getElement (const SoDetail *) const override |
return a hit element to the selection path or 0 More... | |
virtual SoDetail * | getDetail (const char *) const override |
return the coin node detail of the subelement More... | |
virtual std::vector< Base::Vector3d > | getModelPoints (const SoPickedPoint *) const override |
virtual std::vector< Base::Vector3d > | getSelectionShape (const char *Element) const override |
return the highlight lines for a given element or the whole shape More... | |
void | setHighlightedFaces (const std::vector< App::Color > &colors) |
void | setHighlightedFaces (const std::vector< App::Material > &colors) |
void | unsetHighlightedFaces () |
void | setHighlightedEdges (const std::vector< App::Color > &colors) |
void | unsetHighlightedEdges () |
void | setHighlightedPoints (const std::vector< App::Color > &colors) |
void | unsetHighlightedPoints () |
virtual std::map< std::string, App::Color > | getElementColors (const char *element=0) const override |
virtual bool | isUpdateForced () const override |
virtual void | forceUpdate (bool enable=true) override |
virtual bool | allowOverride (const App::DocumentObject &) const override |
Allow this class to be used as an override for the original view provider of the given object. More... | |
Public Member Functions inherited from Gui::ViewProviderGeometryObject | |
SoPickedPoint * | getPickedPoint (const SbVec2s &pos, const View3DInventorViewer &viewer) const |
This method is provided for convenience and does basically the same as getPickedPoints() unless that only the closest point to the camera will be picked. More... | |
SoPickedPointList | getPickedPoints (const SbVec2s &pos, const View3DInventorViewer &viewer, bool pickAll=false) const |
Returns a list of picked points from the geometry under getRoot(). More... | |
ViewProviderGeometryObject () | |
constructor. More... | |
virtual | ~ViewProviderGeometryObject () |
destructor. More... | |
virtual void | showBoundingBox (bool) |
Public Member Functions inherited from Gui::ViewProviderDragger | |
ViewProviderDragger () | |
constructor. More... | |
virtual | ~ViewProviderDragger () |
destructor. More... | |
virtual ViewProvider * | startEditing (int ModNum=0) override |
Public Member Functions inherited from Gui::ViewProviderDocumentObject | |
virtual bool | canDelete (App::DocumentObject *obj) const override |
Asks the view provider if the given object can be deleted. More... | |
virtual bool | canDropObjectEx (App::DocumentObject *, App::DocumentObject *, const char *, const std::vector< std::string > &) const override |
Query object dropping with full quanlified name. More... | |
virtual bool | getDetailPath (const char *subname, SoFullPath *pPath, bool append, SoDetail *&det) const override |
return the coin node detail and path to the node of the subname More... | |
Gui::Document * | getDocument () const |
Get the GUI document to this ViewProvider object. More... | |
virtual bool | getElementPicked (const SoPickedPoint *, std::string &subname) const override |
return a hit element given the picked point which contains the full node path More... | |
App::DocumentObject * | getObject (void) const |
Get the object of this ViewProvider object. More... | |
PyObject * | getPyObject () override |
Get the python wrapper for that ViewProvider. More... | |
virtual void | getTaskViewContent (std::vector< Gui::TaskView::TaskContent * > &) const override |
Get a list of TaskBoxes associated with this object. More... | |
virtual void | hide (void) override |
Hide the object in the view. More... | |
virtual void | reattach (App::DocumentObject *) |
virtual int | replaceObject (App::DocumentObject *, App::DocumentObject *) override |
Replace an object to the view provider by drag and drop. More... | |
void | setActiveMode () |
Set the active mode, i.e. the first item of the 'Display' property. More... | |
virtual void | show (void) override |
Show the object in the view. More... | |
virtual bool | showInTree () const override |
Tell the tree view if this object should appear there. More... | |
virtual void | update (const App::Property *) override |
update the content of the ViewProvider this method have to implement the recalculation of the ViewProvider. More... | |
void | updateView () |
Run a redraw. More... | |
ViewProviderDocumentObject () | |
constructor. More... | |
virtual | ~ViewProviderDocumentObject () |
destructor. More... | |
virtual void | startRestoring () |
virtual void | finishRestoring () |
virtual bool | removeDynamicProperty (const char *prop) override |
virtual App::Property * | addDynamicProperty (const char *type, const char *name=0, const char *group=0, const char *doc=0, short attr=0, bool ro=false, bool hidden=false) override |
virtual ViewProviderDocumentObject * | getLinkedViewProvider (std::string *subname=0, bool recursive=false) const |
Return the linked view object. More... | |
virtual std::string | getFullName () const override |
Public Member Functions inherited from Gui::ViewProvider | |
virtual bool | canAddToSceneGraph () const |
Indicate whether to be added to scene graph or not. More... | |
virtual std::vector< App::DocumentObject * > | claimChildren3D (void) const |
deliver the children belonging to this object this method is used to deliver the objects to the 3DView which should be grouped under its scene graph. More... | |
SoSeparator * | getAnnotation (void) |
virtual SoSeparator * | getBackRoot (void) const |
virtual SoGroup * | getChildRoot (void) const |
virtual SoSeparator * | getFrontRoot (void) const |
SoSwitch * | getModeSwitch (void) const |
virtual SoSeparator * | getRoot (void) const |
SoTransform * | getTransformNode () const |
ViewProvider () | |
constructor. More... | |
virtual | ~ViewProvider () |
destructor. More... | |
int | partialRender (const std::vector< std::string > &subelements, bool clear) |
partial rendering setup More... | |
Base::BoundBox3d | getBoundingBox (const char *subname=0, bool transform=true, MDIView *view=0) const |
Return the bound box of this view object. More... | |
virtual void | beforeDelete () |
Called before deletion. More... | |
virtual bool | canDragObjects () const |
Check whether children can be removed from the view provider by drag and drop. More... | |
virtual bool | canDragObject (App::DocumentObject *) const |
Check whether the object can be removed from the view provider by drag and drop. More... | |
virtual void | dragObject (App::DocumentObject *) |
Remove a child from the view provider by drag and drop. More... | |
virtual bool | canDropObjects () const |
Check whether objects can be added to the view provider by drag and drop or drop only. More... | |
virtual bool | canDropObject (App::DocumentObject *) const |
Check whether the object can be dropped to the view provider by drag and drop or drop only. More... | |
virtual bool | canDragAndDropObject (App::DocumentObject *) const |
Return false to force drop only operation for a given object. More... | |
virtual void | dropObject (App::DocumentObject *) |
Add an object to the view provider by drag and drop. More... | |
virtual std::string | getDropPrefix () const |
return a subname referencing the sub-object holding the dropped objects More... | |
virtual std::string | dropObjectEx (App::DocumentObject *obj, App::DocumentObject *owner, const char *subname, const std::vector< std::string > &elements) |
Add an object with full quanlified name to the view provider by drag and drop. More... | |
virtual bool | canRemoveChildrenFromRoot () const |
Tell the tree view to remove children items from the tree root. More... | |
std::string | getActiveDisplayMode (void) const |
virtual bool | isShow (void) const |
checks whether the view provider is visible or not More... | |
void | setVisible (bool) |
bool | isVisible () const |
void | setLinkVisible (bool) |
bool | isLinkVisible () const |
virtual void | setOverrideMode (const std::string &mode) |
Overrides the display mode with mode. More... | |
const std::string | getOverrideMode () |
virtual QIcon | getIcon (void) const |
deliver the icon shown in the tree view More... | |
virtual std::vector< App::DocumentObject * > | claimChildren (void) const |
deliver the children belonging to this object this method is used to deliver the objects to the tree framework which should be grouped under its label. More... | |
bool | isUpdatesEnabled () const |
void | setUpdatesEnabled (bool enable) |
unsigned long | getStatus () const |
return the status bits More... | |
bool | testStatus (ViewStatus pos) const |
void | setStatus (ViewStatus pos, bool on) |
std::string | toString () const |
virtual void | setElementColors (const std::map< std::string, App::Color > &colors) |
bool | isEditing () const |
void | finishEditing () |
virtual void | setTransformation (const Base::Matrix4D &rcMatrix) |
set the viewing transformation of the provider More... | |
virtual void | setTransformation (const SbMatrix &rcMatrix) |
virtual MDIView * | getMDIView () const |
bool | isRestoring () |
void | addDisplayMaskMode (SoNode *node, const char *type) |
Adds a new display mask mode. More... | |
void | setDisplayMaskMode (const char *type) |
Activates the display mask mode type. More... | |
SoNode * | getDisplayMaskMode (const char *type) const |
Get the node to the display mask mode type. More... | |
std::vector< std::string > | getDisplayMaskModes () const |
Returns a list of added display mask modes. More... | |
void | setDefaultMode (int) |
int | getDefaultMode () const |
virtual void | setRenderCacheMode (int) |
Public Member Functions inherited from App::TransactionalObject | |
TransactionalObject (void) | |
Constructor. More... | |
virtual | ~TransactionalObject () |
Public Member Functions inherited from App::ExtensionContainer | |
ExtensionIterator | extensionBegin () |
ExtensionContainer () | |
ExtensionIterator | extensionEnd () |
App::Extension * | getExtension (Base::Type, bool derived=true, bool no_except=false) const |
App::Extension * | getExtension (const std::string &name) const |
template<typename ExtensionT > | |
ExtensionT * | getExtensionByType (bool no_except=false, bool derived=true) const |
std::vector< Extension * > | getExtensionsDerivedFrom (Base::Type type) const |
template<typename ExtensionT > | |
std::vector< ExtensionT * > | getExtensionsDerivedFromType () const |
bool | hasExtension (Base::Type, bool derived=true) const |
bool | hasExtension (const std::string &name) const |
bool | hasExtensions () const |
void | registerExtension (Base::Type extension, App::Extension *ext) |
virtual | ~ExtensionContainer () |
virtual Property * | getPropertyByName (const char *name) const override |
find a property by its name More... | |
virtual const char * | getPropertyName (const Property *prop) const override |
get the name of a property More... | |
virtual void | getPropertyMap (std::map< std::string, Property * > &Map) const override |
get all properties of the class (including properties of the parent) More... | |
virtual void | getPropertyList (std::vector< Property * > &List) const override |
get all properties of the class (including properties of the parent) More... | |
virtual short | getPropertyType (const Property *prop) const override |
get the Type of a Property More... | |
virtual short | getPropertyType (const char *name) const override |
get the Type of a named Property More... | |
virtual const char * | getPropertyGroup (const Property *prop) const override |
get the Group of a Property More... | |
virtual const char * | getPropertyGroup (const char *name) const override |
get the Group of a named Property More... | |
virtual const char * | getPropertyDocumentation (const Property *prop) const override |
get the Group of a Property More... | |
virtual const char * | getPropertyDocumentation (const char *name) const override |
get the Group of a named Property More... | |
virtual void | Save (Base::Writer &writer) const override |
This method is used to save properties to an XML document. More... | |
void | saveExtensions (Base::Writer &writer) const |
void | restoreExtensions (Base::XMLReader &reader) |
Public Member Functions inherited from App::PropertyContainer | |
virtual App::Property * | getDynamicPropertyByName (const char *name) const |
DynamicProperty::PropData | getDynamicPropertyData (const Property *prop) const |
virtual std::vector< std::string > | getDynamicPropertyNames () const |
virtual unsigned int | getMemSize (void) const |
This method is used to get the size of objects It is not meant to have the exact size, it is more or less an estimation which runs fast! Is it two bytes or a GB? More... | |
const char * | getPropertyPrefix () const |
bool | isHidden (const char *name) const |
check if the named property is hidden More... | |
bool | isHidden (const Property *prop) const |
check if the property is hidden More... | |
bool | isReadOnly (const char *name) const |
check if the named property is read-only More... | |
bool | isReadOnly (const Property *prop) const |
check if the property is read-only More... | |
PropertyContainer () | |
A constructor. More... | |
void | setPropertyPrefix (const char *prefix) |
void | setPropertyStatus (unsigned char bit, bool value) |
set the Status bit of all properties at once More... | |
virtual | ~PropertyContainer () |
A destructor. More... | |
Public Member Functions inherited from Base::Persistence | |
void | dumpToStream (std::ostream &stream, int compression) |
virtual Base::Type | getTypeId (void) const |
virtual void | RestoreDocFile (Reader &) |
This method is used to restore large amounts of data from a file In this method you simply stream in your SaveDocFile() saved data. More... | |
void | restoreFromStream (std::istream &stream) |
virtual void | SaveDocFile (Writer &) const |
This method is used to save large amounts of data to a binary file. More... | |
Public Member Functions inherited from Base::BaseClass | |
BaseClass () | |
Construction. More... | |
bool | isDerivedFrom (const Type type) const |
virtual void | setPyObject (PyObject *) |
virtual | ~BaseClass () |
Destruction. More... | |
Public Member Functions inherited from Gui::SelectionObserver | |
void | attachSelection () |
Attaches to the selection. More... | |
bool | blockConnection (bool block) |
void | detachSelection () |
Detaches from the selection. More... | |
bool | isConnectionAttached () const |
bool | isConnectionBlocked () const |
SelectionObserver (bool attach=true, int resolve=1) | |
Constructor. More... | |
SelectionObserver (const Gui::ViewProviderDocumentObject *vp, bool attach=true, int resolve=1) | |
Constructor. More... | |
virtual | ~SelectionObserver () |
modus handling | |
enum | SketchMode { STATUS_NONE, STATUS_SELECT_Point, STATUS_SELECT_Edge, STATUS_SELECT_Constraint, STATUS_SELECT_Cross, STATUS_SKETCH_DragPoint, STATUS_SKETCH_DragCurve, STATUS_SKETCH_DragConstraint, STATUS_SKETCH_UseHandler, STATUS_SKETCH_StartRubberBand, STATUS_SKETCH_UseRubberBand } |
mode table More... | |
void | setSketchMode (SketchMode mode) |
is called by GuiCommands to set the drawing mode More... | |
SketchMode | getSketchMode (void) const |
get the sketch mode More... | |
base class implementer | |
boost::signals2::signal< void()> | signalConstraintsChanged |
signals if the constraints list has changed More... | |
boost::signals2::signal< void(QString msg)> | signalSetUp |
signals if the sketch has been set up More... | |
boost::signals2::signal< void(QString msg)> | signalSolved |
signals if the sketch has been solved More... | |
boost::signals2::signal< void()> | signalElementsChanged |
signals if the elements list has changed More... | |
class | DrawSketchHandler |
struct | ::EditData |
EditData * | edit |
pointer to the edit data structure if the ViewProvider is in edit. More... | |
boost::signals2::connection | connectUndoDocument |
boost::signals2::connection | connectRedoDocument |
virtual void | attach (App::DocumentObject *) |
Attaches the document object to this view provider. More... | |
virtual void | updateData (const App::Property *) |
virtual void | setupContextMenu (QMenu *menu, QObject *receiver, const char *member) |
set up the context-menu with the supported edit modes More... | |
virtual bool | onDelete (const std::vector< std::string > &) |
is called when the Provider is in edit and a deletion request occurs More... | |
virtual bool | doubleClicked (void) |
is called by the tree if the user double click on the object More... | |
virtual bool | mouseMove (const SbVec2s &pos, Gui::View3DInventorViewer *viewer) |
is called when the Provider is in edit and the mouse is moved More... | |
virtual bool | keyPressed (bool pressed, int key) |
is called when the Provider is in edit and a key event ocours. Only ESC ends edit. More... | |
virtual bool | mouseButtonPressed (int Button, bool pressed, const SbVec2s &cursorPos, const Gui::View3DInventorViewer *viewer) |
is called when the Provider is in edit and the mouse is clicked More... | |
void | deleteSelected () |
void | updateVirtualSpace (void) |
updates the visibility of the virtual space More... | |
void | setIsShownVirtualSpace (bool isshownvirtualspace) |
bool | getIsShownVirtualSpace (void) const |
Base::Placement | getEditingPlacement () const |
virtual bool | setEdit (int ModNum) |
is called by the document when the provider goes in edit mode More... | |
virtual void | unsetEdit (int ModNum) |
is called when you lose the edit mode More... | |
virtual void | setEditViewer (Gui::View3DInventorViewer *, int ModNum) |
adjust viewer settings when editing a view provider More... | |
virtual void | unsetEditViewer (Gui::View3DInventorViewer *) |
restores viewer settings when leaving editing mode More... | |
void | deactivateHandler () |
void | UpdateSolverInformation (void) |
update solver information based on last solving at SketchObject More... | |
bool | isPointOnSketch (const SoPickedPoint *pp) const |
helper to detect whether the picked point lies on the sketch More... | |
virtual void | onChanged (const App::Property *prop) |
get called by the container whenever a property has been changed More... | |
void | editDoubleClicked (void) |
get called if a subelement is double clicked while editing More... | |
void | createEditInventorNodes (void) |
set up the edition data structure EditData More... | |
void | rebuildConstraintsVisual (void) |
build up the visual of the constraints More... | |
void | slotUndoDocument (const Gui::Document &) |
void | slotRedoDocument (const Gui::Document &) |
QString | getPresentationString (const Sketcher::Constraint *constraint) |
Return display string for constraint including hiding units if. More... | |
Protected helpers for drawing constraint icons | |
typedef std::vector< constrIconQueueItem > | IconQueue |
Internal type used for drawing constraint icons. More... | |
typedef std::pair< QRect, std::set< int > > | ConstrIconBB |
For constraint icon bounding boxes. More... | |
typedef std::vector< ConstrIconBB > | ConstrIconBBVec |
For constraint icon bounding boxes. More... | |
SketchMode | Mode |
float | zCross |
float | zLowPoints |
float | zHighPoints |
float | zConstr |
float | zHighlight |
float | zText |
float | zEdit |
float | zHighLine |
float | zInfo |
float | zLowLines |
float | zMidLines |
float | zHighLines |
double | xInit |
double | yInit |
bool | relative |
Gui::Rubberband * | rubberband |
bool | visibleInformationChanged |
double | combrepscalehyst |
std::string | editDocName |
std::string | editObjName |
std::string | editSubName |
bool | isShownVirtualSpace |
ShortcutListener * | listener |
static SbColor | VertexColor |
static SbColor | CurveColor |
static SbColor | CreateCurveColor |
static SbColor | CurveDraftColor |
static SbColor | CurveExternalColor |
static SbColor | CrossColorV |
static SbColor | CrossColorH |
static SbColor | FullyConstrainedColor |
static SbColor | ConstrDimColor |
static SbColor | ConstrIcoColor |
static SbColor | NonDrivingConstrDimColor |
static SbColor | ExprBasedConstrDimColor |
static SbColor | PreselectColor |
static SbColor | SelectColor |
static SbColor | PreselectSelectedColor |
static SbColor | InformationColor |
static SbColor | DeactivatedConstrDimColor |
static SbTime | prvClickTime |
static SbVec2s | prvClickPos |
static SbVec2s | prvCursorPos |
static SbVec2s | newCursorPos |
QString | iconTypeFromConstraint (Sketcher::Constraint *constraint) |
QColor | constrColor (int constraintId) |
Returns a QColor object appropriate for constraint with given id. More... | |
int | constrColorPriority (int constraintId) |
Used by drawMergedConstraintIcons to decide what color to make icons. More... | |
void | combineConstraintIcons (IconQueue iconQueue) |
void | drawTypicalConstraintIcon (const constrIconQueueItem &i) |
Renders an icon for a single constraint and sends it to Coin. More... | |
void | drawMergedConstraintIcons (IconQueue iconQueue) |
Combines multiple constraint icons and sends them to Coin. More... | |
QImage | renderConstrIcon (const QString &type, const QColor &iconColor, const QStringList &labels, const QList< QColor > &labelColors, double iconRotation, std::vector< QRect > *boundingBoxes=NULL, int *vPad=NULL) |
Helper for drawMergedConstraintIcons and drawTypicalConstraintIcon. More... | |
void | sendConstraintIconToCoin (const QImage &icon, SoImage *soImagePtr) |
Copies a QImage constraint icon into a SoImage*. More... | |
void | clearCoinImage (SoImage *soImagePtr) |
Essentially a version of sendConstraintIconToCoin, with a blank icon. More... | |
SbVec3s | getDisplayedSize (const SoImage *) const |
Returns the size that Coin should display the indicated image at. More... | |
void | setPositionText (const Base::Vector2d &Pos, const SbString &txt) |
void | setPositionText (const Base::Vector2d &Pos) |
void | resetPositionText (void) |
void | setPreselectPoint (int PreselectPoint) |
void | resetPreselectPoint (void) |
void | addSelectPoint (int SelectPoint) |
void | removeSelectPoint (int SelectPoint) |
void | clearSelectPoints (void) |
Additional Inherited Members | |
Public Types inherited from Gui::ViewProvider | |
enum | EditMode { Default = 0, Transform, Cutting, Color } |
Public Types inherited from App::ExtensionContainer | |
typedef std::map< Base::Type, App::Extension * >::iterator | ExtensionIterator |
Static Public Member Functions inherited from Gui::ViewProviderDragger | |
static void | updateTransform (const Base::Placement &from, SoTransform *to) |
Static Public Member Functions inherited from Gui::ViewProvider | |
static const std::string & | hiddenMarker () |
static const char * | hasHiddenMarker (const char *subname) |
static SbMatrix | convert (const Base::Matrix4D &rcMatrix) |
static Base::Matrix4D | convert (const SbMatrix &sbMat) |
static void | eventCallback (void *ud, SoEventCallback *node) |
Static Public Member Functions inherited from Base::Persistence | |
static void * | create (void) |
static std::string | encodeAttribute (const std::string &) |
Encodes an attribute upon saving. More... | |
static Base::Type | getClassTypeId (void) |
static void | init (void) |
Static Public Member Functions inherited from Base::BaseClass | |
static void * | create (void) |
static Type | getClassTypeId (void) |
static void | init (void) |
Protected Member Functions inherited from PartGui::ViewProvider2DObject | |
virtual void | handleChangedPropertyType (Base::XMLReader &reader, const char *TypeName, App::Property *prop) |
PropertyContainer::handleChangedPropertyType is called during restore to possibly fix reading of older versions of the property container. More... | |
virtual void | Restore (Base::XMLReader &reader) |
This method is used to restore properties from an XML document. More... | |
void | updateGridExtent (float minx, float maxx, float miny, float maxy) |
Protected Member Functions inherited from PartGui::ViewProviderPart | |
void | applyColor (const Part::ShapeHistory &hist, const std::vector< App::Color > &colBase, std::vector< App::Color > &colBool) |
void | applyTransparency (const float &transparency, std::vector< App::Color > &colors) |
Protected Member Functions inherited from PartGui::ViewProviderPartExt | |
bool | loadParameter () |
void | updateVisual () |
void | getNormals (const TopoDS_Face &theFace, const Handle(Poly_Triangulation)&aPolyTri, TColgp_Array1OfDir &theNormals) |
Protected Member Functions inherited from Gui::ViewProviderGeometryObject | |
void | setSelectable (bool Selectable=true) |
virtual unsigned long | getBoundColor () const |
Protected Member Functions inherited from Gui::ViewProviderDragger | |
Protected Member Functions inherited from Gui::ViewProviderDocumentObject | |
Gui::MDIView * | getActiveView () const |
Gui::MDIView * | getEditingView () const |
Gui::MDIView * | getInventorView () const |
Gui::MDIView * | getViewOfNode (SoNode *node) const |
virtual void | onBeforeChange (const App::Property *prop) override |
get called before the value is changed More... | |
SoNode * | findFrontRootOfType (const SoType &type) const |
Searches in all view providers that are attached to an object that is part of the same document as the object this view provider is attached to for an front root of type. More... | |
virtual bool | isAttachedToDocument () const override |
virtual const char * | detachFromDocument () override |
virtual void | onPropertyStatusChanged (const App::Property &prop, unsigned long oldStatus) override |
get called when a property status has changed More... | |
Protected Member Functions inherited from Gui::ViewProvider | |
virtual QIcon | mergeOverlayIcons (const QIcon &orig) const |
int | getEditingMode () const |
return the edit mode or -1 if nothing is being edited More... | |
bool | checkRecursion (SoNode *) |
Helper method to check that the node is valid, i.e. More... | |
SoPickedPoint * | getPointOnRay (const SbVec2s &pos, const View3DInventorViewer *viewer) const |
Helper method to get picked entities while editing. More... | |
SoPickedPoint * | getPointOnRay (const SbVec3f &pos, const SbVec3f &dir, const View3DInventorViewer *viewer) const |
Helper method to get picked entities while editing. More... | |
Protected Member Functions inherited from App::TransactionalObject | |
void | onBeforeChangeProperty (Document *doc, const Property *prop) |
Protected Member Functions inherited from App::PropertyContainer | |
virtual const PropertyData & | getPropertyData (void) const |
virtual void | handleChangedPropertyName (Base::XMLReader &reader, const char *TypeName, const char *PropName) |
PropertyContainer::handleChangedPropertyName is called during restore to possibly fix reading of older versions of this property container. More... | |
Static Protected Member Functions inherited from App::PropertyContainer | |
static const PropertyData * | getPropertyDataPtr (void) |
Static Protected Member Functions inherited from Base::BaseClass | |
static void | initSubclass (Base::Type &toInit, const char *ClassName, const char *ParentName, Type::instantiationMethod method=nullptr) |
Protected Attributes inherited from PartGui::ViewProvider2DObject | |
SoSeparator * | GridRoot |
Protected Attributes inherited from PartGui::ViewProviderPartExt | |
SoMaterialBinding * | pcFaceBind |
SoMaterialBinding * | pcLineBind |
SoMaterialBinding * | pcPointBind |
SoMaterial * | pcLineMaterial |
SoMaterial * | pcPointMaterial |
SoDrawStyle * | pcLineStyle |
SoDrawStyle * | pcPointStyle |
SoShapeHints * | pShapeHints |
SoCoordinate3 * | coords |
SoBrepFaceSet * | faceset |
SoNormal * | norm |
SoNormalBinding * | normb |
SoBrepEdgeSet * | lineset |
SoBrepPointSet * | nodeset |
bool | VisualTouched |
bool | NormalsFromUV |
Protected Attributes inherited from Gui::ViewProviderGeometryObject | |
SoMaterial * | pcShapeMaterial |
SoFCBoundingBox * | pcBoundingBox |
SoSwitch * | pcBoundSwitch |
SoBaseColor * | pcBoundColor |
Protected Attributes inherited from Gui::ViewProviderDragger | |
SoFCCSysDragger * | csysDragger = nullptr |
Protected Attributes inherited from Gui::ViewProviderDocumentObject | |
App::DocumentObject * | pcObject |
Gui::Document * | pcDocument |
Protected Attributes inherited from Gui::ViewProvider | |
SoSeparator * | pcRoot |
The root Separator of the ViewProvider. More... | |
SoTransform * | pcTransform |
this is transformation for the provider More... | |
const char * | sPixmap |
SoSwitch * | pcModeSwitch |
this is the mode switch, all the different viewing modes are collected here More... | |
SoSeparator * | pcAnnotation |
The root separator for annotations. More... | |
ViewProviderPy * | pyViewObject |
std::string | overrideMode |
std::bitset< 32 > | StatusBits |
Protected Attributes inherited from App::PropertyContainer | |
DynamicProperty | dynamicProps |
Static Protected Attributes inherited from PartGui::ViewProvider2DObject | |
static App::PropertyQuantityConstraint::Constraints | GridSizeRange = {0.001,DBL_MAX,1.0} |
static const char * | GridStyleEnums [] = {"Dashed","Light",NULL} |
Detailed Description
The Sketch ViewProvider This class handles mainly the drawing and editing of the sketch.
It draws the geometry and the constraints applied to the sketch. It uses the class DrawSketchHandler to facilitate the creation of new geometry while editing.
Member Typedef Documentation
◆ ConstrIconBB
|
protected |
For constraint icon bounding boxes.
◆ ConstrIconBBVec
|
protected |
For constraint icon bounding boxes.
◆ IconQueue
|
protected |
Internal type used for drawing constraint icons.
Member Enumeration Documentation
◆ SketchMode
mode table
Enumerator | |
---|---|
STATUS_NONE | enum value View provider is in neutral. |
STATUS_SELECT_Point | enum value a point was selected. |
STATUS_SELECT_Edge | enum value an edge was selected. |
STATUS_SELECT_Constraint | enum value a constraint was selected. |
STATUS_SELECT_Cross | enum value the base coordinate system was selected. |
STATUS_SKETCH_DragPoint | enum value while dragging a point. |
STATUS_SKETCH_DragCurve | enum value while dragging a curve. |
STATUS_SKETCH_DragConstraint | enum value while dragging a compatible constraint. |
STATUS_SKETCH_UseHandler | enum value a DrawSketchHandler is in control. |
STATUS_SKETCH_StartRubberBand | enum value for initiating a rubber band selection |
STATUS_SKETCH_UseRubberBand | enum value when making a rubber band selection enum value a DrawSketchHandler is in control. |
Constructor & Destructor Documentation
◆ ViewProviderSketch()
ViewProviderSketch::ViewProviderSketch | ( | ) |
constructor
References App::GetApplication(), ParameterGrp::GetASCII(), ParameterGrp::GetBool(), ParameterGrp::GetGroup(), App::Color::getPackedValue(), App::Application::GetParameterGroupByPath(), ParameterGrp::GetUnsigned(), Base::Quantity::getValue(), Base::Quantity::parse(), App::Prop_None, App::Color::setPackedValue(), and App::Color::setValue().
◆ ~ViewProviderSketch()
|
virtual |
destructor
Member Function Documentation
◆ activateHandler()
void ViewProviderSketch::activateHandler | ( | DrawSketchHandler * | newHandler | ) |
sets an DrawSketchHandler in control
References Gui::Application::activeDocument(), Gui::Document::getActiveView(), Gui::Application::Instance, and SketcherGui::DrawSketchHandler::sketchgui.
◆ addSelectPoint()
|
protected |
◆ attach()
|
virtual |
Attaches the document object to this view provider.
Reimplemented from PartGui::ViewProvider2DObject.
Referenced by SketcherGui::ViewProviderCustom::updateData().
◆ centerSelection()
void ViewProviderSketch::centerSelection | ( | ) |
Look at the center of the bounding of all selected items
References OfflineRenderingUtils::viewer().
Referenced by SketcherGui::TaskSketcherConstrains::on_listWidgetConstraints_emitCenterSelectedItems().
◆ clearCoinImage()
|
protected |
Essentially a version of sendConstraintIconToCoin, with a blank icon.
◆ clearSelectPoints()
|
protected |
◆ combineConstraintIcons()
|
protected |
◆ constrColor()
|
protected |
Returns a QColor object appropriate for constraint with given id.
In the case of combined icons, the icon color is chosen based on the constraint with the highest priority from constrColorPriority()
◆ constrColorPriority()
|
protected |
Used by drawMergedConstraintIcons to decide what color to make icons.
See constrColor()
◆ createEditInventorNodes()
|
protected |
set up the edition data structure EditData
References App::GetApplication(), ParameterGrp::GetInt(), Gui::Inventor::MarkerBitmaps::getMarkerIndex(), App::Application::GetParameterGroupByPath(), and ParameterGrp::GetUnsigned().
◆ deactivateHandler()
|
protected |
◆ deleteSelected()
void ViewProviderSketch::deleteSelected | ( | ) |
◆ detectPreselection()
bool ViewProviderSketch::detectPreselection | ( | const SoPickedPoint * | Point, |
const Gui::View3DInventorViewer * | viewer, | ||
const SbVec2s & | cursorPos | ||
) |
helper to detect preselection
References Sketcher::PropertyConstraintList::getConstraintName(), Sketcher::GeoEnum::RefExt, Sketcher::GeoEnum::RtPnt, Gui::Selection(), Gui::SelectionSingleton::setPreselect(), Gui::SelectionSingleton::setPreselectCoord(), and OfflineRenderingUtils::viewer().
◆ detectPreselectionConstr()
std::set< int > ViewProviderSketch::detectPreselectionConstr | ( | const SoPickedPoint * | Point, |
const Gui::View3DInventorViewer * | viewer, | ||
const SbVec2s & | cursorPos | ||
) |
Helper for detectPreselection(), for constraints only.
References OfflineRenderingUtils::viewer(), Base::Vector3< _Precision >::x, and Base::Vector3< _Precision >::y.
◆ doBoxSelection()
void ViewProviderSketch::doBoxSelection | ( | const SbVec2s & | startPos, |
const SbVec2s & | endPos, | ||
const Gui::View3DInventorViewer * | viewer | ||
) |
box selection method
TODO: Make it impossible to miss the circle if it's big and the selection pretty thin.
References Base::Polygon2d::Add(), Gui::SelectionSingleton::addSelection2(), Part::GeomArcOfConic::getAngleXU(), Part::GeomArcOfConic::getCenter(), Base::Persistence::getClassTypeId(), Sketcher::SketchObject::getCompleteGeometry(), Part::GeomBoundedCurve::getEndPoint(), Part::GeomArcOfConic::getEndPoint(), Part::GeomLineSegment::getEndPoint(), Sketcher::SketchObject::getExternalGeometryCount(), Part::GeomArcOfParabola::getFocal(), Sketcher::SketchObject::getHighestCurveIndex(), Part::GeomArcOfEllipse::getMajorAxisDir(), Part::GeomArcOfEllipse::getMajorRadius(), Part::GeomArcOfHyperbola::getMajorRadius(), Part::GeomArcOfEllipse::getMinorRadius(), Part::GeomArcOfHyperbola::getMinorRadius(), Base::Placement::getPosition(), Part::GeomArcOfCircle::getRadius(), Part::GeomArcOfCircle::getRange(), Part::GeomArcOfEllipse::getRange(), Part::GeomArcOfHyperbola::getRange(), Part::GeomArcOfParabola::getRange(), Part::GeomBoundedCurve::getStartPoint(), Part::GeomArcOfConic::getStartPoint(), Part::GeomLineSegment::getStartPoint(), Base::Placement::multVec(), Gui::Selection(), OfflineRenderingUtils::viewer(), Base::Vector3< _Precision >::x, and Base::Vector3< _Precision >::y.
◆ doubleClicked()
|
virtual |
is called by the tree if the user double click on the object
Reimplemented from PartGui::ViewProviderPart.
References Gui::Application::activeDocument(), Gui::Application::Instance, and Gui::Document::setEdit().
◆ draw()
draw the sketch in the inventor nodes temp => use temporary solver solution in SketchObject recreateinformationscenography => forces a rebuild of the information layer scenography
References SketcherGui::SoDatumLabel::ANGLE, DraftVecUtils::angle(), Sketcher::Block, Sketcher::Coincident, Gui::coinRemoveAllChildren(), Base::Console(), Part::GeomCurve::curvatureAt(), SketcherGui::SoDatumLabel::datumtype, SketcherGui::SoDatumLabel::DIAMETER, Sketcher::Diameter, Sketcher::Distance, SketcherGui::SoDatumLabel::DISTANCE, Sketcher::DistanceX, SketcherGui::SoDatumLabel::DISTANCEX, Sketcher::DistanceY, SketcherGui::SoDatumLabel::DISTANCEY, Sketcher::Equal, Base::ConsoleSingleton::Error(), Sketcher::Constraint::First, Sketcher::Constraint::FirstPos, App::GetApplication(), ParameterGrp::GetBool(), Part::GeomConic::getCenter(), Part::GeomArcOfConic::getCenter(), Base::Persistence::getClassTypeId(), Base::BaseClass::getClassTypeId(), Part::GeomBSplineCurve::getDegree(), Part::GeomBoundedCurve::getEndPoint(), Part::GeomArcOfConic::getEndPoint(), Part::GeomLineSegment::getEndPoint(), Part::GeomCurve::getFirstParameter(), Part::GeomArcOfParabola::getFocal(), Part::GeomArcOfParabola::getFocus(), ParameterGrp::GetInt(), Part::GeomBSplineCurve::getKnots(), Part::GeomCurve::getLastParameter(), Part::GeomArcOfEllipse::getMajorAxisDir(), Part::GeomArcOfHyperbola::getMajorAxisDir(), Part::GeomArcOfEllipse::getMajorRadius(), Part::GeomArcOfHyperbola::getMajorRadius(), Part::GeomArcOfEllipse::getMinorRadius(), Part::GeomArcOfHyperbola::getMinorRadius(), Part::GeomBSplineCurve::getMultiplicities(), App::Application::GetParameterGroupByPath(), Part::GeomBSplineCurve::getPoles(), Sketcher::Constraint::getPresentationValue(), Part::GeomCircle::getRadius(), Part::GeomArcOfCircle::getRadius(), Part::GeomArcOfEllipse::getRange(), Part::GeomArcOfHyperbola::getRange(), Part::GeomArcOfParabola::getRange(), Part::GeomBoundedCurve::getStartPoint(), Part::GeomArcOfConic::getStartPoint(), Part::GeomLineSegment::getStartPoint(), Base::Persistence::getTypeId(), Base::Quantity::getUserString(), Sketcher::Constraint::getValue(), Part::GeomArcOfConic::getXAxisDir(), Sketcher::Horizontal, Sketcher::InternalAlignment, Base::BaseClass::isDerivedFrom(), Part::GeomBSplineCurve::isPeriodic(), Sketcher::Constraint::LabelDistance, Sketcher::Constraint::LabelPosition, Sketcher::none, Part::GeomCurve::normalAt(), Base::Vector3< _Precision >::Normalize(), Sketcher::NumConstraintTypes, Sketcher::Parallel, SketcherGui::SoDatumLabel::param1, SketcherGui::SoDatumLabel::param2, SketcherGui::SoDatumLabel::param3, Sketcher::Perpendicular, SketcherGui::SoDatumLabel::pnts, Part::GeomCurve::pointAtParameter(), Sketcher::PointOnObject, Base::Vector3< _Precision >::ProjectToLine(), Sketcher::Radius, SketcherGui::SoDatumLabel::RADIUS, Base::Vector3< _Precision >::RotateZ(), Sketcher::Constraint::Second, Sketcher::Constraint::SecondPos, Sketcher::SnellsLaw, SketcherGui::SoDatumLabel::string, Sketcher::Symmetric, SketcherGui::SoDatumLabel::SYMMETRIC, Sketcher::Tangent, Sketcher::Constraint::Third, Sketcher::Constraint::ThirdPos, Sketcher::Constraint::Type, Sketcher::Vertical, Base::Vector3< _Precision >::x, and Base::Vector3< _Precision >::y.
Referenced by CmdSketcherConstrainRadius::activated(), CmdSketcherConstrainDiameter::activated(), CmdSketcherConstrainRadius::applyConstraint(), and CmdSketcherConstrainDiameter::applyConstraint().
◆ drawConstraintIcons()
void ViewProviderSketch::drawConstraintIcons | ( | ) |
Draw all constraint icons.
Except maybe the radius and lock ones?
References SketcherGui::SoZoomTranslation::abPos, Base::Console(), SketcherGui::ViewProviderSketch::constrIconQueueItem::constraintId, SketcherGui::ViewProviderSketch::constrIconQueueItem::destination, Gui::Application::editViewOfNode(), Sketcher::Equal, Base::Persistence::getClassTypeId(), Base::BaseClass::getClassTypeId(), Base::Persistence::getTypeId(), Sketcher::Horizontal, SketcherGui::ViewProviderSketch::constrIconQueueItem::iconRotation, SketcherGui::ViewProviderSketch::constrIconQueueItem::infoPtr, Gui::Application::Instance, Base::BaseClass::isDerivedFrom(), SketcherGui::ViewProviderSketch::constrIconQueueItem::label, Sketcher::none, Sketcher::Parallel, Sketcher::Perpendicular, SketcherGui::ViewProviderSketch::constrIconQueueItem::position, Sketcher::Symmetric, Sketcher::Tangent, SketcherGui::ViewProviderSketch::constrIconQueueItem::type, Sketcher::Vertical, OfflineRenderingUtils::viewer(), Base::ConsoleSingleton::Warning(), Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.
◆ drawEdit()
void ViewProviderSketch::drawEdit | ( | const std::vector< Base::Vector2d > & | EditCurve | ) |
draw the edit curve
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(), DrawSketchHandlerExtend::mouseMove(), DrawSketchHandlerSlot::mouseMove(), DrawSketchHandlerRegularPolygon::mouseMove(), DrawSketchHandlerBox::pressButton(), DrawSketchHandlerLineSet::pressButton(), DrawSketchHandlerCopy::pressButton(), DrawSketchHandlerArc::pressButton(), DrawSketchHandlerRectangularArray::pressButton(), DrawSketchHandler3PointArc::pressButton(), DrawSketchHandler3PointCircle::pressButton(), SketcherGui::DrawSketchHandler::quit(), DrawSketchHandlerLineSet::quit(), DrawSketchHandlerBSpline::quit(), DrawSketchHandlerBox::releaseButton(), DrawSketchHandlerLineSet::releaseButton(), DrawSketchHandlerCopy::releaseButton(), DrawSketchHandlerArc::releaseButton(), DrawSketchHandlerRectangularArray::releaseButton(), DrawSketchHandler3PointArc::releaseButton(), DrawSketchHandlerCircle::releaseButton(), DrawSketchHandlerArcOfEllipse::releaseButton(), DrawSketchHandlerArcOfHyperbola::releaseButton(), DrawSketchHandlerArcOfParabola::releaseButton(), DrawSketchHandlerBSpline::releaseButton(), DrawSketchHandler3PointCircle::releaseButton(), DrawSketchHandlerExtend::releaseButton(), DrawSketchHandlerSlot::releaseButton(), and DrawSketchHandlerRegularPolygon::releaseButton().
◆ drawMergedConstraintIcons()
|
protected |
Combines multiple constraint icons and sends them to Coin.
References DraftVecUtils::closest().
◆ drawTypicalConstraintIcon()
|
protected |
Renders an icon for a single constraint and sends it to Coin.
◆ editDoubleClicked()
|
protected |
get called if a subelement is double clicked while editing
References Base::Console(), SketcherGui::EditDatumDialog::exec(), Sketcher::Constraint::isDimensional(), Base::ConsoleSingleton::Log(), and Gui::Command::openCommand().
◆ getCoordsOnSketchPlane()
void ViewProviderSketch::getCoordsOnSketchPlane | ( | double & | u, |
double & | v, | ||
const SbVec3f & | point, | ||
const SbVec3f & | normal | ||
) |
give the coordinates of a line on the sketch plane in sketcher (2D) coordinates
References Base::Placement::getPosition(), Base::Placement::getRotation(), Base::Rotation::multVec(), Base::Placement::setRotation(), Base::Vector3< _Precision >::TransformToCoordinateSystem(), Base::Vector3< _Precision >::x, and Base::Vector3< _Precision >::y.
◆ getDisplayedSize()
|
protected |
Returns the size that Coin should display the indicated image at.
◆ getEditingPlacement()
|
protected |
References Gui::Application::editDocument(), and Gui::Application::Instance.
◆ getIsShownVirtualSpace()
bool ViewProviderSketch::getIsShownVirtualSpace | ( | void | ) | const |
◆ getPreselectCross()
int ViewProviderSketch::getPreselectCross | ( | void | ) | const |
◆ getPreselectCurve()
int ViewProviderSketch::getPreselectCurve | ( | void | ) | const |
◆ getPreselectPoint()
int ViewProviderSketch::getPreselectPoint | ( | void | ) | const |
◆ getPresentationString()
|
protected |
Return display string for constraint including hiding units if.
References Base::Centimeters, App::GetApplication(), ParameterGrp::GetBool(), ParameterGrp::GetGroup(), Sketcher::Constraint::getPresentationValue(), Base::UnitsApi::getSchema(), App::Application::GetUserParameter(), Base::Quantity::getUserString(), Base::ImperialDecimal, Sketcher::Constraint::isActive, Base::MmMin, Base::SI1, and Base::SI2.
◆ getProjectingLine()
void ViewProviderSketch::getProjectingLine | ( | const SbVec2s & | pnt, |
const Gui::View3DInventorViewer * | viewer, | ||
SbLine & | line | ||
) | const |
give projecting line of position
References OfflineRenderingUtils::viewer().
◆ getScaleFactor()
float ViewProviderSketch::getScaleFactor | ( | ) |
References Gui::Application::editViewOfNode(), Base::BaseClass::getClassTypeId(), Gui::Application::Instance, Base::BaseClass::isDerivedFrom(), DraftVecUtils::scale(), and OfflineRenderingUtils::viewer().
Referenced by CmdSketcherConstrainRadius::activated(), CmdSketcherConstrainDiameter::activated(), CmdSketcherConstrainRadius::applyConstraint(), CmdSketcherConstrainDiameter::applyConstraint(), and SketcherGui::DrawSketchHandler::seekAutoConstraint().
◆ getSketchMode()
SketchMode SketcherGui::ViewProviderSketch::getSketchMode | ( | void | ) | const |
get the sketch mode
◆ getSketchObject()
Sketcher::SketchObject * ViewProviderSketch::getSketchObject | ( | void | ) | const |
get the pointer to the sketch document object
Referenced by CmdSketcherConstrainHorizontal::applyConstraint(), CmdSketcherConstrainVertical::applyConstraint(), CmdSketcherConstrainLock::applyConstraint(), CmdSketcherConstrainCoincident::applyConstraint(), CmdSketcherConstrainDistance::applyConstraint(), CmdSketcherConstrainPointOnObject::applyConstraint(), CmdSketcherConstrainDistanceX::applyConstraint(), CmdSketcherConstrainDistanceY::applyConstraint(), CmdSketcherConstrainParallel::applyConstraint(), CmdSketcherConstrainPerpendicular::applyConstraint(), CmdSketcherConstrainTangent::applyConstraint(), CmdSketcherConstrainRadius::applyConstraint(), CmdSketcherConstrainDiameter::applyConstraint(), CmdSketcherConstrainAngle::applyConstraint(), CmdSketcherConstrainEqual::applyConstraint(), CmdSketcherConstrainSymmetric::applyConstraint(), SketcherGui::EditDatumDialog::EditDatumDialog(), SketcherGui::DrawSketchHandler::getHighestCurveIndex(), SketcherGui::DrawSketchHandler::getHighestVertexIndex(), DrawSketchHandlerExtend::mouseMove(), SketcherGui::TaskSketcherConstrains::on_listWidgetConstraints_itemChanged(), SketcherGui::TaskSketcherConstrains::on_listWidgetConstraints_itemSelectionChanged(), SketcherGui::TaskSketcherElements::on_listWidgetElements_itemEntered(), SketcherGui::TaskSketcherElements::on_listWidgetElements_itemSelectionChanged(), SketcherGui::TaskSketcherConstrains::onSelectionChanged(), SketcherGui::TaskSketcherElements::onSelectionChanged(), DrawSketchHandlerLineSet::pressButton(), DrawSketchHandlerLineSet::registerPressedKey(), DrawSketchHandlerCoincident::releaseButton(), DrawSketchHandlerFillet::releaseButton(), DrawSketchHandlerTrimming::releaseButton(), DrawSketchHandlerExtend::releaseButton(), SketcherGui::DrawSketchHandler::seekAutoConstraint(), SketcherGui::TaskSketcherMessages::TaskSketcherMessages(), SketcherGui::TaskSketcherSolverAdvanced::updateDefaultMethodParameters(), SketcherGui::TaskSketcherSolverAdvanced::updateRedundantMethodParameters(), SketcherGui::TaskSketcherSolverAdvanced::updateSketchObject(), and DrawSketchHandlerLineSet::updateTransitionData().
◆ iconTypeFromConstraint()
|
protected |
TODO: Consider pushing this functionality up into Constraint
References Sketcher::Block, Sketcher::Equal, Sketcher::Horizontal, Sketcher::Parallel, Sketcher::Perpendicular, Sketcher::PointOnObject, Sketcher::SnellsLaw, Sketcher::Symmetric, Sketcher::Tangent, Sketcher::Constraint::Type, and Sketcher::Vertical.
◆ isPointOnSketch()
|
protected |
helper to detect whether the picked point lies on the sketch
◆ isSelectable()
|
virtual |
Is the view provider selectable.
Reimplemented from Gui::ViewProviderGeometryObject.
References Gui::ViewProviderGeometryObject::isSelectable().
◆ keyPressed()
is called when the Provider is in edit and a key event ocours. Only ESC ends edit.
Reimplemented from Gui::ViewProvider.
References Sketcher::none.
◆ mouseButtonPressed()
|
virtual |
is called when the Provider is in edit and the mouse is clicked
Reimplemented from Gui::ViewProvider.
References Gui::SelectionSingleton::addSelection2(), Gui::SelectionSingleton::clearSelection(), Gui::cmdAppObjectArgs(), Base::Console(), Base::ConsoleSingleton::Error(), Sketcher::Constraint::GeoUndef, Base::Persistence::getClassTypeId(), Sketcher::PropertyConstraintList::getConstraintName(), Gui::MenuManager::getInstance(), Gui::SelectionSingleton::getSelectionEx(), Base::Persistence::getTypeId(), Gui::Application::Instance, Gui::View3DInventorViewer::Native, Sketcher::none, Gui::SelectionSingleton::rmvSelection(), Gui::Selection(), Gui::MenuItem::setCommand(), Gui::MenuManager::setupContextMenu(), Gui::Application::setupContextMenu(), SketcherGui::tryAutoRecomputeIfNotSolve(), and OfflineRenderingUtils::viewer().
◆ mouseMove()
|
virtual |
is called when the Provider is in edit and the mouse is moved
Reimplemented from Gui::ViewProvider.
References Sketcher::Constraint::GeoUndef, Base::Persistence::getClassTypeId(), Base::Persistence::getTypeId(), Gui::View3DInventorViewer::Image, Sketcher::none, and OfflineRenderingUtils::viewer().
◆ moveConstraint()
void ViewProviderSketch::moveConstraint | ( | int | constNum, |
const Base::Vector2d & | toPos | ||
) |
moves a selected constraint
References Sketcher::Diameter, Sketcher::Distance, Sketcher::DistanceX, Sketcher::DistanceY, Sketcher::Constraint::First, Sketcher::Constraint::FirstPos, Base::Persistence::getClassTypeId(), Part::GeomLineSegment::getEndPoint(), Part::GeomLineSegment::getStartPoint(), Base::Persistence::getTypeId(), Sketcher::Constraint::LabelDistance, Sketcher::Constraint::LabelPosition, Sketcher::none, Base::Vector3< _Precision >::ProjectToLine(), Sketcher::Radius, Base::Vector3< _Precision >::RotateZ(), Sketcher::Constraint::Second, Sketcher::Constraint::SecondPos, Sketcher::Constraint::Third, Sketcher::Constraint::ThirdPos, Sketcher::Constraint::Type, Base::Vector2d::x, Base::Vector3< _Precision >::x, Base::Vector2d::y, and Base::Vector3< _Precision >::y.
◆ onChanged()
|
protectedvirtual |
get called by the container whenever a property has been changed
Reimplemented from PartGui::ViewProvider2DObject.
Reimplemented in SketcherGui::ViewProviderCustom.
References PartGui::ViewProvider2DObject::onChanged().
Referenced by ArchSite.Compass::buildCoordinates(), and ArchAxis.CommandArchGrid::IsActive().
◆ onDelete()
|
virtual |
is called when the Provider is in edit and a deletion request occurs
Reimplemented from Gui::ViewProvider.
References Gui::SelectionSingleton::clearSelection(), Gui::cmdAppObjectArgs(), Sketcher::Coincident, Base::Console(), Base::ConsoleSingleton::Error(), App::GetApplication(), ParameterGrp::GetBool(), Base::Persistence::getClassTypeId(), Sketcher::PropertyConstraintList::getIndexFromConstraintName(), App::Application::GetParameterGroupByPath(), Gui::ViewProvider::onDelete(), Sketcher::GeoEnum::RefExt, Sketcher::GeoEnum::RtPnt, Gui::Selection(), and Gui::Command::updateActive().
◆ onSelectionChanged()
|
virtual |
Observer message from the Selection.
Implements Gui::SelectionObserver.
References Gui::SelectionChanges::AddSelection, Gui::SelectionChanges::ClrSelection, Sketcher::PropertyConstraintList::getIndexFromConstraintName(), Sketcher::GeoEnum::HAxis, Gui::SelectionChanges::RmvPreselect, Gui::SelectionChanges::RmvSelection, Sketcher::GeoEnum::RtPnt, Gui::SelectionChanges::SetPreselect, Gui::SelectionChanges::SetSelection, and Sketcher::GeoEnum::VAxis.
◆ purgeHandler()
void ViewProviderSketch::purgeHandler | ( | void | ) |
removes the active handler
References Gui::SelectionSingleton::clearSelection(), Gui::Application::editDocument(), Gui::Document::getActiveView(), Gui::Application::Instance, Gui::Selection(), and OfflineRenderingUtils::viewer().
Referenced by DrawSketchHandlerLineSet::pressButton(), SketcherGui::DrawSketchHandler::quit(), DrawSketchHandlerBox::releaseButton(), DrawSketchHandlerLineSet::releaseButton(), DrawSketchHandlerCopy::releaseButton(), DrawSketchHandlerArc::releaseButton(), DrawSketchHandlerRectangularArray::releaseButton(), DrawSketchHandler3PointArc::releaseButton(), DrawSketchHandlerCircle::releaseButton(), DrawSketchHandlerArcOfEllipse::releaseButton(), DrawSketchHandlerArcOfHyperbola::releaseButton(), DrawSketchHandlerArcOfParabola::releaseButton(), DrawSketchHandlerBSpline::releaseButton(), DrawSketchHandler3PointCircle::releaseButton(), DrawSketchHandlerPoint::releaseButton(), DrawSketchHandlerFillet::releaseButton(), DrawSketchHandlerTrimming::releaseButton(), DrawSketchHandlerExtend::releaseButton(), DrawSketchHandlerSlot::releaseButton(), and DrawSketchHandlerRegularPolygon::releaseButton().
◆ rebuildConstraintsVisual()
|
protected |
build up the visual of the constraints
References Sketcher::Block, Sketcher::Coincident, Gui::coinRemoveAllChildren(), Sketcher::Diameter, Sketcher::Distance, Sketcher::DistanceX, Sketcher::DistanceY, Sketcher::Equal, App::GetApplication(), Base::Persistence::getClassTypeId(), ParameterGrp::GetInt(), App::Application::GetParameterGroupByPath(), Base::Placement::getRotation(), Base::Persistence::getTypeId(), Sketcher::Horizontal, Sketcher::InternalAlignment, Base::Rotation::multVec(), SketcherGui::SoDatumLabel::norm, Sketcher::Parallel, Sketcher::Perpendicular, Sketcher::PointOnObject, Sketcher::Radius, Base::Placement::setRotation(), Sketcher::SnellsLaw, SketcherGui::SoDatumLabel::string, Sketcher::Symmetric, Sketcher::Tangent, SketcherGui::SoDatumLabel::textColor, Sketcher::Vertical, Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.
◆ removeSelectPoint()
|
protected |
◆ renderConstrIcon()
|
protected |
Helper for drawMergedConstraintIcons and drawTypicalConstraintIcon.
Note: labels, labelColors, and boundingBoxes are all assumed to be the same length.
- Parameters
-
boundingBoxes Gets populated with bounding boxes (in icon image coordinates) for the icon at left, then labels for different constraints. vPad If not NULL, gets set to the number of pixels that the text extends below the icon base.
References Gui::BitmapFactory(), and Gui::BitmapFactoryInst::pixmap().
◆ resetPositionText()
|
protected |
Referenced by SketcherGui::DrawSketchHandler::resetPositionText().
◆ resetPreselectPoint()
|
protected |
◆ seekConstraintPosition()
Base::Vector3d ViewProviderSketch::seekConstraintPosition | ( | const Base::Vector3d & | origPos, |
const Base::Vector3d & | norm, | ||
const Base::Vector3d & | dir, | ||
float | step, | ||
const SoNode * | constraint | ||
) |
finds a free position for placing a constraint icon
References Gui::Application::editViewOfNode(), Base::BaseClass::getClassTypeId(), Gui::Application::Instance, Base::BaseClass::isDerivedFrom(), OfflineRenderingUtils::viewer(), Base::Vector3< _Precision >::x, and Base::Vector3< _Precision >::y.
◆ sendConstraintIconToCoin()
|
protected |
Copies a QImage constraint icon into a SoImage*.
Used by drawTypicalConstraintIcon() and drawMergedConstraintIcons()
References Gui::BitmapFactory(), and Gui::BitmapFactoryInst::convert().
◆ setAxisPickStyle()
void ViewProviderSketch::setAxisPickStyle | ( | bool | on | ) |
set the pick style of the sketch coordinate axes
Referenced by DrawSketchHandlerExternal::activated(), DrawSketchHandlerCarbonCopy::activated(), DrawSketchHandlerExternal::deactivated(), and DrawSketchHandlerCarbonCopy::deactivated().
◆ setEdit()
|
protectedvirtual |
is called by the document when the provider goes in edit mode
Reimplemented from PartGui::ViewProvider2DObject.
References Gui::ControlSingleton::activeDialog(), Gui::Command::addModule(), Gui::SelectionSingleton::clearSelection(), Base::Console(), Gui::Control(), Gui::Application::editDocument(), Base::ConsoleSingleton::Error(), Sketcher::SketchObject::evaluateConstraints(), App::GetApplication(), ParameterGrp::GetBool(), ParameterGrp::GetInt(), Gui::getMainWindow(), Gui::Command::getObjectCmd(), App::Application::GetParameterGroupByPath(), SketcherGui::TaskDlgEditSketch::getSketchView(), ParameterGrp::GetUnsigned(), Gui::Command::Gui, Gui::Application::Instance, Gui::ControlSingleton::reject(), Gui::SelectionSingleton::rmvPreselect(), Gui::Selection(), Gui::ControlSingleton::showDialog(), slotRedoDocument(), slotUndoDocument(), and Base::ConsoleSingleton::Warning().
Referenced by Spreadsheet_legacy.ViewProviderSpreadsheet::doubleClicked(), ArchSchedule.CommandArchSchedule::IsActive(), and ArchAxis.CommandArchGrid::IsActive().
◆ setEditViewer()
|
protectedvirtual |
adjust viewer settings when editing a view provider
Reimplemented from Gui::ViewProviderDragger.
References Base::Console(), DraftVecUtils::dist(), Gui::Application::editDocument(), Base::ConsoleSingleton::Error(), Gui::Document::getInEdit(), Base::Placement::getPosition(), Base::Placement::getRotation(), Gui::Command::Gui, Gui::Application::Instance, and OfflineRenderingUtils::viewer().
◆ setIsShownVirtualSpace()
void ViewProviderSketch::setIsShownVirtualSpace | ( | bool | isshownvirtualspace | ) |
◆ setPositionText() [1/2]
|
protected |
References Base::Vector2d::x, and Base::Vector2d::y.
◆ setPositionText() [2/2]
|
protected |
References Base::Vector2d::x, and Base::Vector2d::y.
Referenced by SketcherGui::DrawSketchHandler::setPositionText().
◆ setPreselectPoint()
|
protected |
◆ setSketchMode()
void SketcherGui::ViewProviderSketch::setSketchMode | ( | SketchMode | mode | ) |
is called by GuiCommands to set the drawing mode
◆ setupContextMenu()
set up the context-menu with the supported edit modes
Reimplemented from PartGui::ViewProviderPartExt.
◆ showRestoreInformationLayer()
void ViewProviderSketch::showRestoreInformationLayer | ( | ) |
Show/Hide nodes from information layer.
◆ slotRedoDocument()
|
protected |
Referenced by setEdit().
◆ slotUndoDocument()
|
protected |
Referenced by setEdit().
◆ snapToGrid()
void ViewProviderSketch::snapToGrid | ( | double & | x, |
double & | y | ||
) |
snap points x,y (mouse coordinates) onto grid if enabled
◆ unsetEdit()
|
protectedvirtual |
is called when you lose the edit mode
Reimplemented from PartGui::ViewProvider2DObject.
References Gui::SelectionSingleton::addSelection(), Gui::SelectionSingleton::clearSelection(), Gui::ControlSingleton::closeDialog(), Gui::coinRemoveAllChildren(), Base::Console(), Gui::Control(), Base::ConsoleSingleton::Error(), Gui::getMainWindow(), Gui::Command::Gui, Gui::Selection(), and Gui::Command::updateActive().
◆ unsetEditViewer()
|
protectedvirtual |
restores viewer settings when leaving editing mode
Reimplemented from Gui::ViewProviderDragger.
References OfflineRenderingUtils::viewer().
◆ updateColor()
void ViewProviderSketch::updateColor | ( | void | ) |
helper change the color of the sketch according to selection and solver status
References Sketcher::Constraint::AlignmentType, Sketcher::Angle, Sketcher::Coincident, SketcherGui::Construction, Part::Geometry::Construction, Sketcher::Diameter, Sketcher::Distance, Sketcher::DistanceX, Sketcher::DistanceY, Sketcher::EllipseFocus1, Sketcher::EllipseFocus2, Sketcher::EllipseMajorDiameter, Sketcher::EllipseMinorDiameter, Sketcher::Constraint::First, Sketcher::Constraint::FirstPos, App::GetApplication(), ParameterGrp::GetInt(), App::Application::GetParameterGroupByPath(), Sketcher::InternalAlignment, Sketcher::Constraint::isActive, Sketcher::Constraint::isDriving, Sketcher::Radius, Sketcher::GeoEnum::RefExt, Sketcher::Constraint::Second, Sketcher::Constraint::SecondPos, Sketcher::Symmetric, Sketcher::Constraint::Type, and Sketcher::GeoEnum::VAxis.
Referenced by SketcherGui::TaskSketcherGeneral::onRenderOrderChanged().
◆ updateData()
|
virtual |
Reimplemented from PartGui::ViewProvider2DObject.
Reimplemented in SketcherGui::ViewProviderCustom.
References Gui::Application::editDocument(), Gui::Document::getActiveView(), Base::BaseClass::getClassTypeId(), Gui::Application::Instance, and Base::BaseClass::isDerivedFrom().
◆ UpdateSolverInformation()
|
protected |
update solver information based on last solving at SketchObject
◆ updateVirtualSpace()
void ViewProviderSketch::updateVirtualSpace | ( | void | ) |
updates the visibility of the virtual space
Friends And Related Function Documentation
◆ ::EditData
◆ DrawSketchHandler
|
friend |
Member Data Documentation
◆ Autoconstraints
App::PropertyBool SketcherGui::ViewProviderSketch::Autoconstraints |
◆ AvoidRedundant
App::PropertyBool SketcherGui::ViewProviderSketch::AvoidRedundant |
◆ combrepscalehyst
|
protected |
◆ connectRedoDocument
|
protected |
◆ connectUndoDocument
|
protected |
◆ ConstrDimColor
|
staticprotected |
◆ ConstrIcoColor
|
staticprotected |
◆ CreateCurveColor
|
staticprotected |
◆ CrossColorH
|
staticprotected |
◆ CrossColorV
|
staticprotected |
◆ CurveColor
|
staticprotected |
◆ CurveDraftColor
|
staticprotected |
◆ CurveExternalColor
|
staticprotected |
◆ DeactivatedConstrDimColor
|
staticprotected |
◆ edit
|
protected |
pointer to the edit data structure if the ViewProvider is in edit.
Referenced by PathScripts.PathToolLibraryEditor.CommandToolLibraryEdit::Activated(), and ArchAxis.CommandArchGrid::IsActive().
◆ editDocName
|
protected |
◆ EditingWorkbench
App::PropertyString SketcherGui::ViewProviderSketch::EditingWorkbench |
◆ editObjName
|
protected |
◆ editSubName
|
protected |
◆ ExprBasedConstrDimColor
|
staticprotected |
◆ FullyConstrainedColor
|
staticprotected |
◆ HideDependent
App::PropertyBool SketcherGui::ViewProviderSketch::HideDependent |
◆ InformationColor
|
staticprotected |
◆ isShownVirtualSpace
|
protected |
◆ listener
|
protected |
◆ Mode
|
protected |
◆ newCursorPos
|
staticprotected |
◆ NonDrivingConstrDimColor
|
staticprotected |
◆ PreselectColor
|
staticprotected |
◆ PreselectSelectedColor
|
staticprotected |
◆ prvClickPos
|
staticprotected |
◆ prvClickTime
|
staticprotected |
◆ prvCursorPos
|
staticprotected |
◆ relative
|
protected |
◆ RestoreCamera
App::PropertyBool SketcherGui::ViewProviderSketch::RestoreCamera |
◆ rubberband
|
protected |
◆ SelectColor
|
staticprotected |
◆ ShowLinks
App::PropertyBool SketcherGui::ViewProviderSketch::ShowLinks |
◆ ShowSupport
App::PropertyBool SketcherGui::ViewProviderSketch::ShowSupport |
◆ signalConstraintsChanged
boost::signals2::signal<void ()> SketcherGui::ViewProviderSketch::signalConstraintsChanged |
signals if the constraints list has changed
Referenced by SketcherGui::TaskSketcherConstrains::TaskSketcherConstrains().
◆ signalElementsChanged
boost::signals2::signal<void ()> SketcherGui::ViewProviderSketch::signalElementsChanged |
signals if the elements list has changed
Referenced by SketcherGui::TaskSketcherElements::TaskSketcherElements().
◆ signalSetUp
boost::signals2::signal<void (QString msg)> SketcherGui::ViewProviderSketch::signalSetUp |
signals if the sketch has been set up
Referenced by SketcherGui::TaskSketcherMessages::TaskSketcherMessages().
◆ signalSolved
boost::signals2::signal<void (QString msg)> SketcherGui::ViewProviderSketch::signalSolved |
signals if the sketch has been solved
Referenced by SketcherGui::TaskSketcherMessages::TaskSketcherMessages().
◆ TempoVis
App::PropertyPythonObject SketcherGui::ViewProviderSketch::TempoVis |
◆ VertexColor
|
staticprotected |
◆ visibleInformationChanged
|
protected |
◆ xInit
|
protected |
◆ yInit
|
protected |
◆ zConstr
|
protected |
◆ zCross
|
protected |
◆ zEdit
|
protected |
◆ zHighlight
|
protected |
◆ zHighLine
|
protected |
◆ zHighLines
|
protected |
◆ zHighPoints
|
protected |
◆ zInfo
|
protected |
◆ zLowLines
|
protected |
◆ zLowPoints
|
protected |
◆ zMidLines
|
protected |
◆ zText
|
protected |
The documentation for this class was generated from the following files:
- src/Mod/Sketcher/Gui/ViewProviderSketch.h
- src/Mod/Sketcher/Gui/ViewProviderSketch.cpp