mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-30 19:30:35 +05:00
NPAL14803 Colors in MED Save&Reload presistance
This commit is contained in:
parent
c1995ef892
commit
af9ba5c340
@ -382,7 +382,17 @@ void DriverMED_Family::Init (SMESHDS_GroupBase* theGroup)
|
|||||||
myGroupNames.insert(string(theGroup->GetStoreName()));
|
myGroupNames.insert(string(theGroup->GetStoreName()));
|
||||||
|
|
||||||
Quantity_Color aColor = theGroup->GetColor();
|
Quantity_Color aColor = theGroup->GetColor();
|
||||||
myGroupAttributVal = aColor.Hue();
|
double aRed = aColor.Red();
|
||||||
|
double aGreen = aColor.Green();
|
||||||
|
double aBlue = aColor.Blue();
|
||||||
|
int aR = aRed*255;
|
||||||
|
int aG = aGreen*255;
|
||||||
|
int aB = aBlue*255;
|
||||||
|
cout << "aRed = " << aR << endl;
|
||||||
|
cout << "aGreen = " << aG << endl;
|
||||||
|
cout << "aBlue = " << aB << endl;
|
||||||
|
myGroupAttributVal = (int)(aR*1000000 + aG*1000 + aB);
|
||||||
|
cout << "myGroupAttributVal = " << myGroupAttributVal << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
@ -113,10 +113,19 @@ DriverMED_R_SMESHDS_Mesh
|
|||||||
|
|
||||||
TInt aNbGrp = aFamilyInfo->GetNbGroup();
|
TInt aNbGrp = aFamilyInfo->GetNbGroup();
|
||||||
if(MYDEBUG) MESSAGE("belong to " << aNbGrp << " groups");
|
if(MYDEBUG) MESSAGE("belong to " << aNbGrp << " groups");
|
||||||
|
bool isAttrOk = false;
|
||||||
|
if(aFamilyInfo->GetNbAttr() == aNbGrp)
|
||||||
|
isAttrOk = true;
|
||||||
for (TInt iGr = 0; iGr < aNbGrp; iGr++) {
|
for (TInt iGr = 0; iGr < aNbGrp; iGr++) {
|
||||||
string aGroupName = aFamilyInfo->GetGroupName(iGr);
|
string aGroupName = aFamilyInfo->GetGroupName(iGr);
|
||||||
|
if(isAttrOk){
|
||||||
|
TInt anAttrVal = aFamilyInfo->GetAttrVal(iGr);
|
||||||
|
aFamily->SetGroupAttributVal(anAttrVal);
|
||||||
|
}
|
||||||
|
|
||||||
if(MYDEBUG) MESSAGE(aGroupName);
|
if(MYDEBUG) MESSAGE(aGroupName);
|
||||||
aFamily->AddGroupName(aGroupName);
|
aFamily->AddGroupName(aGroupName);
|
||||||
|
|
||||||
}
|
}
|
||||||
aFamily->SetId( aFamId );
|
aFamily->SetId( aFamId );
|
||||||
myFamilies[aFamId] = aFamily;
|
myFamilies[aFamId] = aFamily;
|
||||||
@ -793,6 +802,9 @@ void DriverMED_R_SMESHDS_Mesh::GetGroup(SMESHDS_Group* theGroup)
|
|||||||
{
|
{
|
||||||
element = *anElemsIter;
|
element = *anElemsIter;
|
||||||
theGroup->SMDSGroup().Add(element);
|
theGroup->SMDSGroup().Add(element);
|
||||||
|
int aGroupAttrVal = aFamily->GetGroupAttributVal();
|
||||||
|
if( aGroupAttrVal != 0)
|
||||||
|
theGroup->SetColorGroup(aGroupAttrVal);
|
||||||
}
|
}
|
||||||
if ( element )
|
if ( element )
|
||||||
theGroup->SetType( theGroup->SMDSGroup().GetType() );
|
theGroup->SetType( theGroup->SMDSGroup().GetType() );
|
||||||
|
@ -169,13 +169,22 @@ void SMESHDS_GroupBase::SetType(SMDSAbs_ElementType theType)
|
|||||||
|
|
||||||
void SMESHDS_GroupBase::SetColorGroup(int theColorGroup)
|
void SMESHDS_GroupBase::SetColorGroup(int theColorGroup)
|
||||||
{
|
{
|
||||||
if( theColorGroup < 0 || theColorGroup > 360 )
|
cout << "theColorGroup = " << theColorGroup << endl;
|
||||||
{
|
|
||||||
MESSAGE("SMESHDS_GroupBase::SetColorGroup : Value must be in range [0,360]");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Quantity_Color aColor( (double)theColorGroup, 1.0, 1.0, Quantity_TOC_HLS );
|
int aRed = ( theColorGroup/1000000 );
|
||||||
|
int aGreen = ( theColorGroup -aRed*1000000)/1000;
|
||||||
|
int aBlue = ( theColorGroup - aRed*1000000 - aGreen*1000 );
|
||||||
|
cout << "aRed = " << aRed << endl;
|
||||||
|
cout << "aGreen = " << aGreen << endl;
|
||||||
|
cout << "aBlue = " << aBlue << endl;
|
||||||
|
double aR = aRed/255.0;
|
||||||
|
double aG = aGreen/255.0;
|
||||||
|
double aB = aBlue/255.0;
|
||||||
|
cout << "aR = " << aR << endl;
|
||||||
|
cout << "aG = " << aG << endl;
|
||||||
|
cout << "aB = " << aB << endl;
|
||||||
|
|
||||||
|
Quantity_Color aColor( aR, aG, aB, Quantity_TOC_RGB );
|
||||||
SetColor( aColor );
|
SetColor( aColor );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -187,9 +196,17 @@ void SMESHDS_GroupBase::SetColorGroup(int theColorGroup)
|
|||||||
int SMESHDS_GroupBase::GetColorGroup() const
|
int SMESHDS_GroupBase::GetColorGroup() const
|
||||||
{
|
{
|
||||||
Quantity_Color aColor = GetColor();
|
Quantity_Color aColor = GetColor();
|
||||||
double aHue = aColor.Hue();
|
double aRed = aColor.Red();
|
||||||
if( aHue < 0 )
|
double aGreen = aColor.Green();
|
||||||
return 0;
|
double aBlue = aColor.Blue();
|
||||||
return (int)( aHue );
|
int aR = aRed*255;
|
||||||
|
int aG = aGreen*255;
|
||||||
|
int aB = aBlue*255;
|
||||||
|
cout << "aRed = " << aR << endl;
|
||||||
|
cout << "aGreen = " << aG << endl;
|
||||||
|
cout << "aBlue = " << aB << endl;
|
||||||
|
int aRet = (int)(aR*1000000 + aG*1000 + aB);
|
||||||
|
|
||||||
|
return aRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user