1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

0028446: Could not retrieve just kept document with Integer attribute

This commit is contained in:
szy
2017-05-23 15:14:51 +03:00
committed by bugmaster
parent 5a1271c8b4
commit 69f1a8997e
8 changed files with 334 additions and 96 deletions

View File

@@ -28,8 +28,7 @@ IMPLEMENT_STANDARD_RTTIEXT(TDataStd_AsciiString,TDF_Attribute)
//function : TDataStd_AsciiString
//purpose :
//=======================================================================
TDataStd_AsciiString::TDataStd_AsciiString():
myID (GetID())
TDataStd_AsciiString::TDataStd_AsciiString()
{
myString.Clear();
}
@@ -55,6 +54,25 @@ const Standard_GUID& TDataStd_AsciiString::ID() const
return myID;
}
//=======================================================================
//function : SetAttr
//purpose : Implements Set functionality
//=======================================================================
static Handle(TDataStd_AsciiString) SetAttr(
const TDF_Label& label,
const TCollection_AsciiString& theString,
const Standard_GUID& theGuid)
{
Handle(TDataStd_AsciiString) A;
if (!label.FindAttribute(theGuid, A)) {
A = new TDataStd_AsciiString ();
A->SetID(theGuid);
label.AddAttribute(A);
}
A->Set (theString);
return A;
}
//=======================================================================
//function : Set
//purpose :
@@ -64,15 +82,7 @@ Handle(TDataStd_AsciiString) TDataStd_AsciiString::Set (
const TDF_Label& theLabel,
const TCollection_AsciiString& theAsciiString)
{
Handle(TDataStd_AsciiString) A;
if (!theLabel.FindAttribute(TDataStd_AsciiString::GetID(), A))
{
A = new TDataStd_AsciiString;
A->SetID(GetID());
theLabel.AddAttribute(A);
}
A->Set(theAsciiString);
return A;
return SetAttr(theLabel, theAsciiString, GetID());
}
//=======================================================================
@@ -80,17 +90,12 @@ Handle(TDataStd_AsciiString) TDataStd_AsciiString::Set (
//purpose : Set user defined attribute
//=======================================================================
Handle(TDataStd_AsciiString) TDataStd_AsciiString::Set (const TDF_Label& L, const Standard_GUID& theGuid,
const TCollection_AsciiString& theAsciiString)
Handle(TDataStd_AsciiString) TDataStd_AsciiString::Set (
const TDF_Label& theLabel,
const Standard_GUID& theGuid,
const TCollection_AsciiString& theAsciiString)
{
Handle(TDataStd_AsciiString) A;
if (!L.FindAttribute(theGuid, A)) {
A = new TDataStd_AsciiString ();
A->SetID(theGuid);
L.AddAttribute(A);
}
A->Set (theAsciiString);
return A;
return SetAttr(theLabel, theAsciiString, theGuid);
}
//=======================================================================
//function : Set
@@ -143,9 +148,7 @@ void TDataStd_AsciiString::SetID()
Handle(TDF_Attribute) TDataStd_AsciiString::NewEmpty () const
{
Handle(TDataStd_AsciiString) Att = new TDataStd_AsciiString();
Att->SetID(myID);
return Att;
return new TDataStd_AsciiString();
}
//=======================================================================

View File

@@ -35,6 +35,23 @@ const Standard_GUID& TDataStd_Integer::GetID()
return TDataStd_IntegerID;
}
//=======================================================================
//function : SetAttr
//purpose : Implements Set functionality
//=======================================================================
static Handle(TDataStd_Integer) SetAttr(const TDF_Label& label,
const Standard_Integer V,
const Standard_GUID& theGuid)
{
Handle(TDataStd_Integer) A;
if (!label.FindAttribute(theGuid, A)) {
A = new TDataStd_Integer ();
A->SetID(theGuid);
label.AddAttribute(A);
}
A->Set (V);
return A;
}
//=======================================================================
//function : Set
@@ -45,14 +62,7 @@ Handle(TDataStd_Integer) TDataStd_Integer::Set (const TDF_Label& L,
const Standard_Integer V)
{
Handle(TDataStd_Integer) A;
if (!L.FindAttribute (TDataStd_Integer::GetID(), A)) {
A = new TDataStd_Integer ();
A->SetID(GetID());
L.AddAttribute(A);
}
A->Set (V);
return A;
return SetAttr(L, V, GetID());
}
//=======================================================================
@@ -60,17 +70,11 @@ Handle(TDataStd_Integer) TDataStd_Integer::Set (const TDF_Label& L,
//purpose : Set user defined attribute
//=======================================================================
Handle(TDataStd_Integer) TDataStd_Integer::Set (const TDF_Label& L, const Standard_GUID& theGuid,
const Standard_Integer V)
Handle(TDataStd_Integer) TDataStd_Integer::Set (const TDF_Label& L,
const Standard_GUID& theGuid,
const Standard_Integer V)
{
Handle(TDataStd_Integer) A;
if (!L.FindAttribute(theGuid, A)) {
A = new TDataStd_Integer ();
A->SetID(theGuid);
L.AddAttribute(A);
}
A->Set (V);
return A;
return SetAttr(L, V, theGuid);
}
//=======================================================================
//function : TDataStd_Integer
@@ -78,7 +82,7 @@ Handle(TDataStd_Integer) TDataStd_Integer::Set (const TDF_Label& L, const Sta
//=======================================================================
TDataStd_Integer::TDataStd_Integer ()
: myValue (-1), myID (GetID())
: myValue (-1)
{ }
@@ -152,10 +156,8 @@ void TDataStd_Integer::SetID()
//=======================================================================
Handle(TDF_Attribute) TDataStd_Integer::NewEmpty () const
{
Handle(TDataStd_Integer) Att = new TDataStd_Integer();
Att->SetID(myID);
return Att;
{
return new TDataStd_Integer();
}
//=======================================================================

View File

@@ -40,6 +40,24 @@ const Standard_GUID& TDataStd_Name::GetID ()
return TDataStd_NameID;
}
//=======================================================================
//function : SetAttr
//purpose : Implements Set functionality
//=======================================================================
static Handle(TDataStd_Name) SetAttr(const TDF_Label& label,
const TCollection_ExtendedString& theString,
const Standard_GUID& theGuid)
{
Handle(TDataStd_Name) N;
if (!label.FindAttribute(theGuid, N)) {
N = new TDataStd_Name ();
N->SetID(theGuid);
label.AddAttribute(N);
}
N->Set (theString);
return N;
}
//=======================================================================
//function : Set
//purpose :
@@ -48,14 +66,7 @@ Handle(TDataStd_Name) TDataStd_Name::Set
(const TDF_Label& label,
const TCollection_ExtendedString& theString)
{
Handle(TDataStd_Name) N;
if (!label.FindAttribute(TDataStd_Name::GetID(), N)) {
N = new TDataStd_Name ();
N->SetID(GetID());
label.AddAttribute(N);
}
N->Set(theString);
return N;
return SetAttr(label, theString, GetID());
}
//=======================================================================
@@ -63,25 +74,19 @@ Handle(TDataStd_Name) TDataStd_Name::Set
//purpose : Set user defined attribute
//=======================================================================
Handle(TDataStd_Name) TDataStd_Name::Set (const TDF_Label& L, const Standard_GUID& theGuid,
Handle(TDataStd_Name) TDataStd_Name::Set (const TDF_Label& label,
const Standard_GUID& theGuid,
const TCollection_ExtendedString& theString)
{
Handle(TDataStd_Name) N;
if (!L.FindAttribute(theGuid, N)) {
N = new TDataStd_Name ();
N->SetID(theGuid);
L.AddAttribute(N);
}
N->Set (theString);
return N;
return SetAttr(label, theString, theGuid);
}
//=======================================================================
//function : TDataStd_Name
//purpose : Empty Constructor
//=======================================================================
TDataStd_Name::TDataStd_Name (): myID (GetID())
{ }
TDataStd_Name::TDataStd_Name ()
{}
//=======================================================================
//function : Set
@@ -143,10 +148,8 @@ const Standard_GUID& TDataStd_Name::ID () const { return myID; }
//=======================================================================
Handle(TDF_Attribute) TDataStd_Name::NewEmpty () const
{
Handle(TDataStd_Name) Att = new TDataStd_Name();
Att->SetID(myID);
return Att;
{
return new TDataStd_Name();
}
//=======================================================================
@@ -170,9 +173,9 @@ void TDataStd_Name::Restore(const Handle(TDF_Attribute)& with)
void TDataStd_Name::Paste (const Handle(TDF_Attribute)& into,
const Handle(TDF_RelocationTable)&/* RT*/) const
{
Handle(TDataStd_Name) anAtt = Handle(TDataStd_Name)::DownCast (into);
anAtt->Set (myString);
anAtt->SetID(myID);
Handle(TDataStd_Name) anAtt = Handle(TDataStd_Name)::DownCast (into);
anAtt->Set (myString);
anAtt->SetID(myID);
}
//=======================================================================

View File

@@ -36,6 +36,23 @@ const Standard_GUID& TDataStd_Real::GetID()
return TDataStd_RealID;
}
//=======================================================================
//function : SetAttr
//purpose : Implements Set functionality
//=======================================================================
static Handle(TDataStd_Real) SetAttr(const TDF_Label& label,
const Standard_Real V,
const Standard_GUID& theGuid)
{
Handle(TDataStd_Real) A;
if (!label.FindAttribute(theGuid, A)) {
A = new TDataStd_Real ();
A->SetID(theGuid);
label.AddAttribute(A);
}
A->Set (V);
return A;
}
//=======================================================================
//function : Set
@@ -45,14 +62,7 @@ const Standard_GUID& TDataStd_Real::GetID()
Handle(TDataStd_Real) TDataStd_Real::Set (const TDF_Label& L,
const Standard_Real V)
{
Handle(TDataStd_Real) A;
if (!L.FindAttribute(TDataStd_Real::GetID(), A)) {
A = new TDataStd_Real ();
A->SetID(GetID());
L.AddAttribute(A);
}
A->Set (V);
return A;
return SetAttr(L, V, GetID());
}
//=======================================================================
@@ -60,17 +70,11 @@ Handle(TDataStd_Real) TDataStd_Real::Set (const TDF_Label& L,
//purpose : User defined attribute
//=======================================================================
Handle(TDataStd_Real) TDataStd_Real::Set (const TDF_Label& L, const Standard_GUID& theGuid,
Handle(TDataStd_Real) TDataStd_Real::Set (const TDF_Label& L,
const Standard_GUID& theGuid,
const Standard_Real V)
{
Handle(TDataStd_Real) A;
if (!L.FindAttribute(theGuid, A)) {
A = new TDataStd_Real ();
A->SetID(theGuid);
L.AddAttribute(A);
}
A->Set (V);
return A;
return SetAttr(L, V, theGuid);
}
//=======================================================================
@@ -80,8 +84,7 @@ Handle(TDataStd_Real) TDataStd_Real::Set (const TDF_Label& L, const Standard_
TDataStd_Real::TDataStd_Real ()
: myValue (RealFirst()),
myDimension (TDataStd_SCALAR),
myID (GetID())
myDimension (TDataStd_SCALAR)
{}
@@ -188,10 +191,8 @@ void TDataStd_Real::SetID()
//=======================================================================
Handle(TDF_Attribute) TDataStd_Real::NewEmpty () const
{
Handle(TDataStd_Real) Att = new TDataStd_Real();
Att->SetID(myID);
return Att;
{
return new TDataStd_Real();
}
//=======================================================================