The ViewProviderMeshCurvature class is associated to the mesh curvature feature. More...

#include <ViewProviderCurvature.h>

Public Member Functions

void attach (App::DocumentObject *pcFeature)
 Extracts the mesh data from the feature pcFeature and creates an Inventor node SoNode with these data. More...
 
virtual const char * getDefaultDisplayMode () const
 get the default display mode More...
 
std::vector< std::string > getDisplayModes (void) const
 Returns a list of all possible modes. More...
 
SoSeparatorgetFrontRoot (void) const
 Returns a color bar. More...
 
QIcon getIcon () const
 Returns a pixmap for the associated feature type. More...
 
virtual void hide (void)
 Hide the object in the view. More...
 
void OnChange (Base::Subject< int > &rCaller, int rcReason)
 Once the color bar settinhs has been changed this method gets called to update the feature's representation. More...
 
void setDisplayMode (const char *ModeName)
 Sets the viewing mode. More...
 
virtual void show (void)
 Show the object in the view. More...
 
void updateData (const App::Property *)
 Updates the mesh feature representation. More...
 
virtual bool useNewSelectionModel (void) const
 indicates if the ViewProvider use the new Selection model More...
 
 ViewProviderMeshCurvature ()
 
virtual ~ViewProviderMeshCurvature ()
 
- 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 qualified name. More...
 
virtual void forceUpdate (bool enable=true)
 
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 const char * getTransactionText () const override
 Is called by the tree if the user double clicks on the object. More...
 
virtual bool isUpdateForced () const
 
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 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
 
virtual bool allowOverride (const App::DocumentObject &) const
 Allow this class to be used as an override for the original view provider of the given object. More...
 
void setShowable (bool enable)
 
bool isShowable () const
 
- 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
 
SoSwitch * getModeSwitch (void) const
 
virtual SoSeparatorgetRoot (void) const
 
SoTransform * getTransformNode () const
 
 ViewProvider ()
 constructor. More...
 
virtual ~ViewProvider ()
 destructor. More...
 
virtual bool isSelectable (void) const
 
virtual std::string getElement (const SoDetail *) const
 return a hit element to the selection path or 0 More...
 
virtual SoDetail * getDetail (const char *) const
 return the coin node detail of the subelement More...
 
int partialRender (const std::vector< std::string > &subelements, bool clear)
 partial rendering setup More...
 
virtual std::vector< Base::Vector3dgetModelPoints (const SoPickedPoint *) const
 
virtual std::vector< Base::Vector3dgetSelectionShape (const char *Element) const
 return the highlight lines for a given element or the whole shape 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 bool onDelete (const std::vector< std::string > &subNames)
 Get called if the object is about to get deleted. 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 qualified 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 bool keyPressed (bool pressed, int key)
 is called when the provider is in edit and a key event occurs. Only ESC ends edit. More...
 
virtual bool doubleClicked (void)
 is called by the tree if the user double clicks on the object More...
 
virtual bool mouseMove (const SbVec2s &cursorPos, View3DInventorViewer *viewer)
 is called when the provider is in edit and the mouse is moved More...
 
virtual bool mouseButtonPressed (int button, bool pressed, const SbVec2s &cursorPos, const View3DInventorViewer *viewer)
 is called when the Provider is in edit and the mouse is clicked More...
 
virtual void setupContextMenu (QMenu *, QObject *, const char *)
 set up the context-menu with the supported edit modes More...
 
virtual ViewProviderstartEditing (int ModNum=0)
 
bool isEditing () const
 
void finishEditing ()
 
virtual void setEditViewer (View3DInventorViewer *, int ModNum)
 adjust viewer settings when editing a view provider More...
 
virtual void unsetEditViewer (View3DInventorViewer *)
 restores viewer settings when leaving editing mode 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 QIcon mergeColorfulOverlayIcons (const QIcon &orig) const
 
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...
 
virtual std::map< std::string, App::ColorgetElementColors (const char *element=0) const
 
virtual void setElementColors (const std::map< std::string, App::Color > &colors)
 
virtual void setTransformation (const Base::Matrix4D &rcMatrix)
 set the viewing transformation of the provider More...
 
virtual void setTransformation (const SbMatrix &rcMatrix)
 
virtual MDIViewgetMDIView () const
 
virtual void Restore (Base::XMLReader &reader)
 This method is used to restore properties from an XML document. More...
 
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 App::DocumentObserver
void attachDocument (Document *)
 Attaches to another document, the old document is not longer observed then. More...
 
void detachDocument ()
 Detaches from the current document, the document is not longer observed then. More...
 
 DocumentObserver ()
 Constructor. More...
 
 DocumentObserver (Document *)
 
virtual ~DocumentObserver ()
 
- Public Member Functions inherited from Base::Observer< int >
virtual const char * Name (void)
 This method can be reimplemented from the concrete Observer and returns the name of the observer. More...
 
 Observer ()
 A constructor. More...
 
virtual void OnDestroy (Subject< int > &rCaller)
 This method need to be reimplemented from the concrete Observer and get called by the observed class. More...
 
virtual ~Observer ()
 A destructor. More...
 

Static Public Member Functions

static void curvatureInfoCallback (void *ud, SoEventCallback *n)
 
- 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)
 

Public Attributes

App::PropertyMaterial TextureMaterial
 
