]> SALOME platform Git repositories - modules/shaper.git/blobdiff - src/SketchPlugin/SketchPlugin_ConstraintDistance.cpp
Salome HOME
Merge remote-tracking branch 'remotes/origin/master' into SketchSolver
[modules/shaper.git] / src / SketchPlugin / SketchPlugin_ConstraintDistance.cpp
index b6ddb808aa950a4fa3b3a4d95fff1f15d2aad57f..599cb72e954d034d58537f0eb8dabf97ea51b4b2 100644 (file)
@@ -36,6 +36,24 @@ void SketchPlugin_ConstraintDistance::initAttributes()
 
 void SketchPlugin_ConstraintDistance::execute()
 {
+  boost::shared_ptr<ModelAPI_Data> aData = data();
+
+  boost::shared_ptr<ModelAPI_AttributeRefAttr> anAttr_A = 
+          boost::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(aData->attribute(CONSTRAINT_ATTR_ENTITY_A));
+  boost::shared_ptr<ModelAPI_AttributeRefAttr> anAttr_B = 
+          boost::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(aData->attribute(CONSTRAINT_ATTR_ENTITY_B));
+
+  AttributeDoublePtr anAttribute =
+      boost::dynamic_pointer_cast<ModelAPI_AttributeDouble>(aData->attribute(CONSTRAINT_ATTR_VALUE));
+
+  if (anAttr_A && anAttr_B && anAttribute->value() == 0)
+  {
+    FeaturePtr aFeature_A = anAttr_A->feature();
+    FeaturePtr aFeature_B = anAttr_B->feature();
+
+    double aValue = 40; // TODO
+    anAttribute->setValue(aValue);
+  }
 }
 
 Handle(AIS_InteractiveObject) SketchPlugin_ConstraintDistance::getAISShape(