X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FVISU_I%2FVISU_Mesh_i.cc;h=6d8851026cffc5f8d9b7b9b16bb237ee8807cdaf;hb=a7e9d108adf9283e24d85357125a07022f409d3a;hp=27b69a654d6ad5ccac9a8c60d5a413c0214aa422;hpb=8d2ae75b958081482ee3428f6283ebb6bc24cc71;p=modules%2Fvisu.git diff --git a/src/VISU_I/VISU_Mesh_i.cc b/src/VISU_I/VISU_Mesh_i.cc index 27b69a65..6d885102 100644 --- a/src/VISU_I/VISU_Mesh_i.cc +++ b/src/VISU_I/VISU_Mesh_i.cc @@ -1,32 +1,35 @@ // VISU OBJECT : interactive object for VISU entities implementation // // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org // // // File : VISU_PrsObject_i.cxx // Author : Alexey PETROV // Module : VISU -#include "VISU_MeshPL.hxx" -#include "VISU_Result_i.hh" #include "VISU_Mesh_i.hh" + +#include "VISU_Result_i.hh" +#include "VISU_ViewManager_i.hh" + +#include "VISU_MeshPL.hxx" #include "VISU_MeshAct.h" using namespace VISU; @@ -49,8 +52,8 @@ const string VISU::Mesh_i::myComment = "MESH"; const char* VISU::Mesh_i::GetComment() const { return myComment.c_str();} VISU::Mesh_i:: -Mesh_i(Result_i* theResult) : - PrsObject_i(theResult->GetStudyDocument()), +Mesh_i(Result_i* theResult) : + PrsObject_i(theResult->GetStudyDocument()), Prs3d_i(theResult,false), myMeshPL(VISU_MeshPL::New()) { @@ -59,9 +62,9 @@ Mesh_i(Result_i* theResult) : VISU::Mesh_i:: -Mesh_i(Result_i* theResult, - SALOMEDS::SObject_ptr theSObject) : - PrsObject_i(theResult->GetStudyDocument()), +Mesh_i(Result_i* theResult, + SALOMEDS::SObject_ptr theSObject) : + PrsObject_i(theResult->GetStudyDocument()), Prs3d_i(theResult,theSObject), myMeshPL(VISU_MeshPL::New()) { @@ -69,18 +72,23 @@ Mesh_i(Result_i* theResult, } -void VISU::Mesh_i::RemoveFromStudy(){ +void VISU::Mesh_i::RemoveFromStudy() +{ + VISU::DeleteActors(this); VISU::RemoveFromStudy(mySObject); } -void VISU::Mesh_i::SameAs(const Mesh_i* theOrigin){ +void VISU::Mesh_i::SameAs (const Mesh_i* theOrigin) +{ return; // "SameAs" command for mesh is not valid in current architecture } -int VISU::Mesh_i::IsPossible(Result_i* theResult, const char* theMeshName, Entity theEntity, const char* theFamilyName){ +int VISU::Mesh_i::IsPossible (Result_i* theResult, const char* theMeshName, + Entity theEntity, const char* theFamilyName) +{ try{ MESSAGE("Mesh_i::IsPossible - theMeshName = '"<NewBuilder(); aStudyBuilder->NewCommand(); // There is a transaction - try{ - if(myResult->GetInput() == NULL) + try { + if (myResult->GetInput() == NULL) throw std::runtime_error("Mesh_i::Build - myResult->GetInput() == NULL !!!"); - if(!theRestoring){ + if (!theRestoring) { myPresentType = VISU::SHADED; myName = GenerateName().latin1(); myCellColor.R = 0.0; myCellColor.G = myCellColor.B = 1.0; myNodeColor.R = myNodeColor.G = 1.0; myNodeColor.B = 1.0; myLinkColor.R = myLinkColor.G = myLinkColor.B = 83/255.; } - if(int(myEntity) >= 0) - if(mySubMeshName == "") - myType = VISU::TENTITY; - else + //jfa IPAL9284:if (int(myEntity) >= 0) + if (myEntity >= 0) //jfa IPAL9284 + if (mySubMeshName == "") + myType = VISU::TENTITY; + else myType = VISU::TFAMILY; - else + else myType = VISU::TGROUP; if(MYDEBUG) MESSAGE("Mesh_i::Build - myType = "<GetInput()->GetMeshOnEntity(myMeshName,myEntity); + case VISU::TENTITY : + //jfa IPAL9284:anOutput = myResult->GetInput()->GetMeshOnEntity(myMeshName,myEntity); + anOutput = myResult->GetInput()->GetMeshOnEntity(myMeshName,(VISU::TEntity)myEntity);//jfa IPAL9284 aComment.sprintf("myComment=ENTITY;myType=%d;myMeshName=%s;myId=%d", VISU::TENTITY,myMeshName.c_str(),myEntity); break; - case VISU::TFAMILY : - anOutput = myResult->GetInput()->GetMeshOnEntity(myMeshName,myEntity,mySubMeshName); + case VISU::TFAMILY : + //jfa IPAL9284:anOutput = myResult->GetInput()->GetMeshOnEntity(myMeshName,myEntity,mySubMeshName); + anOutput = myResult->GetInput()->GetMeshOnEntity + (myMeshName,(VISU::TEntity)myEntity,mySubMeshName);//jfa IPAL9284 aComment.sprintf("myComment=FAMILY;myType=%d;myMeshName=%s;myEntityId=%d;myName=%s", VISU::TFAMILY,myMeshName.c_str(),myEntity,mySubMeshName.c_str()); break; - case VISU::TGROUP : + case VISU::TGROUP : anOutput = myResult->GetInput()->GetMeshOnGroup(myMeshName,mySubMeshName); aComment.sprintf("myComment=GROUP;myType=%d;myMeshName=%s;myName=%s", VISU::TGROUP,myMeshName.c_str(),mySubMeshName.c_str()); @@ -237,7 +259,7 @@ VISU::Storable* VISU::Mesh_i::Build(int theRestoring){ SALOMEDS::GenericAttribute_var anAttr = aStudyBuilder->FindOrCreateAttribute(mySObject,"AttributeIOR"); SALOMEDS::AttributeIOR_var anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr); CORBA::String_var aString = GetID(); - anIOR->SetValue(aString); + anIOR->SetValue(aString); } }catch(std::exception& exc){ INFOS("Follow exception was occured :\n"<CommitCommand(); return this; } -VISU_Actor* VISU::Mesh_i::CreateActor(const Handle(SALOME_InteractiveObject)& theIO) +VISU_Actor* VISU::Mesh_i::CreateActor(const Handle(SALOME_InteractiveObject)& theIO) { VISU_MeshAct* anActor = VISU_MeshAct::New(); try{ @@ -263,7 +285,7 @@ VISU_Actor* VISU::Mesh_i::CreateActor(const Handle(SALOME_InteractiveObject)& th } return anActor; } - + void VISU::Mesh_i::UpdateActor(VISU_Actor* theActor) { if(VISU_MeshAct* anActor = dynamic_cast(theActor)){