Handle(TNaming_NamedShape) aName;
if (aShapeLab.FindAttribute(TNaming_NamedShape::GetID(), aName)) {
TopoDS_Shape aShape = aName->Get();
- if (aShape.IsNull())
- std::cout<<"Model_BodyBuilder::shape returns empty shape "<<std::endl;
- else
- std::cout<<"Model_BodyBuilder::shape returns shape "<<&(*(aShape.TShape()))<<" with type "
- <<aShape.ShapeType()<<std::endl;
if (!aShape.IsNull()) {
std::shared_ptr<GeomAPI_Shape> aRes(new GeomAPI_Shape);
aRes->setImpl(new TopoDS_Shape(aShape));
{
if (!checkFeatureValidity(theFeature))
return false;
- // the external feature always should keep the up to date values, so,
- // refresh from the solver is never needed
- std::shared_ptr<SketchPlugin_Feature> aSketchFeature =
- std::dynamic_pointer_cast<SketchPlugin_Feature>(theFeature);
- if (aSketchFeature.get() && aSketchFeature->isExternal())
- return false;
myStorage->refresh(true);
return myStorage->update(theFeature);
std::list<ParameterWrapperPtr> aParams;
std::list<ParameterWrapperPtr>::const_iterator aParIt;
for (; anIt != myAttributeMap.end(); ++anIt) {
+ // the external feature always should keep the up to date values, so,
+ // refresh from the solver is never needed
+ if (anIt->first.get()) {
+ std::shared_ptr<SketchPlugin_Feature> aSketchFeature =
+ std::dynamic_pointer_cast<SketchPlugin_Feature>(anIt->first->owner());
+ if (aSketchFeature.get() && aSketchFeature->isExternal())
+ continue;
+ }
+
// update parameter wrappers and obtain values of attributes
aParams = anIt->second->parameters();
double aCoords[3];