SketcherGui::ViewProviderSketch Class Reference

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::SketchObjectgetSketchObject (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
SoSeparatorcreateGrid (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::Vector3dgetModelPoints (const SoPickedPoint *) const override
 
virtual std::vector< Base::Vector3dgetSelectionShape (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::ColorgetElementColors (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 ViewProviderstartEditing (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::DocumentgetDocument () 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::DocumentObjectgetObject (void) const
 Get the object of this ViewProvider object. More...
 
PyObjectgetPyObject () 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::PropertyaddDynamicProperty (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 ViewProviderDocumentObjectgetLinkedViewProvider (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...
 
SoSeparatorgetAnnotation (void)
 
virtual SoSeparatorgetBackRoot (void) const
 
virtual SoGroupgetChildRoot (void) const
 
virtual SoSeparatorgetFrontRoot (void) const
 
SoSwitch * getModeSwitch (void) const
 
virtual SoSeparatorgetRoot (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 MDIViewgetMDIView () 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...
 
SoNodegetDisplayMaskMode (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::ExtensiongetExtension (Base::Type, bool derived=true, bool no_except=false) const
 
App::ExtensiongetExtension (const std::string &name) const
 
template<typename ExtensionT >
ExtensionTgetExtensionByType (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 PropertygetPropertyByName (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::PropertygetDynamicPropertyByName (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 ()
 

Public Attributes

App::PropertyBool Autoconstraints
 
App::PropertyBool AvoidRedundant
 
App::PropertyString EditingWorkbench
 
App::PropertyBool HideDependent
 
App::PropertyBool RestoreCamera
 
App::PropertyBool ShowLinks
 
App::PropertyBool ShowSupport
 
App::PropertyPythonObject TempoVis
 
- Public Attributes inherited from PartGui::ViewProvider2DObject
App::PropertyLength GridSize
 
App::PropertyBool GridSnap
 
App::PropertyEnumeration GridStyle
 
App::PropertyInteger maxNumberOfLines
 
App::PropertyBool ShowGrid
 Property to switch the grid on and off. More...
 
App::PropertyBool ShowOnlyInEditMode
 
App::PropertyBool TightGrid
 
- Public Attributes inherited from PartGui::ViewProviderPartExt
App::PropertyAngle AngularDeflection
 
App::PropertyBool ControlPoints
 
App::PropertyFloatConstraint Deviation
 
App::PropertyColorList DiffuseColor
 
App::PropertyEnumeration DrawStyle
 
App::PropertyEnumeration Lighting
 
App::PropertyColor LineColor
 
App::PropertyColorList LineColorArray
 
App::PropertyMaterial LineMaterial
 
App::PropertyFloatConstraint LineWidth
 
App::PropertyColor PointColor
 
App::PropertyColorList PointColorArray
 
App::PropertyMaterial PointMaterial
 
App::PropertyFloatConstraint PointSize
 
- Public Attributes inherited from Gui::ViewProviderGeometryObject
App::PropertyBool BoundingBox
 
App::PropertyBool Selectable
 
App::PropertyColor ShapeColor
 
App::PropertyMaterial ShapeMaterial
 
App::PropertyPercent Transparency
 
- Public Attributes inherited from Gui::ViewProviderDocumentObject
App::PropertyEnumeration DisplayMode
 
App::PropertyEnumeration OnTopWhenSelected
 
App::PropertyEnumeration SelectionStyle
 
App::PropertyBool ShowInTree
 
App::PropertyBool Visibility
 
- Public Attributes inherited from Gui::ViewProvider
boost::signals2::signal< void()> signalChangeIcon
 signal on icon change More...
 
boost::signals2::signal< void(const QString &)> signalChangeToolTip
 signal on tooltip change More...
 
boost::signals2::signal< void(const QString &)> signalChangeStatusTip
 signal on status tip change More...
 

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
 
EditDataedit
 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< constrIconQueueItemIconQueue
 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< ConstrIconBBConstrIconBBVec
 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::Rubberbandrubberband
 
bool visibleInformationChanged
 
double combrepscalehyst
 
std::string editDocName
 
std::string editObjName
 
std::string editSubName
 
bool isShownVirtualSpace
 
ShortcutListenerlistener
 
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::MDIViewgetActiveView () const
 
Gui::MDIViewgetEditingView () const
 
Gui::MDIViewgetInventorView () const
 
Gui::MDIViewgetViewOfNode (SoNode *node) const
 
virtual void onBeforeChange (const App::Property *prop) override
 get called before the value is changed More...
 
SoNodefindFrontRootOfType (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 PropertyDatagetPropertyData (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 PropertyDatagetPropertyDataPtr (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
SoSeparatorGridRoot
 
- Protected Attributes inherited from PartGui::ViewProviderPartExt
SoMaterialBinding * pcFaceBind
 
SoMaterialBinding * pcLineBind
 
SoMaterialBinding * pcPointBind
 
SoMaterial * pcLineMaterial
 
SoMaterial * pcPointMaterial
 
SoDrawStyle * pcLineStyle
 
SoDrawStyle * pcPointStyle
 
SoShapeHints * pShapeHints
 
SoCoordinate3 * coords
 
SoBrepFaceSetfaceset
 
SoNormal * norm
 
SoNormalBinding * normb
 
SoBrepEdgeSetlineset
 
SoBrepPointSetnodeset
 
bool VisualTouched
 
bool NormalsFromUV
 
- Protected Attributes inherited from Gui::ViewProviderGeometryObject
SoMaterial * pcShapeMaterial
 
SoFCBoundingBoxpcBoundingBox
 
SoSwitch * pcBoundSwitch
 
SoBaseColor * pcBoundColor
 
- Protected Attributes inherited from Gui::ViewProviderDragger
SoFCCSysDraggercsysDragger = nullptr
 
- Protected Attributes inherited from Gui::ViewProviderDocumentObject
App::DocumentObjectpcObject
 
Gui::DocumentpcDocument
 
- Protected Attributes inherited from Gui::ViewProvider
SoSeparatorpcRoot
 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...
 
SoSeparatorpcAnnotation
 The root separator for annotations. More...
 
ViewProviderPypyViewObject
 
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

typedef std::pair<QRect, std::set<int> > SketcherGui::ViewProviderSketch::ConstrIconBB
protected

For constraint icon bounding boxes.

◆ ConstrIconBBVec

For constraint icon bounding boxes.

◆ IconQueue

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::~ViewProviderSketch ( )
virtual

destructor

Member Function Documentation

◆ activateHandler()

◆ addSelectPoint()

void ViewProviderSketch::addSelectPoint ( int  SelectPoint)
protected

◆ attach()

void ViewProviderSketch::attach ( App::DocumentObject pcObject)
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()

void ViewProviderSketch::clearCoinImage ( SoImage soImagePtr)
protected

Essentially a version of sendConstraintIconToCoin, with a blank icon.

◆ clearSelectPoints()

void ViewProviderSketch::clearSelectPoints ( void  )
protected

◆ combineConstraintIcons()

void ViewProviderSketch::combineConstraintIcons ( IconQueue  iconQueue)
protected

◆ constrColor()

QColor ViewProviderSketch::constrColor ( int  constraintId)
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()

int ViewProviderSketch::constrColorPriority ( int  constraintId)
protected

Used by drawMergedConstraintIcons to decide what color to make icons.

See constrColor()

◆ createEditInventorNodes()

void ViewProviderSketch::createEditInventorNodes ( void  )
protected

◆ deactivateHandler()

void ViewProviderSketch::deactivateHandler ( )
protected

◆ deleteSelected()

◆ detectPreselection()

bool ViewProviderSketch::detectPreselection ( const SoPickedPoint *  Point,
const Gui::View3DInventorViewer viewer,
const SbVec2s &  cursorPos 
)

◆ detectPreselectionConstr()

std::set< int > ViewProviderSketch::detectPreselectionConstr ( const SoPickedPoint *  Point,
const Gui::View3DInventorViewer viewer,
const SbVec2s &  cursorPos 
)

◆ doBoxSelection()

◆ doubleClicked()

bool ViewProviderSketch::doubleClicked ( void  )
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()

void ViewProviderSketch::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

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()

◆ 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()

void ViewProviderSketch::drawMergedConstraintIcons ( IconQueue  iconQueue)
protected

Combines multiple constraint icons and sends them to Coin.

References DraftVecUtils::closest().

◆ drawTypicalConstraintIcon()

void ViewProviderSketch::drawTypicalConstraintIcon ( const constrIconQueueItem i)
protected

Renders an icon for a single constraint and sends it to Coin.

◆ editDoubleClicked()

void ViewProviderSketch::editDoubleClicked ( void  )
protected

◆ getCoordsOnSketchPlane()

void ViewProviderSketch::getCoordsOnSketchPlane ( double &  u,
double &  v,
const SbVec3f &  point,
const SbVec3f &  normal 
)

◆ getDisplayedSize()

SbVec3s ViewProviderSketch::getDisplayedSize ( const SoImage iconPtr) const
protected

Returns the size that Coin should display the indicated image at.

◆ getEditingPlacement()

Base::Placement ViewProviderSketch::getEditingPlacement ( ) const
protected

◆ getIsShownVirtualSpace()

bool ViewProviderSketch::getIsShownVirtualSpace ( void  ) const

◆ getPreselectCross()

◆ getPreselectCurve()

◆ getPreselectPoint()

◆ getPresentationString()

◆ getProjectingLine()

void ViewProviderSketch::getProjectingLine ( const SbVec2s &  pnt,
const Gui::View3DInventorViewer viewer,
SbLine &  line 
) const

give projecting line of position

References OfflineRenderingUtils::viewer().

◆ getScaleFactor()

◆ 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()

QString ViewProviderSketch::iconTypeFromConstraint ( Sketcher::Constraint constraint)
protected

◆ isPointOnSketch()

bool ViewProviderSketch::isPointOnSketch ( const SoPickedPoint *  pp) const
protected

helper to detect whether the picked point lies on the sketch

◆ isSelectable()

bool ViewProviderSketch::isSelectable ( void  ) const
virtual

Is the view provider selectable.

Reimplemented from Gui::ViewProviderGeometryObject.

References Gui::ViewProviderGeometryObject::isSelectable().

◆ keyPressed()

bool ViewProviderSketch::keyPressed ( bool  pressed,
int  key 
)
virtual

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()

◆ mouseMove()

bool ViewProviderSketch::mouseMove ( const SbVec2s &  pos,
Gui::View3DInventorViewer viewer 
)
virtual

◆ moveConstraint()

◆ onChanged()

void ViewProviderSketch::onChanged ( const App::Property prop)
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()

◆ onSelectionChanged()

◆ purgeHandler()

◆ rebuildConstraintsVisual()

◆ removeSelectPoint()

void ViewProviderSketch::removeSelectPoint ( int  SelectPoint)
protected

◆ renderConstrIcon()

QImage ViewProviderSketch::renderConstrIcon ( const QString &  type,
const QColor &  iconColor,
const QStringList &  labels,
const QList< QColor > &  labelColors,
double  iconRotation,
std::vector< QRect > *  boundingBoxes = NULL,
int *  vPad = NULL 
)
protected

Helper for drawMergedConstraintIcons and drawTypicalConstraintIcon.

Note: labels, labelColors, and boundingBoxes are all assumed to be the same length.

Parameters
boundingBoxesGets populated with bounding boxes (in icon image coordinates) for the icon at left, then labels for different constraints.
vPadIf 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()

void ViewProviderSketch::resetPositionText ( void  )
protected

◆ resetPreselectPoint()

void ViewProviderSketch::resetPreselectPoint ( void  )
protected

◆ seekConstraintPosition()

Base::Vector3d ViewProviderSketch::seekConstraintPosition ( const Base::Vector3d origPos,
const Base::Vector3d norm,
const Base::Vector3d dir,
float  step,
const SoNode constraint 
)

◆ sendConstraintIconToCoin()

void ViewProviderSketch::sendConstraintIconToCoin ( const QImage &  icon,
SoImage soImagePtr 
)
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)

◆ setEdit()

◆ setEditViewer()

◆ setIsShownVirtualSpace()

void ViewProviderSketch::setIsShownVirtualSpace ( bool  isshownvirtualspace)

◆ setPositionText() [1/2]

void ViewProviderSketch::setPositionText ( const Base::Vector2d Pos)
protected

◆ setPositionText() [2/2]

void ViewProviderSketch::setPositionText ( const Base::Vector2d Pos,
const SbString &  txt 
)
protected

◆ setPreselectPoint()

void ViewProviderSketch::setPreselectPoint ( int  PreselectPoint)
protected

◆ setSketchMode()

void SketcherGui::ViewProviderSketch::setSketchMode ( SketchMode  mode)

is called by GuiCommands to set the drawing mode

◆ setupContextMenu()

void ViewProviderSketch::setupContextMenu ( QMenu ,
QObject ,
const char *   
)
virtual

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()

void ViewProviderSketch::slotRedoDocument ( const Gui::Document )
protected

Referenced by setEdit().

◆ slotUndoDocument()

void ViewProviderSketch::slotUndoDocument ( const Gui::Document )
protected

Referenced by setEdit().

◆ snapToGrid()

void ViewProviderSketch::snapToGrid ( double &  x,
double &  y 
)

snap points x,y (mouse coordinates) onto grid if enabled

◆ unsetEdit()

◆ unsetEditViewer()

void ViewProviderSketch::unsetEditViewer ( Gui::View3DInventorViewer )
protectedvirtual

restores viewer settings when leaving editing mode

Reimplemented from Gui::ViewProviderDragger.

References OfflineRenderingUtils::viewer().

◆ updateColor()

◆ updateData()

◆ UpdateSolverInformation()

void ViewProviderSketch::UpdateSolverInformation ( void  )
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

friend struct ::EditData
friend

◆ DrawSketchHandler

friend class DrawSketchHandler
friend

Member Data Documentation

◆ Autoconstraints

◆ AvoidRedundant

◆ combrepscalehyst

double SketcherGui::ViewProviderSketch::combrepscalehyst
protected

◆ connectRedoDocument

boost::signals2::connection SketcherGui::ViewProviderSketch::connectRedoDocument
protected

◆ connectUndoDocument

boost::signals2::connection SketcherGui::ViewProviderSketch::connectUndoDocument
protected

◆ ConstrDimColor

SbColor ViewProviderSketch::ConstrDimColor
staticprotected

◆ ConstrIcoColor

SbColor ViewProviderSketch::ConstrIcoColor
staticprotected

◆ CreateCurveColor

SbColor ViewProviderSketch::CreateCurveColor
staticprotected

◆ CrossColorH

SbColor ViewProviderSketch::CrossColorH
staticprotected

◆ CrossColorV

SbColor ViewProviderSketch::CrossColorV
staticprotected

◆ CurveColor

SbColor ViewProviderSketch::CurveColor
staticprotected

◆ CurveDraftColor

SbColor ViewProviderSketch::CurveDraftColor
staticprotected

◆ CurveExternalColor

SbColor ViewProviderSketch::CurveExternalColor
staticprotected

◆ DeactivatedConstrDimColor

SbColor ViewProviderSketch::DeactivatedConstrDimColor
staticprotected

◆ edit

EditData* SketcherGui::ViewProviderSketch::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

std::string SketcherGui::ViewProviderSketch::editDocName
protected

◆ EditingWorkbench

App::PropertyString SketcherGui::ViewProviderSketch::EditingWorkbench

◆ editObjName

std::string SketcherGui::ViewProviderSketch::editObjName
protected

◆ editSubName

std::string SketcherGui::ViewProviderSketch::editSubName
protected

◆ ExprBasedConstrDimColor

SbColor ViewProviderSketch::ExprBasedConstrDimColor
staticprotected

◆ FullyConstrainedColor

SbColor ViewProviderSketch::FullyConstrainedColor
staticprotected

◆ HideDependent

App::PropertyBool SketcherGui::ViewProviderSketch::HideDependent

◆ InformationColor

SbColor ViewProviderSketch::InformationColor
staticprotected

◆ isShownVirtualSpace

bool SketcherGui::ViewProviderSketch::isShownVirtualSpace
protected

◆ listener

ShortcutListener* SketcherGui::ViewProviderSketch::listener
protected

◆ Mode

SketchMode SketcherGui::ViewProviderSketch::Mode
protected

◆ newCursorPos

SbVec2s ViewProviderSketch::newCursorPos
staticprotected

◆ NonDrivingConstrDimColor

SbColor ViewProviderSketch::NonDrivingConstrDimColor
staticprotected

◆ PreselectColor

SbColor ViewProviderSketch::PreselectColor
staticprotected

◆ PreselectSelectedColor

SbColor ViewProviderSketch::PreselectSelectedColor
staticprotected

◆ prvClickPos

SbVec2s ViewProviderSketch::prvClickPos
staticprotected

◆ prvClickTime

SbTime ViewProviderSketch::prvClickTime
staticprotected

◆ prvCursorPos

SbVec2s ViewProviderSketch::prvCursorPos
staticprotected

◆ relative

bool SketcherGui::ViewProviderSketch::relative
protected

◆ RestoreCamera

App::PropertyBool SketcherGui::ViewProviderSketch::RestoreCamera

◆ rubberband

Gui::Rubberband* SketcherGui::ViewProviderSketch::rubberband
protected

◆ SelectColor

SbColor ViewProviderSketch::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

SbColor ViewProviderSketch::VertexColor
staticprotected

◆ visibleInformationChanged

bool SketcherGui::ViewProviderSketch::visibleInformationChanged
protected

◆ xInit

double SketcherGui::ViewProviderSketch::xInit
protected

◆ yInit

double SketcherGui::ViewProviderSketch::yInit
protected

◆ zConstr

float SketcherGui::ViewProviderSketch::zConstr
protected

◆ zCross

float SketcherGui::ViewProviderSketch::zCross
protected

◆ zEdit

float SketcherGui::ViewProviderSketch::zEdit
protected

◆ zHighlight

float SketcherGui::ViewProviderSketch::zHighlight
protected

◆ zHighLine

float SketcherGui::ViewProviderSketch::zHighLine
protected

◆ zHighLines

float SketcherGui::ViewProviderSketch::zHighLines
protected

◆ zHighPoints

float SketcherGui::ViewProviderSketch::zHighPoints
protected

◆ zInfo

float SketcherGui::ViewProviderSketch::zInfo
protected

◆ zLowLines

float SketcherGui::ViewProviderSketch::zLowLines
protected

◆ zLowPoints

float SketcherGui::ViewProviderSketch::zLowPoints
protected

◆ zMidLines

float SketcherGui::ViewProviderSketch::zMidLines
protected

◆ zText

float SketcherGui::ViewProviderSketch::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