@@ -4555,138 +4555,22 @@ int GeomManager::getNbVolumes() const
45554555/* ----------------------------------------------------------------------------*/
45564556Volume* GeomManager::getVolume (const std::string& name, const bool exceptionIfNotFound) const
45574557{
4558- Volume* vol = 0 ;
4559-
4560- std::string new_name;
4561- if (getContext ().getNameManager ().isShiftingIdActivated ()){
4562- if (Volume::isA (name))
4563- new_name = getContext ().getNameManager ().getTypeDedicatedNameManager (Utils::Entity::GeomVolume)->renameWithShiftingId (name);
4564- else
4565- return vol;
4566- }
4567- else
4568- new_name = name;
4569-
4570- for (std::vector<Volume*>::const_iterator iter = m_volumes.begin ();
4571- iter != m_volumes.end (); ++iter)
4572- if (new_name == (*iter)->getName ())
4573- vol = (*iter);
4574-
4575- if (exceptionIfNotFound && vol == 0 ){
4576- TkUtil::UTF8String message (TkUtil::Charset::UTF_8);
4577- message <<" getVolume impossible, entité \" " <<new_name<<" \" n'a pas été trouvée dans le GeomManager" ;
4578- throw TkUtil::Exception (message);
4579- }
4580-
4581- if (vol && vol->isDestroyed ()){
4582- TkUtil::UTF8String message (TkUtil::Charset::UTF_8);
4583- message <<" getVolume impossible, entité \" " <<new_name<<" \" est détruite" ;
4584- throw Utils::IsDestroyedException (message);
4585- }
4586-
4587- return vol;
4558+ return getContext ().getNameManager ().findByName (name, m_volumes, exceptionIfNotFound);
45884559}
45894560/* ----------------------------------------------------------------------------*/
45904561Surface* GeomManager::getSurface (const std::string& name, const bool exceptionIfNotFound) const
45914562{
4592- Surface* surf = 0 ;
4593-
4594- std::string new_name;
4595- if (getContext ().getNameManager ().isShiftingIdActivated ()){
4596- if (Surface::isA (name))
4597- new_name = getContext ().getNameManager ().getTypeDedicatedNameManager (Utils::Entity::GeomSurface)->renameWithShiftingId (name);
4598- else
4599- return surf;
4600- }
4601- else
4602- new_name = name;
4603-
4604- for (std::vector<Surface*>::const_iterator iter = m_surfaces.begin ();
4605- iter != m_surfaces.end (); ++iter)
4606- if (new_name == (*iter)->getName ())
4607- surf = (*iter);
4608-
4609- if (exceptionIfNotFound && surf == 0 ){
4610- TkUtil::UTF8String message (TkUtil::Charset::UTF_8);
4611- message <<" getSurface impossible, entité \" " <<new_name<<" \" n'a pas été trouvée dans le GeomManager" ;
4612- throw TkUtil::Exception (message);
4613- }
4614-
4615- if (surf && surf->isDestroyed ()){
4616- TkUtil::UTF8String message (TkUtil::Charset::UTF_8);
4617- message <<" getSurface impossible, entité \" " <<new_name<<" \" est détruite" ;
4618- throw Utils::IsDestroyedException (message);
4619- }
4620-
4621- return surf;
4563+ return getContext ().getNameManager ().findByName (name, m_surfaces, exceptionIfNotFound);
46224564}
46234565/* ----------------------------------------------------------------------------*/
46244566Curve* GeomManager::getCurve (const std::string& name, const bool exceptionIfNotFound) const
46254567{
4626- Curve* curve = 0 ;
4627-
4628- std::string new_name;
4629- if (getContext ().getNameManager ().isShiftingIdActivated ()){
4630- if (Curve::isA (name))
4631- new_name = getContext ().getNameManager ().getTypeDedicatedNameManager (Utils::Entity::GeomCurve)->renameWithShiftingId (name);
4632- else
4633- return curve;
4634- }
4635- else
4636- new_name = name;
4637-
4638- for (std::vector<Curve*>::const_iterator iter = m_curves.begin ();
4639- iter != m_curves.end (); ++iter)
4640- if (new_name == (*iter)->getName ())
4641- curve = (*iter);
4642-
4643- if (exceptionIfNotFound && curve == 0 ){
4644- TkUtil::UTF8String message (TkUtil::Charset::UTF_8);
4645- message <<" getCurve impossible, entité \" " <<new_name<<" \" n'a pas été trouvée dans le GeomManager" ;
4646- throw TkUtil::Exception (message);
4647- }
4648-
4649- if (curve && curve->isDestroyed ()){
4650- TkUtil::UTF8String message (TkUtil::Charset::UTF_8);
4651- message <<" getCurve impossible, entité \" " <<new_name<<" \" est détruite" ;
4652- throw Utils::IsDestroyedException (message);
4653- }
4654-
4655- return curve;
4568+ return getContext ().getNameManager ().findByName (name, m_curves, exceptionIfNotFound);
46564569}
46574570/* ----------------------------------------------------------------------------*/
46584571Vertex* GeomManager::getVertex (const std::string& name, const bool exceptionIfNotFound) const
46594572{
4660- Vertex* vertex = 0 ;
4661-
4662- std::string new_name;
4663- if (getContext ().getNameManager ().isShiftingIdActivated ()){
4664- if (Vertex::isA (name))
4665- new_name = getContext ().getNameManager ().getTypeDedicatedNameManager (Utils::Entity::GeomVertex)->renameWithShiftingId (name);
4666- else
4667- return vertex;
4668- }
4669- else
4670- new_name = name;
4671-
4672- for (std::vector<Vertex*>::const_iterator iter = m_vertices.begin ();
4673- iter != m_vertices.end (); ++iter)
4674- if (new_name == (*iter)->getName ())
4675- vertex = (*iter);
4676-
4677- if (exceptionIfNotFound && vertex == 0 ){
4678- TkUtil::UTF8String message (TkUtil::Charset::UTF_8);
4679- message <<" getVertex impossible, entité \" " <<new_name<<" \" n'a pas été trouvée dans le GeomManager" ;
4680- throw TkUtil::Exception (message);
4681- }
4682-
4683- if (vertex && vertex->isDestroyed ()){
4684- TkUtil::UTF8String message (TkUtil::Charset::UTF_8);
4685- message <<" getVertex impossible, entité \" " <<new_name<<" \" est détruite" ;
4686- throw Utils::IsDestroyedException (message);
4687- }
4688-
4689- return vertex;
4573+ return getContext ().getNameManager ().findByName (name, m_vertices, exceptionIfNotFound);
46904574}
46914575/* ----------------------------------------------------------------------------*/
46924576std::string GeomManager::getVertexAt (const Point& pt1) const
@@ -4874,42 +4758,22 @@ void GeomManager::removeEntity (GeomEntity* ge)
48744758/* ----------------------------------------------------------------------------*/
48754759void GeomManager::remove (Volume* v)
48764760{
4877- std::vector<Volume*>::iterator iter;
4878- iter = find (m_volumes.begin (), m_volumes.end (), v);
4879- if (iter != m_volumes.end ())
4880- m_volumes.erase (iter);
4881- else
4882- throw TkUtil::Exception (" Erreur interne, volume absent du GeomManager pour removeVolume" );
4761+ Utils::remove (v, m_volumes);
48834762}
48844763/* ----------------------------------------------------------------------------*/
48854764void GeomManager::remove (Surface* s)
48864765{
4887- std::vector<Surface*>::iterator iter;
4888- iter = find (m_surfaces.begin (), m_surfaces.end (), s);
4889- if (iter != m_surfaces.end ())
4890- m_surfaces.erase (iter);
4891- else
4892- throw TkUtil::Exception (" Erreur interne, surface absente du GeomManager pour removeSurface" );
4766+ Utils::remove (s, m_surfaces);
48934767}
48944768/* ----------------------------------------------------------------------------*/
48954769void GeomManager::remove (Curve* c)
48964770{
4897- std::vector<Curve*>::iterator iter;
4898- iter = find (m_curves.begin (), m_curves.end (), c);
4899- if (iter != m_curves.end ())
4900- m_curves.erase (iter);
4901- else
4902- throw TkUtil::Exception (" Erreur interne, courbe absente du GeomManager pour removeCurve" );
4771+ Utils::remove (c, m_curves);
49034772}
49044773/* ----------------------------------------------------------------------------*/
49054774void GeomManager::remove (Vertex* v)
49064775{
4907- std::vector<Vertex*>::iterator iter;
4908- iter = find (m_vertices.begin (), m_vertices.end (), v);
4909- if (iter != m_vertices.end ())
4910- m_vertices.erase (iter);
4911- else
4912- throw TkUtil::Exception (" Erreur interne, sommet absent du GeomManager pour removeVertex" );
4776+ Utils::remove (v, m_vertices);
49134777}
49144778/* ----------------------------------------------------------------------------*/
49154779std::string GeomManager::getLastVolume () const
0 commit comments