-void HYDROData_Object::SetViewId2VisualStateMap( const ViewId2VisualStateMap& theMap )
-{
- TDF_Label aViewIdLab = myLab.FindChild( DataTag_ViewId );
- TDF_Label aVisibilityLab = myLab.FindChild( DataTag_Visibility );
- TDF_Label aTransparencyLab = myLab.FindChild( DataTag_Transparency );
- TDF_Label aZValueLab = myLab.FindChild( DataTag_ZValue );
-
- aViewIdLab.ForgetAllAttributes();
- aVisibilityLab.ForgetAllAttributes();
- aTransparencyLab.ForgetAllAttributes();
- aZValueLab.ForgetAllAttributes();
-
- int aSize = theMap.size();
-
- Handle(TDataStd_IntegerArray) aViewIdArray =
- TDataStd_IntegerArray::Set( aViewIdLab, 0, aSize-1 );
- Handle(TDataStd_BooleanArray) aVisibilityArray =
- TDataStd_BooleanArray::Set( aVisibilityLab, 0, aSize-1 );
- Handle(TDataStd_RealArray) aTransparencyArray =
- TDataStd_RealArray::Set( aTransparencyLab, 0, aSize-1 );
- Handle(TDataStd_RealArray) aZValueArray =
- TDataStd_RealArray::Set( aZValueLab, 0, aSize-1 );
-
- int anIndex = 0;
- ViewId2VisualStateMapIterator anIter( theMap );
- while( anIter.hasNext() )
- {
- int aViewId = anIter.next().key();
- const VisualState& aVisualState = anIter.value();
- aViewIdArray->SetValue( anIndex, aViewId );
- aVisibilityArray->SetValue( anIndex, aVisualState.Visibility );
- aTransparencyArray->SetValue( anIndex, aVisualState.Transparency );
- aZValueArray->SetValue( anIndex, aVisualState.ZValue );
- anIndex++;
- }
-}