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:
@@ -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();
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
|
@@ -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();
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
|
@@ -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();
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
|
Reference in New Issue
Block a user