X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FStdMeshers_I%2FStdMeshers_QuadrangleParams_i.cxx;h=dff2f2199b6edbef4090974c392f6ee57d781af3;hp=7f17b00f6ba44f15daa0366a03315350e9eefa54;hb=6d32f944a0a115b6419184c50b57bf7c4eef5786;hpb=7ea81bbe6e068500dbaf7ff693dd05f33b974c53 diff --git a/src/StdMeshers_I/StdMeshers_QuadrangleParams_i.cxx b/src/StdMeshers_I/StdMeshers_QuadrangleParams_i.cxx index 7f17b00f6..dff2f2199 100644 --- a/src/StdMeshers_I/StdMeshers_QuadrangleParams_i.cxx +++ b/src/StdMeshers_I/StdMeshers_QuadrangleParams_i.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2019 CEA/DEN, EDF R&D, OPEN CASCADE // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -45,14 +45,11 @@ using namespace std; StdMeshers_QuadrangleParams_i::StdMeshers_QuadrangleParams_i (PortableServer::POA_ptr thePOA, - int theStudyId, ::SMESH_Gen* theGenImpl ) : SALOME::GenericObj_i( thePOA ), SMESH_Hypothesis_i( thePOA ) { - MESSAGE( "StdMeshers_QuadrangleParams_i::StdMeshers_QuadrangleParams_i" ); myBaseImpl = new ::StdMeshers_QuadrangleParams(theGenImpl->GetANewId(), - theStudyId, theGenImpl); } @@ -66,7 +63,6 @@ StdMeshers_QuadrangleParams_i::StdMeshers_QuadrangleParams_i StdMeshers_QuadrangleParams_i::~StdMeshers_QuadrangleParams_i() { - MESSAGE( "StdMeshers_QuadrangleParams_i::~StdMeshers_QuadrangleParams_i" ); } //============================================================================= @@ -79,7 +75,6 @@ StdMeshers_QuadrangleParams_i::~StdMeshers_QuadrangleParams_i() void StdMeshers_QuadrangleParams_i::SetTriaVertex(CORBA::Long vertID) { - MESSAGE( "StdMeshers_QuadrangleParams_i::SetTriaVertex" ); ASSERT( myBaseImpl ); try { this->GetImpl()->SetTriaVertex( vertID ); @@ -102,7 +97,6 @@ void StdMeshers_QuadrangleParams_i::SetTriaVertex(CORBA::Long vertID) CORBA::Long StdMeshers_QuadrangleParams_i::GetTriaVertex() { - MESSAGE( "StdMeshers_QuadrangleParams_i::GetTriaVertex" ); ASSERT( myBaseImpl ); return this->GetImpl()->GetTriaVertex(); } @@ -117,7 +111,6 @@ CORBA::Long StdMeshers_QuadrangleParams_i::GetTriaVertex() void StdMeshers_QuadrangleParams_i::SetObjectEntry( const char* entry ) { - MESSAGE( "StdMeshers_QuadrangleParams_i::SetObjectEntry" ); ASSERT( myBaseImpl ); try { @@ -141,7 +134,6 @@ void StdMeshers_QuadrangleParams_i::SetObjectEntry( const char* entry ) char* StdMeshers_QuadrangleParams_i::GetObjectEntry() { - MESSAGE( "StdMeshers_QuadrangleParams_i::SetObjectEntry" ); ASSERT( myBaseImpl ); const char* entry; try { @@ -162,7 +154,6 @@ char* StdMeshers_QuadrangleParams_i::GetObjectEntry() //============================================================================= void StdMeshers_QuadrangleParams_i::SetQuadType(StdMeshers::QuadType type) { - MESSAGE("StdMeshers_QuadrangleParams_i::SetQuadType"); ASSERT(myBaseImpl); if (int(type) >= int(StdMeshers::QUAD_NB_TYPES)) { @@ -204,7 +195,6 @@ void StdMeshers_QuadrangleParams_i::SetQuadType(StdMeshers::QuadType type) //============================================================================= StdMeshers::QuadType StdMeshers_QuadrangleParams_i::GetQuadType() { - MESSAGE("StdMeshers_QuadrangleParams_i::GetQuadType"); ASSERT(myBaseImpl); return StdMeshers::QuadType(int(this->GetImpl()->GetQuadType())); } @@ -313,7 +303,6 @@ SMESH::string_array* StdMeshers_QuadrangleParams_i::GetEnfVertices() ::StdMeshers_QuadrangleParams* StdMeshers_QuadrangleParams_i::GetImpl() { - MESSAGE( "StdMeshers_QuadrangleParams_i::GetImpl" ); return ( ::StdMeshers_QuadrangleParams* )myBaseImpl; } @@ -389,3 +378,54 @@ void StdMeshers_QuadrangleParams_i::LoadFrom( const char* theStream ) myBaseImpl->LoadFrom( is ); } + +//================================================================================ +/*! + * \brief Return geometry this hypothesis depends on. Return false if there is no geometry parameter + */ +//================================================================================ + +bool +StdMeshers_QuadrangleParams_i::getObjectsDependOn( std::vector< std::string > & entryArray, + std::vector< int > & subIDArray ) const +{ + const ::StdMeshers_QuadrangleParams* impl = + static_cast( myBaseImpl ); + + subIDArray.push_back( impl->GetTriaVertex() ); + + entryArray.push_back( impl->GetObjectEntry() ); + entryArray.insert( entryArray.end(), myShapeEntries.begin(), myShapeEntries.end() ); + + return true; +} + +//================================================================================ +/*! + * \brief Set new geometry instead of that returned by getObjectsDependOn() + */ +//================================================================================ + +bool +StdMeshers_QuadrangleParams_i::setObjectsDependOn( std::vector< std::string > & entryArray, + std::vector< int > & subIDArray ) +{ + if ( !subIDArray.empty() ) + GetImpl()->SetTriaVertex( subIDArray[0] ); + + GetImpl()->SetObjectEntry( entryArray[0].c_str() ); + + myShapeEntries.assign( ++entryArray.begin(), entryArray.end() ); + + std::vector< TopoDS_Shape > shapes; + std::vector< gp_Pnt > points; + this->GetImpl()->GetEnforcedNodes( shapes, points ); + + shapes.clear(); + for ( size_t i = 0; i < myShapeEntries.size(); ++i ) + shapes.push_back( StdMeshers_ObjRefUlils::EntryToShape( myShapeEntries[i] )); + + this->GetImpl()->SetEnforcedNodes( shapes, points ); + + return true; +}