cout << "DNaming_NewShape : Error" << endl;
return 1;
}
+//=======================================================================
+//function : CheckNSIter
+//purpose : "CheckNSIter Doc entry Shape new/old [1|0]"
+//=======================================================================
+
+static Standard_Integer CheckIter (Draw_Interpretor& di,
+ Standard_Integer nb,
+ const char** arg)
+{
+ if (nb > 3) {
+ Handle(TDF_Data) aDF;
+ Standard_Boolean aNew(Standard_True);
+ if (!DDF::GetDF(arg[1],aDF)) return 1;
+ TDF_Label aLabel;
+ DDF::AddLabel(aDF, arg[2], aLabel);
+ TNaming_Builder aNB(aLabel);
+ const TopoDS_Shape& aShape = DBRep::Get(arg[3]);
+ aNB.Generated(aShape);
+ TNaming_Iterator aNameIter(aLabel);
+ if(nb == 5) aNew = (Standard_Boolean) atoi(arg[4]);
+ if(aNew) {
+ TNaming_NewShapeIterator aNewShapeIter(aNameIter);
+ di << "DNaming_CheckIterator : New It is OK" << "\n";
+ } else {
+ TNaming_OldShapeIterator oldShapeIter(aNameIter);
+ di << "DNaming_CheckIterator : Old It is OK" << "\n";
+ }
+ return 0;
+ }
+ di << "DNaming_CheckIterator : Error" << "\n";
+ return 1;
+}
+//
//=======================================================================
//function : BasicCommands
//purpose :
theCommands.Add("Collect", "Collect df entry [onlymodif 0/1]",__FILE__,Collect , g);
theCommands.Add ("GeneratedShape", "Generatedshape df shape Generationentry [drawname]", __FILE__,Generatedshape,g);
theCommands.Add("ImportShape", "ImportShape Doc Entry Shape [Name]",__FILE__,DNaming_ImportShape, g);
+ //
+ theCommands.Add("CheckNSIter", "CheckNSIter df entry shape new[1|0]", __FILE__, CheckIter , g);
}
const Standard_Integer Trans,
const Handle(TNaming_UsedShapes)& Shapes)
:myTrans(Trans)
-{
- Standard_Boolean Old = Standard_True;
- TNaming_RefShape* RS = Shapes->Map().ChangeFind(aShape);
+{
+ Standard_NoSuchObject_Raise_if(!Shapes->Map().IsBound(aShape),
+ "TNaming_NewShapeIterator::TNaming_NewShapeIterator aShape");
+ TNaming_RefShape* RS = Shapes->Map().ChangeFind(aShape);
myNode = RS->FirstUse();
+ Standard_Boolean Old(Standard_True);
SelectSameShape(myNode,Old,RS,myTrans);
}
:myTrans(Trans)
{
Handle(TNaming_UsedShapes) Shapes;
- if (access.Root().FindAttribute(TNaming_UsedShapes::GetID(),Shapes)) {
- Standard_Boolean Old = Standard_True;
- TNaming_RefShape* RS = Shapes->Map().ChangeFind(aShape);
+ if (access.Root().FindAttribute(TNaming_UsedShapes::GetID(),Shapes)) {
+ Standard_NoSuchObject_Raise_if(!Shapes->Map().IsBound(aShape),
+ "TNaming_NewShapeIterator::TNaming_NewShapeIterator aShape");
+ TNaming_RefShape* RS = Shapes->Map().ChangeFind(aShape);
myNode = RS->FirstUse();
+ Standard_Boolean Old(Standard_True);
SelectSameShape(myNode,Old,RS,myTrans);
}
}
TNaming_NewShapeIterator::TNaming_NewShapeIterator (const TNaming_Iterator& anIterator)
:myTrans(anIterator.myTrans)
{
- Standard_Boolean Old = Standard_True;
- myNode = anIterator.myNode;
+ Standard_NoSuchObject_Raise_if(anIterator.myNode == 0L,
+ "TNaming_NewShapeIterator::TNaming_NewShapeIterator");
+ myNode = anIterator.myNode;
TNaming_RefShape* RS = myNode->myNew;
if (RS == 0L)
myNode = 0L; // No descendant
else {
// il faut repartir de la premiere utilisation.
myNode = RS->FirstUse();
+ Standard_Boolean Old(Standard_True);
SelectSameShape(myNode,Old,RS,myTrans);
}
}
const Handle(TNaming_UsedShapes)& Shapes)
:myTrans(-1)
{
- Standard_Boolean Old = Standard_True;
+ Standard_NoSuchObject_Raise_if(!Shapes->Map().IsBound(aShape),
+ "TNaming_NewShapeIterator::TNaming_NewShapeIterator aShape");
TNaming_RefShape* RS = Shapes->Map().ChangeFind(aShape);
myNode = RS->FirstUse();
+ Standard_Boolean Old(Standard_True);
SelectSameShape(myNode,Old,RS,myTrans);
}
{
Handle(TNaming_UsedShapes) Shapes;
if (access.Root().FindAttribute(TNaming_UsedShapes::GetID(),Shapes)) {
- Standard_Boolean Old = Standard_True;
- TNaming_RefShape* RS = Shapes->Map().ChangeFind(aShape);
+ Standard_NoSuchObject_Raise_if(!Shapes->Map().IsBound(aShape),
+ "TNaming_NewShapeIterator::TNaming_NewShapeIterator aShape");
+ Standard_Boolean Old(Standard_True);
+ TNaming_RefShape* RS = Shapes->Map().ChangeFind(aShape);
myNode = RS->FirstUse();
SelectSameShape(myNode,Old,RS,myTrans);
}
TNaming_NewShapeIterator::TNaming_NewShapeIterator(const TNaming_NewShapeIterator& anIterator)
:myTrans(anIterator.myTrans)
{
- Standard_Boolean Old = Standard_True;
+ Standard_NoSuchObject_Raise_if(anIterator.myNode == 0L,
+ "TNaming_NewShapeIterator::TNaming_NewShapeIterator");
myNode = anIterator.myNode;
TNaming_RefShape* RS = myNode->myNew;
if (RS == 0L)
else {
// il faut repartir de la premiere utilisation.
myNode = RS->FirstUse();
+ Standard_Boolean Old(Standard_True);
SelectSameShape(myNode,Old,RS,myTrans);
}
}
void TNaming_NewShapeIterator::Next()
{
- Standard_Boolean Old = Standard_True;
TNaming_RefShape* RS = myNode->myOld;
myNode = myNode->NextSameShape(RS);
+ Standard_Boolean Old(Standard_True);
SelectSameShape(myNode,Old,RS,myTrans);
}
const Handle(TNaming_UsedShapes)& Shapes)
:myTrans(Trans)
{
- Standard_Boolean Old = Standard_False;
+ Standard_NoSuchObject_Raise_if(!Shapes->Map().IsBound(aShape),
+ "TNaming_OldShapeIterator::TNaming_OldShapeIterator aShape");
TNaming_RefShape* RS = Shapes->Map().ChangeFind(aShape);
myNode = RS->FirstUse();
+ Standard_Boolean Old(Standard_False);
SelectSameShape(myNode,Old,RS,myTrans);
}
{
Handle(TNaming_UsedShapes) Shapes;
if (access.Root().FindAttribute(TNaming_UsedShapes::GetID(),Shapes)) {
- Standard_Boolean Old = Standard_False;
+ Standard_NoSuchObject_Raise_if(!Shapes->Map().IsBound(aShape),
+ "TNaming_OldShapeIterator::TNaming_OldShapeIterator aShape");
TNaming_RefShape* RS = Shapes->Map().ChangeFind(aShape);
myNode = RS->FirstUse();
+ Standard_Boolean Old(Standard_False);
SelectSameShape(myNode,Old,RS,myTrans);
}
}
const Handle(TNaming_UsedShapes)& Shapes)
:myTrans(-1)
{
- Standard_Boolean Old = Standard_False;
+ Standard_NoSuchObject_Raise_if(!Shapes->Map().IsBound(aShape),
+ "TNaming_OldShapeIterator::TNaming_OldShapeIterator aShape");
TNaming_RefShape* RS = Shapes->Map().ChangeFind(aShape);
myNode = RS->FirstUse();
+ Standard_Boolean Old(Standard_False);
SelectSameShape(myNode,Old,RS,myTrans);
}
:myTrans(-1)
{
Handle(TNaming_UsedShapes) Shapes;
- if (access.Root().FindAttribute(TNaming_UsedShapes::GetID(),Shapes)) {
- Standard_Boolean Old = Standard_False;
+ if (access.Root().FindAttribute(TNaming_UsedShapes::GetID(),Shapes)) {
+ Standard_NoSuchObject_Raise_if(!Shapes->Map().IsBound(aShape),
+ "TNaming_OldShapeIterator::TNaming_OldShapeIterator aShape");
TNaming_RefShape* RS = Shapes->Map().ChangeFind(aShape);
myNode = RS->FirstUse();
+ Standard_Boolean Old(Standard_False);
SelectSameShape(myNode,Old,RS,myTrans);
}
}
TNaming_OldShapeIterator::TNaming_OldShapeIterator (const TNaming_Iterator& anIterator)
:myTrans(anIterator.myTrans)
{
- Standard_Boolean Old = Standard_False;
- myNode = anIterator.myNode;
+ Standard_NoSuchObject_Raise_if(anIterator.myNode == 0L,
+ "TNaming_OldShapeIterator::TNaming_OldShapeIterator");
+ myNode = anIterator.myNode;
TNaming_RefShape* RS = myNode->myNew;
if (RS == 0L)
myNode = 0L; // No descendant
else {
// il faut repartir de la premiere utilisation.
myNode = RS->FirstUse();
+ Standard_Boolean Old(Standard_False);
SelectSameShape(myNode,Old,RS,myTrans);
}
}
TNaming_OldShapeIterator::TNaming_OldShapeIterator(const TNaming_OldShapeIterator& anIterator)
:myTrans(anIterator.myTrans)
{
- Standard_Boolean Old = Standard_False;
- myNode = anIterator.myNode;
+ Standard_NoSuchObject_Raise_if(anIterator.myNode == 0L,
+ "TNaming_OldShapeIterator::TNaming_OldShapeIterator");
+ myNode = anIterator.myNode;
TNaming_RefShape* RS = myNode->myOld;
if (RS == 0L)
myNode = 0L; // No descendant
else {
// il faut repartir de la premiere utilisation.
myNode = RS->FirstUse();
+ Standard_Boolean Old(Standard_False);
SelectSameShape(myNode,Old,RS,myTrans);
}
}