return TDataStd_RealListID;
}
+//=======================================================================
+//function : SetAttr
+//purpose : Implements Set functionality
+//=======================================================================
+static Handle(TDataStd_RealList) SetAttr(const TDF_Label& label,
+ const Standard_GUID& theGuid)
+{
+ Handle(TDataStd_RealList) A;
+ if (!label.FindAttribute (theGuid, A))
+ {
+ A = new TDataStd_RealList;
+ A->SetID(theGuid);
+ label.AddAttribute(A);
+ }
+ return A;
+}
+
//=======================================================================
//function : TDataStd_RealList
//purpose : Empty Constructor
//=======================================================================
Handle(TDataStd_RealList) TDataStd_RealList::Set(const TDF_Label& label)
{
- Handle(TDataStd_RealList) A;
- if (!label.FindAttribute (TDataStd_RealList::GetID(), A))
- {
- A = new TDataStd_RealList;
- label.AddAttribute(A);
- }
- return A;
+ return SetAttr(label, GetID());
+}
+
+//=======================================================================
+//function : Set
+//purpose : Set user defined attribute with specific ID
+//=======================================================================
+Handle(TDataStd_RealList) TDataStd_RealList::Set(const TDF_Label& label,
+ const Standard_GUID& theGuid)
+{
+ return SetAttr(label, theGuid);
}
//=======================================================================
//purpose :
//=======================================================================
Standard_Boolean TDataStd_RealList::InsertBefore(const Standard_Real value,
- const Standard_Real before_value)
+ const Standard_Real before_value)
{
TColStd_ListIteratorOfListOfReal itr(myList);
for (; itr.More(); itr.Next())
//purpose :
//=======================================================================
Standard_Boolean TDataStd_RealList::InsertAfter(const Standard_Real value,
- const Standard_Real after_value)
+ const Standard_Real after_value)
{
TColStd_ListIteratorOfListOfReal itr(myList);
for (; itr.More(); itr.Next())
//=======================================================================
const Standard_GUID& TDataStd_RealList::ID () const
{
- return GetID();
+ return myID;
+}
+
+//=======================================================================
+//function : SetID
+//purpose :
+//=======================================================================
+void TDataStd_RealList::SetID( const Standard_GUID& theGuid)
+{
+ if(myID == theGuid) return;
+ Backup();
+ myID = theGuid;
+}
+
+//=======================================================================
+//function : SetID
+//purpose : sets default ID
+//=======================================================================
+void TDataStd_RealList::SetID()
+{
+ Backup();
+ myID = GetID();
}
//=======================================================================
{
myList.Append(itr.Value());
}
+ myID = aList->ID();
}
//=======================================================================
//purpose :
//=======================================================================
void TDataStd_RealList::Paste (const Handle(TDF_Attribute)& Into,
- const Handle(TDF_RelocationTable)& ) const
+ const Handle(TDF_RelocationTable)& ) const
{
Handle(TDataStd_RealList) aList = Handle(TDataStd_RealList)::DownCast(Into);
aList->Clear();
{
aList->Append(itr.Value());
}
+ aList->SetID(myID);
}
//=======================================================================
//=======================================================================
Standard_OStream& TDataStd_RealList::Dump (Standard_OStream& anOS) const
{
- anOS << "RealList";
+ anOS << "\nRealList: ";
+ Standard_Character sguid[Standard_GUID_SIZE_ALLOC];
+ myID.ToCString(sguid);
+ anOS << sguid;
+ anOS << endl;
return anOS;
}