#include <ViewProviderFemConstraintPulley.h>
Public Member Functions | |
virtual void updateData (const App::Property *) | |
ViewProviderFemConstraintPulley () | |
Constructor. More... | |
virtual ~ViewProviderFemConstraintPulley () | |
![]() | |
void attach (App::DocumentObject *) | |
Attaches the document object to this view provider. More... | |
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... | |
std::vector< std::string > getDisplayModes (void) const | |
returns a list of all possible display modes More... | |
void setDisplayMode (const char *ModeName) | |
set the display mode More... | |
void setupContextMenu (QMenu *, QObject *, const char *) | |
set up the context-menu with the supported edit modes More... | |
ViewProviderFemConstraint (void) | |
Constructor. More... | |
virtual ~ViewProviderFemConstraint () | |
![]() | |
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... | |
bool isSelectable (void) const | |
ViewProviderGeometryObject () | |
constructor. More... | |
virtual ~ViewProviderGeometryObject () | |
destructor. More... | |
virtual void showBoundingBox (bool) | |
![]() | |
ViewProviderDragger () | |
constructor. More... | |
virtual ~ViewProviderDragger () | |
destructor. More... | |
bool doubleClicked (void) override | |
is called by the tree if the user double click on the object More... | |
virtual ViewProvider * startEditing (int ModNum=0) override | |
![]() | |
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 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::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 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 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 | |
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... | |
![]() | |
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... | |
virtual bool useNewSelectionModel (void) const | |
indicates if the ViewProvider use the new Selection model More... | |
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::Vector3d > getModelPoints (const SoPickedPoint *) const | |
virtual std::vector< Base::Vector3d > getSelectionShape (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 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 const char * getDefaultDisplayMode () const | |
get the default display mode More... | |
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 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... | |
bool isEditing () const | |
void finishEditing () | |
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 getIcon (void) const | |
deliver the icon shown in the tree view More... | |
virtual std::map< std::string, App::Color > getElementColors (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 MDIView * getMDIView () 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... | |
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) | |
![]() | |
TransactionalObject (void) | |
Constructor. More... | |
virtual ~TransactionalObject () | |
![]() | |
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) | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
BaseClass () | |
Construction. More... | |
bool isDerivedFrom (const Type type) const | |
virtual void setPyObject (PyObject *) | |
virtual ~BaseClass () | |
Destruction. More... | |
Protected Member Functions | |
virtual bool setEdit (int ModNum) | |
is called by the document when the provider goes in edit mode More... | |
![]() | |
void checkForWizard () | |
void onChanged (const App::Property *prop) | |
get called by the container whenever a property has been changed More... | |
virtual void unsetEdit (int ModNum) | |
is called when you lose the edit mode More... | |
![]() | |
void setSelectable (bool Selectable=true) | |
virtual unsigned long getBoundColor () const | |
![]() | |
void setEditViewer (View3DInventorViewer *, int ModNum) override | |
adjust viewer settings when editing a view provider More... | |
void unsetEditViewer (View3DInventorViewer *) override | |
restores viewer settings when leaving editing mode 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... | |
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... | |
![]() | |
int getEditingMode () const | |
return the edit mode or -1 if nothing is being edited More... | |
virtual QIcon mergeOverlayIcons (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... | |
![]() | |
void onBeforeChangeProperty (Document *doc, const Property *prop) | |
![]() | |
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... | |
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... | |
Additional Inherited Members | |
![]() | |
enum EditMode { Default = 0, Transform, Cutting, Color } | |
![]() | |
typedef std::map< Base::Type, App::Extension * >::iterator ExtensionIterator | |
![]() | |
static std::string gethideMeshShowPartStr () | |
static std::string gethideMeshShowPartStr (const std::string showConstr) | |
![]() | |
static void updateTransform (const Base::Placement &from, SoTransform *to) | |
![]() | |
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 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 void * create (void) | |
static Type getClassTypeId (void) | |
static void init (void) | |
![]() | |
App::PropertyFloat DistFactor | |
App::PropertyColor FaceColor | |
App::PropertyInteger FontSize | |
App::PropertyBool Mirror | |
App::PropertyColor ShapeColor | |
App::PropertyColor TextColor | |
![]() | |
App::PropertyBool BoundingBox | |
App::PropertyBool Selectable | |
App::PropertyColor ShapeColor | |
App::PropertyMaterial ShapeMaterial | |
App::PropertyPercent Transparency | |
![]() | |
App::PropertyEnumeration DisplayMode | |
App::PropertyEnumeration OnTopWhenSelected | |
App::PropertyEnumeration SelectionStyle | |
App::PropertyBool ShowInTree | |
App::PropertyBool Visibility | |
![]() | |
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... | |
![]() | |
static SoSeparator * createArrow (const double length, const double radius) | |
static void createArrow (SoSeparator *sep, const double length, const double radius) | |
static SoSeparator * createCone (const double height, const double radius) | |
static void createCone (SoSeparator *sep, const double height, const double radius) | |
static SoSeparator * createCube (const double width, const double length, const double height) | |
static void createCube (SoSeparator *sep, const double width, const double length, const double height) | |
static SoSeparator * createCylinder (const double height, const double radius) | |
static void createCylinder (SoSeparator *sep, const double height, const double radius) | |
static SoSeparator * createDisplacement (const double height, const double width, const bool gap=false) | |
static void createDisplacement (SoSeparator *sep, const double height, const double width, const bool gap=false) | |
static SoSeparator * createFixed (const double height, const double width, const bool gap=false) | |
static void createFixed (SoSeparator *sep, const double height, const double width, const bool gap=false) | |
static void createPlacement (SoSeparator *sep, const SbVec3f &base, const SbRotation &r) | |
static SoSeparator * createRotation (const double height, const double width, const bool gap=false) | |
static void createRotation (SoSeparator *sep, const double height, const double width, const bool gap=false) | |
static QObject * findChildByName (const QObject *parent, const QString &name) | |
static void updateArrow (const SoNode *node, const int idx, const double length, const double radius) | |
static void updateCone (const SoNode *node, const int idx, const double height, const double radius) | |
static void updateCube (const SoNode *node, const int idx, const double width, const double length, const double height) | |
static void updateCylinder (const SoNode *node, const int idx, const double height, const double radius) | |
static void updateDisplacement (const SoNode *node, const int idx, const double height, const double width, const bool gap=false) | |
static void updateFixed (const SoNode *node, const int idx, const double height, const double width, const bool gap=false) | |
static void updatePlacement (const SoSeparator *sep, const int idx, const SbVec3f &base, const SbRotation &r) | |
static void updateRotation (const SoNode *node, const int idx, const double height, const double width, const bool gap=false) | |
![]() | |
static const PropertyData * getPropertyDataPtr (void) | |
![]() | |
static void initSubclass (Base::Type &toInit, const char *ClassName, const char *ParentName, Type::instantiationMethod method=nullptr) | |
![]() | |
TaskFemConstraint * constraintDialog | |
SoSeparator * pShapeSep | |
QVBoxLayout * wizardSubLayout | |
QVBoxLayout * wizardWidget | |
![]() | |
SoMaterial * pcShapeMaterial | |
SoFCBoundingBox * pcBoundingBox | |
SoSwitch * pcBoundSwitch | |
SoBaseColor * pcBoundColor | |
![]() | |
SoFCCSysDragger * csysDragger = nullptr | |
![]() | |
App::DocumentObject * pcObject | |
Gui::Document * pcDocument | |
![]() | |
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 | |
![]() | |
DynamicProperty dynamicProps | |
Constructor & Destructor Documentation
◆ ViewProviderFemConstraintPulley()
ViewProviderFemConstraintPulley::ViewProviderFemConstraintPulley | ( | ) |
Constructor.
◆ ~ViewProviderFemConstraintPulley()
|
virtual |
Member Function Documentation
◆ setEdit()
|
protectedvirtual |
is called by the document when the provider goes in edit mode
Reimplemented from FemGui::ViewProviderFemConstraint.
References Gui::ControlSingleton::activeDialog(), FemGui::ViewProviderFemConstraint::checkForWizard(), Gui::SelectionSingleton::clearSelection(), FemGui::ViewProviderFemConstraint::constraintDialog, Gui::Control(), FemGui::TaskDlgFemConstraint::getConstraintView(), Gui::ControlSingleton::reject(), Gui::Selection(), Gui::ControlSingleton::showDialog(), FemGui::ViewProviderFemConstraint::wizardSubLayout, and FemGui::ViewProviderFemConstraint::wizardWidget.
Referenced by PathScripts.PathSetupSheetGui.ViewProvider::doubleClicked(), PathScripts.PathToolBitGui.ViewProvider::doubleClicked(), Spreadsheet_legacy.ViewProviderSpreadsheet::doubleClicked(), ArchSchedule.CommandArchSchedule::IsActive(), ArchAxis.CommandArchGrid::IsActive(), PathScripts.PathIconViewProvider.ViewProvider::setupContextMenu(), PathScripts.PathToolControllerGui.ViewProvider::setupContextMenu(), PathScripts.PathOpGui.ViewProvider::setupContextMenu(), and PathScripts.PathJobGui.ViewProvider::setupContextMenu().
◆ updateData()
|
virtual |
Reimplemented from FemGui::ViewProviderFemConstraint.
References Fem::ConstraintBearing::Axis, Fem::ConstraintBearing::BasePoint, Fem::ConstraintPulley::BeltAngle, Fem::ConstraintPulley::BeltForce1, Fem::ConstraintPulley::BeltForce2, Gui::coinRemoveAllChildren(), FemGui::ViewProviderFemConstraint::createArrow(), FemGui::ViewProviderFemConstraint::createCylinder(), FemGui::ViewProviderFemConstraint::createPlacement(), Fem::ConstraintGear::Diameter, Fem::ConstraintGear::ForceAngle, App::Property::getName(), Gui::ViewProviderDocumentObject::getObject(), App::PropertyVector::getValue(), App::PropertyFloat::getValue(), Fem::ConstraintBearing::Height, FemGui::ViewProviderFemConstraint::pShapeSep, Fem::ConstraintBearing::Radius, FemGui::ViewProviderFemConstraint::updateArrow(), FemGui::ViewProviderFemConstraint::updateCylinder(), FemGui::ViewProviderFemConstraint::updateData(), FemGui::ViewProviderFemConstraint::updatePlacement(), Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.
Referenced by PathScripts.PathJobDlg.JobCreate::exec_(), PathScripts.PathOpGui.TaskPanelPage::pageUpdateData(), and PathScripts.PathSetupSheetGui.OpTaskPanel::setupUi().
The documentation for this class was generated from the following files:
- src/Mod/Fem/Gui/ViewProviderFemConstraintPulley.h
- src/Mod/Fem/Gui/ViewProviderFemConstraintPulley.cpp