- 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...
 

Protected Member Functions

std::string curvatureInfo (bool detail, int index1, int index2, int index3) const
 
void onChanged (const App::Property *prop)
 Gets called by the container whenever a property has been changed. More...
 
void setVertexCurvatureMode (int mode)
 
- Protected Member Functions inherited from Gui::ViewProviderDocumentObject
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...
 
virtual void setModeSwitch () override
 Turn on mode switch. More...
 
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...
 
- Protected Member Functions inherited from Gui::ViewProvider
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...
 
int getEditingMode () const
 return the edit mode or -1 if nothing is being edited More...
 
virtual QIcon mergeGreyableOverlayIcons (const QIcon &orig) const
 
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...
 
virtual void handleChangedPropertyType (Base::XMLReader &reader, const char *TypeName, Property *prop)
 PropertyContainer::handleChangedPropertyType is called during restore to possibly fix reading of older versions of the property container. More...
 
- Protected Member Functions inherited from App::DocumentObserver
DocumentgetDocument () const
 

Protected Attributes

Gui::SoFCColorBarpcColorBar
 
SoMaterial * pcColorMat
 
SoSeparatorpcColorRoot
 
SoDrawStyle * pcColorStyle
 
SoGrouppcLinkRoot
 
- 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
 

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

Detailed Description

The ViewProviderMeshCurvature class is associated to the mesh curvature feature.

It allows to display the most known types of curvatures, such as Gaussian curvature, mean curvature, minimum and maximum curvature. Moreover a color bar is also added to the scene.

Author
Werner Mayer

Constructor & Destructor Documentation

◆ ViewProviderMeshCurvature()

◆ ~ViewProviderMeshCurvature()

ViewProviderMeshCurvature::~ViewProviderMeshCurvature ( )
virtual

Member Function Documentation

◆ attach()

void ViewProviderMeshCurvature::attach ( App::DocumentObject pcFeature)
virtual

Extracts the mesh data from the feature pcFeature and creates an Inventor node SoNode with these data.

Reimplemented from Gui::ViewProviderDocumentObject.

References Base::Subject< _MessageType >::Attach(), App::DocumentObject::getDocument(), Gui::SoFCColorBar::getMinValue(), Base::Subject< _MessageType >::Notify(), and Gui::SoFCColorBar::setRange().

◆ curvatureInfo()

std::string ViewProviderMeshCurvature::curvatureInfo ( bool  detail,
int  index1,
int  index2,
int  index3 
) const
protected

◆ curvatureInfoCallback()

void ViewProviderMeshCurvature::curvatureInfoCallback ( void *  ud,
SoEventCallback *  n 
)
static

◆ getDefaultDisplayMode()

const char * ViewProviderMeshCurvature::getDefaultDisplayMode ( ) const
virtual

get the default display mode

Reimplemented from Gui::ViewProvider.

◆ getDisplayModes()

std::vector< std::string > ViewProviderMeshCurvature::getDisplayModes ( void  ) const
virtual

Returns a list of all possible modes.

Reimplemented from Gui::ViewProvider.

◆ getFrontRoot()

SoSeparator * ViewProviderMeshCurvature::getFrontRoot ( void  ) const
virtual

Returns a color bar.

Reimplemented from Gui::ViewProvider.

◆ getIcon()

QIcon ViewProviderMeshCurvature::getIcon ( void  ) const
virtual

◆ hide()

◆ OnChange()

void ViewProviderMeshCurvature::OnChange ( Base::Subject< int > &  rCaller,
int  rcReason 
)
virtual

Once the color bar settinhs has been changed this method gets called to update the feature's representation.

Implements Base::Observer< int >.

◆ onChanged()

◆ setDisplayMode()

void ViewProviderMeshCurvature::setDisplayMode ( const char *  ModeName)
virtual

◆ setVertexCurvatureMode()

void ViewProviderMeshCurvature::setVertexCurvatureMode ( int  mode)
protected

◆ show()

void ViewProviderMeshCurvature::show ( void  )
virtual

◆ updateData()

◆ useNewSelectionModel()

virtual bool MeshGui::ViewProviderMeshCurvature::useNewSelectionModel ( void  ) const
virtual

indicates if the ViewProvider use the new Selection model

Reimplemented from Gui::ViewProvider.

Member Data Documentation

◆ pcColorBar

Gui::SoFCColorBar* MeshGui::ViewProviderMeshCurvature::pcColorBar
protected

◆ pcColorMat

SoMaterial* MeshGui::ViewProviderMeshCurvature::pcColorMat
protected

◆ pcColorRoot

SoSeparator* MeshGui::ViewProviderMeshCurvature::pcColorRoot
protected

◆ pcColorStyle

SoDrawStyle* MeshGui::ViewProviderMeshCurvature::pcColorStyle
protected

◆ pcLinkRoot

SoGroup* MeshGui::ViewProviderMeshCurvature::pcLinkRoot
protected

◆ TextureMaterial

App::PropertyMaterial MeshGui::ViewProviderMeshCurvature::TextureMaterial

The documentation for this class was generated from the following files:
  • Sources/FreeCAD/src/Mod/Mesh/Gui/ViewProviderCurvature.h
  • Sources/FreeCAD/src/Mod/Mesh/Gui/ViewProviderCurvature.cpp