#include <TDataStd_AsciiString.hxx>
#include <TDF_Tool.hxx>
-using namespace std;
-
void Model_AttributeReference::setValue(ObjectPtr theObject)
{
// now allow to deselect in this attribute: extrusion from/to
if (myRef->Label().FindAttribute(TDataStd_AsciiString::GetID(), anEntry)) {
std::shared_ptr<Model_Document> aDR = std::dynamic_pointer_cast<Model_Document>(aRefDoc);
TDF_Label aRefLab;
- TDF_Tool::Label(aDR->objects()->featuresLabel().Data(), anEntry->Get().ToCString(), aRefLab);
+ TDF_Tool::Label(aDR->objects()->featuresLabel().Data(),
+ anEntry->Get().ToCString(), aRefLab);
if (!aRefLab.IsNull()) {
return aDR->objects()->object(aRefLab);
}
Model_AttributeReference::Model_AttributeReference(TDF_Label& theLabel)
{
- myIsInitialized = theLabel.FindAttribute(TDF_Reference::GetID(), myRef) == Standard_True;
+ myLab = theLabel;
+ reinit();
+}
+
+void Model_AttributeReference::reinit()
+{
+ myIsInitialized = myLab.FindAttribute(TDF_Reference::GetID(), myRef) == Standard_True;
if (!myIsInitialized) {
- myRef = TDF_Reference::Set(theLabel, theLabel); // not initialized references to itself
+ myRef = TDF_Reference::Set(myLab, myLab); // not initialized references to itself
} else {
if (owner()) {
std::shared_ptr<Model_Document> aDoc =