-// Copyright (C) 2014-2019 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2022 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// change deviation coefficient to provide more precise circle
// as there is no result, the shape is processed to correct deviation. To be unified
ModuleBase_Tools::setDefaultDeviationCoefficient(aShape, aDrawer);
- ModuleBase_Tools::setDefaultDeviationCoefficient(aShape, DynamicHilightAttributes());
+ //This presentation is not used for selection, so it don't need highlighting
+ //ModuleBase_Tools::setDefaultDeviationCoefficient(aShape, DynamicHilightAttributes());
if (myUseAISWidth) {
Handle(AIS_InteractiveObject) anIO = anIter.Value();
int aWidth = anIO->Width();
/// workaround for zero width. Else, there will be a crash
if (aWidth == 0) { // width returns of TSolid shape is zero
- bool isDisplayed = !anIO->GetContext().IsNull();
aWidth = PartSet_Tools::getAISDefaultWidth();// default width value
}
setWidth(aDrawer, aWidth);
GeomShapePtr aShape = theShape;
if (!aShape.get()) {
- ResultPtr aResult = std::dynamic_pointer_cast<ModelAPI_Result>(theObject);
- if (aResult.get())
- aShape = aResult->shape();
+ ResultPtr aRes = std::dynamic_pointer_cast<ModelAPI_Result>(theObject);
+ if (aRes.get())
+ aShape = aRes->shape();
}
if (!isSubObject(theObject, theFeature))
appendShapeIfVisible(theWorkshop, theObject, aShape, theObjectShapes);
ObjectPtr anObject;
GeomShapePtr aShape;
if (anAttrType == ModelAPI_AttributeRefAttr::typeId()) {
- AttributeRefAttrPtr anAttr =
+ AttributeRefAttrPtr aRefAttr =
std::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(anAttribute);
- if (anAttr->isObject()) {
- anObject = anAttr->object();
+ if (aRefAttr->isObject()) {
+ anObject = aRefAttr->object();
}
else {
- AttributePtr anAttribute = anAttr->attr();
- aShape = PartSet_Tools::findShapeBy2DPoint(anAttribute, theWorkshop);
+ AttributePtr anAttr = aRefAttr->attr();
+ aShape = PartSet_Tools::findShapeBy2DPoint(anAttr, theWorkshop);
// the distance point is not found if the point is selected in the 2nd time
// TODO: after debug, this check can be removed
if (!aShape.get())
continue;
- anObject = anAttr->attr()->owner();
+ anObject = anAttr->owner();
}
}
if (anAttrType == ModelAPI_AttributeSelection::typeId()) {
aRLast = aResults.end();
for (; aRIt != aRLast; aRIt++) {
ResultPtr aResult = *aRIt;
- GeomShapePtr aGeomShape = aResult->shape();
- appendShapeIfVisible(theWorkshop, aResult, aGeomShape, theObjectShapes);
+ if (!aResult->isDisabled()) {
+ GeomShapePtr aGeomShape = aResult->shape();
+ appendShapeIfVisible(theWorkshop, aResult, aGeomShape, theObjectShapes);
+ }
}
}