Salome HOME
projects
/
modules
/
shaper.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Using test for testing number of sub-shapes.
[modules/shaper.git]
/
src
/
SketchSolver
/
SketchSolver_Constraint.cpp
diff --git
a/src/SketchSolver/SketchSolver_Constraint.cpp
b/src/SketchSolver/SketchSolver_Constraint.cpp
index fcb2a1fc138371fb94e349c6886f9cd1b60249a1..bbf00518aa95c1e1f57ec7f12aaa4f7c65e23612 100644
(file)
--- a/
src/SketchSolver/SketchSolver_Constraint.cpp
+++ b/
src/SketchSolver/SketchSolver_Constraint.cpp
@@
-1,3
+1,5
@@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
#include <SketchSolver_Constraint.h>
#include <SketchSolver_Group.h>
#include <SketchSolver_Error.h>
#include <SketchSolver_Constraint.h>
#include <SketchSolver_Group.h>
#include <SketchSolver_Error.h>
@@
-226,6
+228,11
@@
void SketchSolver_Constraint::getAttributes(
myStorage->update(*anIter/*, myGroupID*/);
EntityWrapperPtr anEntity = myStorage->entity(*anIter);
myStorage->update(*anIter/*, myGroupID*/);
EntityWrapperPtr anEntity = myStorage->entity(*anIter);
+ if (!anEntity) {
+ // Force creation of an entity
+ myStorage->update(*anIter, GID_UNKNOWN, true);
+ anEntity = myStorage->entity(*anIter);
+ }
myAttributes.push_back(anEntity);
SketchSolver_EntityType aType = anEntity->type();
myAttributes.push_back(anEntity);
SketchSolver_EntityType aType = anEntity->type();
@@
-251,7
+258,8
@@
bool SketchSolver_Constraint::isUsed(FeaturePtr theFeature) const
if ((*aCIt)->isUsed(theFeature))
return true;
if ((*aCIt)->isUsed(theFeature))
return true;
- std::list<AttributePtr> anAttrList = theFeature->data()->attributes(GeomDataAPI_Point2D::typeId());
+ std::list<AttributePtr> anAttrList =
+ theFeature->data()->attributes(GeomDataAPI_Point2D::typeId());
std::list<AttributePtr>::const_iterator anAttrIt = anAttrList.begin();
for (; anAttrIt != anAttrList.end(); ++ anAttrIt)
if (isUsed(*anAttrIt))
std::list<AttributePtr>::const_iterator anAttrIt = anAttrList.begin();
for (; anAttrIt != anAttrList.end(); ++ anAttrIt)
if (isUsed(*anAttrIt))