mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-01-30 00:50:32 +05:00
Fix previous wrong-tag commit
This commit is contained in:
parent
67d404962e
commit
36036343a0
@ -28,8 +28,6 @@
|
|||||||
#include "GeometryGUI.h"
|
#include "GeometryGUI.h"
|
||||||
#include "GEOM_Displayer.h"
|
#include "GEOM_Displayer.h"
|
||||||
|
|
||||||
#include "Material_Model.h"
|
|
||||||
|
|
||||||
#include <GEOM_Constants.h>
|
#include <GEOM_Constants.h>
|
||||||
|
|
||||||
#include <SalomeApp_Application.h>
|
#include <SalomeApp_Application.h>
|
||||||
@ -56,16 +54,11 @@
|
|||||||
#include <GEOMImpl_Types.hxx>
|
#include <GEOMImpl_Types.hxx>
|
||||||
|
|
||||||
#include <GEOM_AISShape.hxx>
|
#include <GEOM_AISShape.hxx>
|
||||||
#include <GEOM_VTKPropertyMaterial.hxx>
|
|
||||||
|
|
||||||
// OCCT Includes
|
// OCCT Includes
|
||||||
#include <AIS.hxx>
|
#include <AIS.hxx>
|
||||||
#include <AIS_InteractiveObject.hxx>
|
#include <AIS_InteractiveObject.hxx>
|
||||||
#include <AIS_ListOfInteractive.hxx>
|
#include <AIS_ListOfInteractive.hxx>
|
||||||
#include <AIS_GraphicTool.hxx>
|
|
||||||
#include <AIS_Drawer.hxx>
|
|
||||||
#include <Prs3d_ShadingAspect.hxx>
|
|
||||||
#include<Graphic3d_MaterialAspect.hxx>
|
|
||||||
|
|
||||||
// VTK Includes
|
// VTK Includes
|
||||||
#include <vtkActorCollection.h>
|
#include <vtkActorCollection.h>
|
||||||
@ -166,8 +159,6 @@ QVariant GEOMGUI_Selection::parameter( const int idx, const QString& p ) const
|
|||||||
v = compoundOfVertices( idx );
|
v = compoundOfVertices( idx );
|
||||||
else if ( p == "imported" )
|
else if ( p == "imported" )
|
||||||
v = isImported( idx );
|
v = isImported( idx );
|
||||||
else if ( p == "isPhysicalMaterial" )
|
|
||||||
v = isPhysicalMaterial(idx);
|
|
||||||
else
|
else
|
||||||
v = LightApp_Selection::parameter( idx, p );
|
v = LightApp_Selection::parameter( idx, p );
|
||||||
|
|
||||||
@ -560,57 +551,3 @@ bool GEOMGUI_Selection::topLevel( const int index ) const {
|
|||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GEOMGUI_Selection::isPhysicalMaterial( const int idx ) const{
|
|
||||||
bool res = false;
|
|
||||||
|
|
||||||
#ifdef USE_VISUAL_PROP_MAP
|
|
||||||
bool found = false;
|
|
||||||
QVariant v = visibleProperty( entry( idx ), MATERIAL_PROP );
|
|
||||||
if ( v.canConvert<QString>() ) {
|
|
||||||
Material_Model* aModel = Material_Model::getMaterialModel( v.toString().split(DIGIT_SEPARATOR) );
|
|
||||||
res = aModel->isPhysical();
|
|
||||||
found = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( !found ) {
|
|
||||||
#endif
|
|
||||||
SALOME_View* view = GEOM_Displayer::GetActiveView();
|
|
||||||
QString viewType = activeViewType();
|
|
||||||
if ( view ) {
|
|
||||||
SALOME_Prs* prs = view->CreatePrs( entry( idx ).toLatin1().constData() );
|
|
||||||
if ( prs ) {
|
|
||||||
if ( viewType == OCCViewer_Viewer::Type() ) { // assuming OCC
|
|
||||||
SOCC_Prs* occPrs = (SOCC_Prs*) prs;
|
|
||||||
AIS_ListOfInteractive lst;
|
|
||||||
occPrs->GetObjects( lst );
|
|
||||||
if ( lst.Extent() ) {
|
|
||||||
Handle(AIS_InteractiveObject) io = lst.First();
|
|
||||||
if ( !io.IsNull() ) {
|
|
||||||
Handle(GEOM_AISShape) aSh = Handle(GEOM_AISShape)::DownCast(io);
|
|
||||||
if ( !aSh.IsNull() )
|
|
||||||
res =(bool) aSh->Attributes()->ShadingAspect()->
|
|
||||||
Material(Aspect_TypeOfFacingModel::Aspect_TOFM_BOTH_SIDE).MaterialType( Graphic3d_MATERIAL_PHYSIC );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if ( viewType == SVTK_Viewer::Type() ) { // assuming VTK
|
|
||||||
SVTK_Prs* vtkPrs = dynamic_cast<SVTK_Prs*>( prs );
|
|
||||||
vtkActorCollection* lst = vtkPrs ? vtkPrs->GetObjects() : 0;
|
|
||||||
if ( lst ) {
|
|
||||||
lst->InitTraversal();
|
|
||||||
vtkActor* actor = lst->GetNextActor();
|
|
||||||
if ( actor ) {
|
|
||||||
GEOM_Actor* aGeomGActor = GEOM_Actor::SafeDownCast( actor );
|
|
||||||
if ( aGeomGActor ) {
|
|
||||||
GEOM_VTKPropertyMaterial* mat = GEOM_VTKPropertyMaterial::SafeDownCast(aGeomGActor->GetProperty());
|
|
||||||
res = mat->GetPhysical();
|
|
||||||
} // if ( salome actor )
|
|
||||||
} // if ( actor )
|
|
||||||
} // if ( lst == vtkPrs->GetObjects() )
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
@ -70,7 +70,6 @@ private:
|
|||||||
bool hasShownChildren( const int ) const;
|
bool hasShownChildren( const int ) const;
|
||||||
bool compoundOfVertices( const int ) const;
|
bool compoundOfVertices( const int ) const;
|
||||||
bool topLevel( const int ) const;
|
bool topLevel( const int ) const;
|
||||||
bool isPhysicalMaterial( const int ) const;
|
|
||||||
|
|
||||||
bool isComponent( const int ) const;
|
bool isComponent( const int ) const;
|
||||||
GEOM::GEOM_Object_ptr getObject( const int ) const;
|
GEOM::GEOM_Object_ptr getObject( const int ) const;
|
||||||
|
@ -41,7 +41,6 @@
|
|||||||
#include <GEOM_AISVector.hxx>
|
#include <GEOM_AISVector.hxx>
|
||||||
#include <GEOM_AISTrihedron.hxx>
|
#include <GEOM_AISTrihedron.hxx>
|
||||||
#include <GEOM_VTKTrihedron.hxx>
|
#include <GEOM_VTKTrihedron.hxx>
|
||||||
#include <GEOM_VTKPropertyMaterial.hxx>
|
|
||||||
|
|
||||||
#include <Material_Model.h>
|
#include <Material_Model.h>
|
||||||
|
|
||||||
@ -961,30 +960,62 @@ void GEOM_Displayer::Update( SALOME_OCCPrs* prs )
|
|||||||
|
|
||||||
// get material properties, set material
|
// get material properties, set material
|
||||||
Material_Model* aModelF = 0;
|
Material_Model* aModelF = 0;
|
||||||
|
Material_Model* aModelB = 0;
|
||||||
if ( useStudy ) {
|
if ( useStudy ) {
|
||||||
// Get material property from study and construct material model
|
// Get front material property from study and construct front material model
|
||||||
QString aMaterialF = aPropMap.value(MATERIAL_PROP).toString();
|
QString aMaterialF = aPropMap.value(FRONT_MATERIAL_PROP).toString();
|
||||||
QStringList aProps = aMaterialF.split(DIGIT_SEPARATOR);
|
QStringList aProps = aMaterialF.split(DIGIT_SEPARATOR);
|
||||||
aModelF = Material_Model::getMaterialModel( aProps );
|
aModelF = Material_Model::getMaterialModel( aProps );
|
||||||
|
|
||||||
|
// Get back material property from study and construct back material model
|
||||||
|
QString aMaterialB = aPropMap.value(BACK_MATERIAL_PROP).toString();
|
||||||
|
if ( !aMaterialB.isEmpty() ) {
|
||||||
|
QStringList aPropsB = aMaterialB.split(DIGIT_SEPARATOR);
|
||||||
|
aModelB = Material_Model::getMaterialModel( aPropsB );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
aModelB = aModelF;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// Get material property from study and construct material model
|
// Get front material property from study and construct front material model
|
||||||
aModelF = new Material_Model();
|
aModelF = new Material_Model();
|
||||||
aModelF->fromResources( aResMgr, "Geometry" );
|
aModelF->fromResources( aResMgr, "Geometry", true );
|
||||||
|
|
||||||
|
// Get back material property from study and construct back material model
|
||||||
|
aModelB = new Material_Model();
|
||||||
|
aModelB->fromResources( aResMgr, "Geometry", false );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set material property
|
// Set front material property
|
||||||
QString aMaterialPropF = aModelF->getMaterialProperty();
|
QString aMaterialPropF = aModelF->getMaterialProperty();
|
||||||
aStudy->setObjectProperty( aMgrId, anIO->getEntry(), MATERIAL_PROP, aMaterialPropF );
|
aStudy->setObjectProperty( aMgrId, anIO->getEntry(), FRONT_MATERIAL_PROP, aMaterialPropF );
|
||||||
|
|
||||||
// Get material properties from the model
|
// Set back material property
|
||||||
|
QString aMaterialPropB = aModelB->getMaterialProperty();
|
||||||
|
aStudy->setObjectProperty( aMgrId, anIO->getEntry(), BACK_MATERIAL_PROP, aMaterialPropB );
|
||||||
|
|
||||||
|
// Get front material properties from the model
|
||||||
Graphic3d_MaterialAspect aMatF = aModelF->getMaterialOCCAspect();
|
Graphic3d_MaterialAspect aMatF = aModelF->getMaterialOCCAspect();
|
||||||
|
|
||||||
// Set material for the selected shape
|
// Get back material properties from the model
|
||||||
|
Graphic3d_MaterialAspect aMatB = aModelB->getMaterialOCCAspect();
|
||||||
|
|
||||||
|
// Set front material for the selected shape
|
||||||
|
AISShape->SetCurrentFacingModel(Aspect_TOFM_FRONT_SIDE);
|
||||||
AISShape->SetMaterial(aMatF);
|
AISShape->SetMaterial(aMatF);
|
||||||
|
|
||||||
|
// Set back material for the selected shape
|
||||||
|
AISShape->SetCurrentFacingModel(Aspect_TOFM_BACK_SIDE);
|
||||||
|
AISShape->SetMaterial(aMatB);
|
||||||
|
|
||||||
|
// Return to the default facing mode
|
||||||
|
AISShape->SetCurrentFacingModel(Aspect_TOFM_BOTH_SIDE);
|
||||||
|
|
||||||
// Release memory
|
// Release memory
|
||||||
if ( aModelF )
|
if ( aModelF )
|
||||||
delete aModelF;
|
delete aModelF;
|
||||||
|
if ( aModelB )
|
||||||
|
delete aModelB;
|
||||||
|
|
||||||
if(HasWidth())
|
if(HasWidth())
|
||||||
aStudy->setObjectProperty( aMgrId, anIO->getEntry(), EDGE_WIDTH_PROP, GetWidth() );
|
aStudy->setObjectProperty( aMgrId, anIO->getEntry(), EDGE_WIDTH_PROP, GetWidth() );
|
||||||
@ -1173,20 +1204,51 @@ void GEOM_Displayer::Update( SALOME_VTKPrs* prs )
|
|||||||
aGeomGActor->setDisplayMode(aDispModeId);
|
aGeomGActor->setDisplayMode(aDispModeId);
|
||||||
aGeomGActor->SetDeflection(aPropMap.value(DEFLECTION_COEFF_PROP).toDouble());
|
aGeomGActor->SetDeflection(aPropMap.value(DEFLECTION_COEFF_PROP).toDouble());
|
||||||
|
|
||||||
// Get material property of the object stored in the study
|
// Get front material property of the object stored in the study
|
||||||
QString aMaterialF = aPropMap.value(MATERIAL_PROP).toString();
|
QString aMaterialF = aPropMap.value(FRONT_MATERIAL_PROP).toString();
|
||||||
QStringList aPropsF = aMaterialF.split(DIGIT_SEPARATOR);
|
QStringList aPropsF = aMaterialF.split(DIGIT_SEPARATOR);
|
||||||
// Create material model
|
// Create front material model
|
||||||
Material_Model* aModelF = Material_Model::getMaterialModel( aPropsF );
|
Material_Model* aModelF = Material_Model::getMaterialModel( aPropsF );
|
||||||
// Set material properties for the object
|
// Set front material properties for the object
|
||||||
QString aMaterialPropF = aModelF->getMaterialProperty();
|
QString aMaterialPropF = aModelF->getMaterialProperty();
|
||||||
aStudy->setObjectProperty( aMgrId, anEntry, MATERIAL_PROP, aMaterialPropF );
|
aStudy->setObjectProperty( aMgrId, anEntry, FRONT_MATERIAL_PROP, aMaterialPropF );
|
||||||
// Get material properties from the model
|
// Get material properties from the front model
|
||||||
GEOM_VTKPropertyMaterial* aMatPropF = aModelF->getMaterialVTKProperty();
|
vtkProperty* aMatPropF = aModelF->getMaterialVTKProperty();
|
||||||
|
|
||||||
|
// Get back material property of the object stored in the study
|
||||||
|
QString aMaterialB = aPropMap.value(BACK_MATERIAL_PROP).toString();
|
||||||
|
if ( !aMaterialB.isEmpty() ) {
|
||||||
|
QStringList aPropsB = aMaterialB.split(DIGIT_SEPARATOR);
|
||||||
|
// Create back material model
|
||||||
|
Material_Model* aModelB = Material_Model::getMaterialModel( aPropsB );
|
||||||
|
// Set back material properties for the object
|
||||||
|
QString aMaterialPropB = aModelB->getMaterialProperty();
|
||||||
|
aStudy->setObjectProperty( aMgrId, anEntry, BACK_MATERIAL_PROP, aMaterialPropB );
|
||||||
|
// Get material properties from the back model
|
||||||
|
vtkProperty* aMatPropB = aModelB->getMaterialVTKProperty();
|
||||||
|
|
||||||
|
// Set front and back materials for the selected shape
|
||||||
|
std::vector<vtkProperty*> aProps;
|
||||||
|
aProps.push_back(aMatPropF);
|
||||||
|
aProps.push_back(aMatPropB);
|
||||||
|
aGeomGActor->SetMaterial(aProps);
|
||||||
|
|
||||||
|
// Release memory
|
||||||
|
delete aModelB;
|
||||||
|
|
||||||
|
if(HasWidth())
|
||||||
|
aStudy->setObjectProperty( aMgrId, anEntry, EDGE_WIDTH_PROP, GetWidth() );
|
||||||
|
|
||||||
|
if(HasIsosWidth())
|
||||||
|
aStudy->setObjectProperty( aMgrId, anEntry, ISOS_WIDTH_PROP, GetIsosWidth() );
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
// Set the same front and back materials for the selected shape
|
// Set the same front and back materials for the selected shape
|
||||||
std::vector<vtkProperty*> aProps;
|
std::vector<vtkProperty*> aProps;
|
||||||
aProps.push_back( (vtkProperty*) aMatPropF );
|
aProps.push_back(aMatPropF);
|
||||||
aGeomGActor->SetMaterial(aProps);
|
aGeomGActor->SetMaterial(aProps);
|
||||||
|
}
|
||||||
|
|
||||||
// Release memory
|
// Release memory
|
||||||
delete aModelF;
|
delete aModelF;
|
||||||
@ -1221,26 +1283,37 @@ void GEOM_Displayer::Update( SALOME_VTKPrs* prs )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( !aMatPropF->GetPhysical() )
|
|
||||||
aGeomGActor->SetColor(aColor[0],aColor[1],aColor[2]);
|
aGeomGActor->SetColor(aColor[0],aColor[1],aColor[2]);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
SUIT_ResourceMgr* aResMgr = SUIT_Session::session()->resourceMgr();
|
SUIT_ResourceMgr* aResMgr = SUIT_Session::session()->resourceMgr();
|
||||||
if ( aResMgr ) {
|
if ( aResMgr ) {
|
||||||
// Create material model
|
// Create front material model
|
||||||
Material_Model aModelF;
|
Material_Model aModelF;
|
||||||
// Get material name from resources
|
// Get front material name from resources
|
||||||
aModelF.fromResources( aResMgr, "Geometry" );
|
aModelF.fromResources( aResMgr, "Geometry", true );
|
||||||
// Set material properties for the object
|
// Set front material properties for the object
|
||||||
QString aMaterialPropF = aModelF.getMaterialProperty();
|
QString aMaterialPropF = aModelF.getMaterialProperty();
|
||||||
aStudy->setObjectProperty( aMgrId, anEntry, MATERIAL_PROP, aMaterialPropF );
|
aStudy->setObjectProperty( aMgrId, anEntry, FRONT_MATERIAL_PROP, aMaterialPropF );
|
||||||
// Get material properties from the model
|
// Get material properties from the front model
|
||||||
GEOM_VTKPropertyMaterial* aMatPropF = aModelF.getMaterialVTKProperty();
|
vtkProperty* aMatPropF = aModelF.getMaterialVTKProperty();
|
||||||
|
|
||||||
|
// Create back material model
|
||||||
|
Material_Model aModelB;
|
||||||
|
// Get back material name from resources
|
||||||
|
aModelB.fromResources( aResMgr, "Geometry", false );
|
||||||
|
// Set back material properties for the object
|
||||||
|
QString aMaterialPropB = aModelB.getMaterialProperty();
|
||||||
|
aStudy->setObjectProperty( aMgrId, anEntry, BACK_MATERIAL_PROP, aMaterialPropB );
|
||||||
|
// Get material properties from the back model
|
||||||
|
vtkProperty* aMatPropB = aModelB.getMaterialVTKProperty();
|
||||||
|
|
||||||
// Set material for the selected shape
|
// Set material for the selected shape
|
||||||
std::vector<vtkProperty*> aProps;
|
std::vector<vtkProperty*> aProps;
|
||||||
aProps.push_back( (vtkProperty*) aMatPropF );
|
aProps.push_back(aMatPropF);
|
||||||
aGeomGActor->SetMaterial(aProps); }
|
aProps.push_back(aMatPropB);
|
||||||
|
aGeomGActor->SetMaterial(aProps);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1936,16 +2009,23 @@ PropMap GEOM_Displayer::getDefaultPropertyMap(const QString& viewer_type) {
|
|||||||
aDefaultMap.insert( DEFLECTION_COEFF_PROP , aDC);
|
aDefaultMap.insert( DEFLECTION_COEFF_PROP , aDC);
|
||||||
|
|
||||||
//8. Material
|
//8. Material
|
||||||
|
// Front material
|
||||||
Material_Model aModelF;
|
Material_Model aModelF;
|
||||||
aModelF.fromResources( aResMgr, "Geometry" );
|
aModelF.fromResources( aResMgr, "Geometry", true );
|
||||||
QString aMaterialF = aModelF.getMaterialProperty();
|
QString aMaterialF = aModelF.getMaterialProperty();
|
||||||
aDefaultMap.insert( MATERIAL_PROP , aMaterialF );
|
aDefaultMap.insert( FRONT_MATERIAL_PROP , aMaterialF );
|
||||||
|
|
||||||
//9. Width of the edges
|
//9. Back material
|
||||||
|
Material_Model aModelB;
|
||||||
|
aModelB.fromResources( aResMgr, "Geometry", false );
|
||||||
|
QString aMaterialB = aModelB.getMaterialProperty();
|
||||||
|
aDefaultMap.insert( BACK_MATERIAL_PROP , aMaterialB );
|
||||||
|
|
||||||
|
//10. Width of the edges
|
||||||
aDefaultMap.insert( EDGE_WIDTH_PROP , aResMgr->integerValue("Geometry", "edge_width", 1));
|
aDefaultMap.insert( EDGE_WIDTH_PROP , aResMgr->integerValue("Geometry", "edge_width", 1));
|
||||||
|
|
||||||
|
|
||||||
//10. Width of iso-lines
|
//11. Width of iso-lines
|
||||||
aDefaultMap.insert( ISOS_WIDTH_PROP , aResMgr->integerValue("Geometry", "isolines_width", 1));
|
aDefaultMap.insert( ISOS_WIDTH_PROP , aResMgr->integerValue("Geometry", "isolines_width", 1));
|
||||||
|
|
||||||
if(viewer_type == SOCC_Viewer::Type()) {
|
if(viewer_type == SOCC_Viewer::Type()) {
|
||||||
@ -1982,8 +2062,12 @@ bool GEOM_Displayer::MergePropertyMaps(PropMap& theOrigin, PropMap& theDefault)
|
|||||||
theOrigin.insert(DEFLECTION_COEFF_PROP, theDefault.value(DEFLECTION_COEFF_PROP));
|
theOrigin.insert(DEFLECTION_COEFF_PROP, theDefault.value(DEFLECTION_COEFF_PROP));
|
||||||
nbInserted++;
|
nbInserted++;
|
||||||
}
|
}
|
||||||
if(!theOrigin.contains(MATERIAL_PROP)) {
|
if(!theOrigin.contains(FRONT_MATERIAL_PROP)) {
|
||||||
theOrigin.insert(MATERIAL_PROP, theDefault.value(MATERIAL_PROP));
|
theOrigin.insert(FRONT_MATERIAL_PROP, theDefault.value(FRONT_MATERIAL_PROP));
|
||||||
|
nbInserted++;
|
||||||
|
}
|
||||||
|
if(!theOrigin.contains(BACK_MATERIAL_PROP)) {
|
||||||
|
theOrigin.insert(BACK_MATERIAL_PROP, theDefault.value(BACK_MATERIAL_PROP));
|
||||||
nbInserted++;
|
nbInserted++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1997,11 +2081,6 @@ bool GEOM_Displayer::MergePropertyMaps(PropMap& theOrigin, PropMap& theDefault)
|
|||||||
nbInserted++;
|
nbInserted++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!theOrigin.contains(COLOR_PROP)) {
|
|
||||||
theOrigin.insert(COLOR_PROP, theDefault.value(COLOR_PROP));
|
|
||||||
nbInserted++;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (nbInserted > 0);
|
return (nbInserted > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3015,8 +3015,12 @@ Please, select face, shell or solid and try again</translation>
|
|||||||
<translation>Default wireframe color</translation>
|
<translation>Default wireframe color</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>PREF_MATERIAL</source>
|
<source>PREF_FRONT_MATERIAL</source>
|
||||||
<translation>Default material</translation>
|
<translation>Default front material</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>PREF_BACK_MATERIAL</source>
|
||||||
|
<translation>Default back material</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>PREF_EDGE_WIDTH</source>
|
<source>PREF_EDGE_WIDTH</source>
|
||||||
@ -5270,10 +5274,6 @@ Would you like to continue?</translation>
|
|||||||
<source>SHININESS</source>
|
<source>SHININESS</source>
|
||||||
<translation>Shininess:</translation>
|
<translation>Shininess:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>PHYSICAL</source>
|
|
||||||
<translation>Physical:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>CUSTOM_MATERIAL</source>
|
<source>CUSTOM_MATERIAL</source>
|
||||||
<translation>Custom material</translation>
|
<translation>Custom material</translation>
|
||||||
|
@ -591,7 +591,10 @@ void GeometryGUI::OnGUIEvent( int id )
|
|||||||
if ( pref ) {
|
if ( pref ) {
|
||||||
Material_ResourceMgr aMatResMgr;
|
Material_ResourceMgr aMatResMgr;
|
||||||
QStringList aPerfMatNames = aMatResMgr.getPreferenceMaterialsNames();
|
QStringList aPerfMatNames = aMatResMgr.getPreferenceMaterialsNames();
|
||||||
setPreferenceProperty( pref->rootItem()->findItem( tr( "PREF_MATERIAL" ), true )->id(),
|
setPreferenceProperty( pref->rootItem()->findItem( tr( "PREF_FRONT_MATERIAL" ), true )->id(),
|
||||||
|
"strings",
|
||||||
|
aPerfMatNames );
|
||||||
|
setPreferenceProperty( pref->rootItem()->findItem( tr( "PREF_BACK_MATERIAL" ), true )->id(),
|
||||||
"strings",
|
"strings",
|
||||||
aPerfMatNames );
|
aPerfMatNames );
|
||||||
}
|
}
|
||||||
@ -1247,7 +1250,7 @@ void GeometryGUI::initialize( CAM_Application* app )
|
|||||||
mgr->setRule( action( GEOMOp::OpVectors ), clientOCCorVTK + " and isVectorsMode", QtxPopupMgr::ToggleRule );
|
mgr->setRule( action( GEOMOp::OpVectors ), clientOCCorVTK + " and isVectorsMode", QtxPopupMgr::ToggleRule );
|
||||||
mgr->insert( separator(), -1, -1 ); // -----------
|
mgr->insert( separator(), -1, -1 ); // -----------
|
||||||
mgr->insert( action( GEOMOp::OpColor ), -1, -1 ); // color
|
mgr->insert( action( GEOMOp::OpColor ), -1, -1 ); // color
|
||||||
mgr->setRule( action( GEOMOp::OpColor ), clientOCCorVTKorOB_AndSomeVisible + " and ($component={'GEOM'})" + "and isPhysicalMaterial=false", QtxPopupMgr::VisibleRule );
|
mgr->setRule( action( GEOMOp::OpColor ), clientOCCorVTKorOB_AndSomeVisible + " and ($component={'GEOM'})", QtxPopupMgr::VisibleRule );
|
||||||
mgr->insert( action( GEOMOp::OpTransparency ), -1, -1 ); // transparency
|
mgr->insert( action( GEOMOp::OpTransparency ), -1, -1 ); // transparency
|
||||||
mgr->setRule( action( GEOMOp::OpTransparency ), clientOCCorVTK_AndSomeVisible, QtxPopupMgr::VisibleRule );
|
mgr->setRule( action( GEOMOp::OpTransparency ), clientOCCorVTK_AndSomeVisible, QtxPopupMgr::VisibleRule );
|
||||||
mgr->insert( action( GEOMOp::OpIsos ), -1, -1 ); // isos
|
mgr->insert( action( GEOMOp::OpIsos ), -1, -1 ); // isos
|
||||||
@ -1716,9 +1719,13 @@ void GeometryGUI::createPreferences()
|
|||||||
int defl = addPreference( tr( "PREF_DEFLECTION" ), genGroup,
|
int defl = addPreference( tr( "PREF_DEFLECTION" ), genGroup,
|
||||||
LightApp_Preferences::DblSpin, "Geometry", "deflection_coeff" );
|
LightApp_Preferences::DblSpin, "Geometry", "deflection_coeff" );
|
||||||
|
|
||||||
int material = addPreference( tr( "PREF_MATERIAL" ), genGroup,
|
int front_material = addPreference( tr( "PREF_FRONT_MATERIAL" ), genGroup,
|
||||||
LightApp_Preferences::Selector,
|
LightApp_Preferences::Selector,
|
||||||
"Geometry", "material" );
|
"Geometry", "front_material" );
|
||||||
|
|
||||||
|
int back_material = addPreference( tr( "PREF_BACK_MATERIAL" ), genGroup,
|
||||||
|
LightApp_Preferences::Selector,
|
||||||
|
"Geometry", "back_material" );
|
||||||
|
|
||||||
const int nb = 4;
|
const int nb = 4;
|
||||||
int wd[nb];
|
int wd[nb];
|
||||||
@ -1809,7 +1816,8 @@ void GeometryGUI::createPreferences()
|
|||||||
// Set property for default material
|
// Set property for default material
|
||||||
Material_ResourceMgr aMatResMgr;
|
Material_ResourceMgr aMatResMgr;
|
||||||
QStringList aPrefMatNames = aMatResMgr.getPreferenceMaterialsNames();
|
QStringList aPrefMatNames = aMatResMgr.getPreferenceMaterialsNames();
|
||||||
setPreferenceProperty( material, "strings", aPrefMatNames );
|
setPreferenceProperty( front_material, "strings", aPrefMatNames );
|
||||||
|
setPreferenceProperty( back_material, "strings", aPrefMatNames );
|
||||||
|
|
||||||
// Set property vertex marker type
|
// Set property vertex marker type
|
||||||
QList<QVariant> aMarkerTypeIndicesList;
|
QList<QVariant> aMarkerTypeIndicesList;
|
||||||
@ -2006,9 +2014,15 @@ void GeometryGUI::storeVisualParameters (int savePoint)
|
|||||||
ip->setParameter(entry, param, aProps.value(MARKER_TYPE_PROP).toString().toLatin1().data());
|
ip->setParameter(entry, param, aProps.value(MARKER_TYPE_PROP).toString().toLatin1().data());
|
||||||
}
|
}
|
||||||
|
|
||||||
if(aProps.contains(MATERIAL_PROP)) {
|
if(aProps.contains(FRONT_MATERIAL_PROP)) {
|
||||||
param = occParam + MATERIAL_PROP;
|
param = occParam + FRONT_MATERIAL_PROP;
|
||||||
ip->setParameter(entry, param, aProps.value(MATERIAL_PROP).toString().toLatin1().data());
|
ip->setParameter(entry, param, aProps.value(FRONT_MATERIAL_PROP).toString().toLatin1().data());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(aProps.contains(BACK_MATERIAL_PROP)) {
|
||||||
|
param = occParam + BACK_MATERIAL_PROP;
|
||||||
|
ip->setParameter(entry, param, aProps.value(BACK_MATERIAL_PROP).toString().toLatin1().data());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(aProps.contains( EDGE_WIDTH_PROP )) {
|
if(aProps.contains( EDGE_WIDTH_PROP )) {
|
||||||
@ -2130,8 +2144,10 @@ void GeometryGUI::restoreVisualParameters (int savePoint)
|
|||||||
aListOfMap[viewIndex].insert( DEFLECTION_COEFF_PROP, val.toDouble());
|
aListOfMap[viewIndex].insert( DEFLECTION_COEFF_PROP, val.toDouble());
|
||||||
} else if(paramNameStr == MARKER_TYPE_PROP) {
|
} else if(paramNameStr == MARKER_TYPE_PROP) {
|
||||||
aListOfMap[viewIndex].insert( MARKER_TYPE_PROP, val);
|
aListOfMap[viewIndex].insert( MARKER_TYPE_PROP, val);
|
||||||
} else if(paramNameStr == MATERIAL_PROP) {
|
} else if(paramNameStr == FRONT_MATERIAL_PROP) {
|
||||||
aListOfMap[viewIndex].insert( MATERIAL_PROP, val);
|
aListOfMap[viewIndex].insert( FRONT_MATERIAL_PROP, val);
|
||||||
|
} else if(paramNameStr == BACK_MATERIAL_PROP) {
|
||||||
|
aListOfMap[viewIndex].insert( BACK_MATERIAL_PROP, val);
|
||||||
} else if(paramNameStr == EDGE_WIDTH_PROP) {
|
} else if(paramNameStr == EDGE_WIDTH_PROP) {
|
||||||
aListOfMap[viewIndex].insert( EDGE_WIDTH_PROP , val);
|
aListOfMap[viewIndex].insert( EDGE_WIDTH_PROP , val);
|
||||||
} else if(paramNameStr == ISOS_WIDTH_PROP) {
|
} else if(paramNameStr == ISOS_WIDTH_PROP) {
|
||||||
|
Loading…
Reference in New Issue
Block a user