Skip to content

Commit 49f2d74

Browse files
committed
Home made container removed
1 parent cfed62f commit 49f2d74

File tree

73 files changed

+589
-1898
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+589
-1898
lines changed

src/Core/Geom/ExportVTKImplementation.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,7 @@ void ExportVTKImplementation::perform(Internal::InfoCommand* icmd)
5757
"one and only one block", TkUtil::Charset::UTF_8));
5858
}
5959

60-
std::vector<Topo::Block*> topo_blocs;
61-
m_context.getTopoManager().getBlocks(topo_blocs);
60+
std::vector<Topo::Block*> topo_blocs = m_context.getTopoManager().getBlocksObj();
6261

6362
gmds::Mesh& mesh = m_context.getMeshManager().getMesh()->getGMDSMesh();
6463
{

src/Core/Geom/GeomManager.cpp

Lines changed: 8 additions & 144 deletions
Original file line numberDiff line numberDiff line change
@@ -4555,138 +4555,22 @@ int GeomManager::getNbVolumes() const
45554555
/*----------------------------------------------------------------------------*/
45564556
Volume* 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
/*----------------------------------------------------------------------------*/
45904561
Surface* 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
/*----------------------------------------------------------------------------*/
46244566
Curve* 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
/*----------------------------------------------------------------------------*/
46584571
Vertex* 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
/*----------------------------------------------------------------------------*/
46924576
std::string GeomManager::getVertexAt(const Point& pt1) const
@@ -4874,42 +4758,22 @@ void GeomManager::removeEntity (GeomEntity* ge)
48744758
/*----------------------------------------------------------------------------*/
48754759
void 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
/*----------------------------------------------------------------------------*/
48854764
void 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
/*----------------------------------------------------------------------------*/
48954769
void 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
/*----------------------------------------------------------------------------*/
49054774
void 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
/*----------------------------------------------------------------------------*/
49154779
std::string GeomManager::getLastVolume() const

src/Core/Internal/Context.cpp

Lines changed: 18 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1652,41 +1652,31 @@ void Context::clearSession()
16521652

16531653
// commande de destruction de toutes les entités topologiques qui ont pu être construites
16541654
std::vector<Topo::TopoEntity*> ve;
1655-
std::vector<Topo::Block*> blocks;
1656-
getTopoManager().getBlocks(blocks);
1657-
for (uint i=0; i<blocks.size(); i++)
1658-
ve.push_back(blocks[i]);
1659-
std::vector<Topo::CoFace*> cofaces;
1660-
getTopoManager().getCoFaces(cofaces);
1661-
for (uint i=0; i<cofaces.size(); i++)
1662-
ve.push_back(cofaces[i]);
1663-
std::vector<Topo::CoEdge*> coedges;
1664-
getTopoManager().getCoEdges(coedges);
1665-
for (uint i=0; i<coedges.size(); i++)
1666-
ve.push_back(coedges[i]);
1667-
std::vector<Topo::Vertex*> vertices;
1668-
getTopoManager().getVertices(vertices);
1669-
for (uint i=0; i<vertices.size(); i++)
1670-
ve.push_back(vertices[i]);
1655+
Topo::TopoManager& tm = getTopoManager();
1656+
for (Topo::Block* b : tm.getBlocksObj())
1657+
ve.push_back(b);
1658+
for (Topo::CoFace* cf : tm.getCoFacesObj())
1659+
ve.push_back(cf);
1660+
for (Topo::CoEdge* ce : tm.getCoEdgesObj())
1661+
ve.push_back(ce);
1662+
for (Topo::Vertex* v : tm.getVerticesObj())
1663+
ve.push_back(v);
16711664

16721665
Topo::CommandDestroyTopo* commandTopo = new Topo::CommandDestroyTopo(*this, ve, true);
16731666

16741667
command->addCommand(commandTopo);
16751668

16761669
// commande de destruction de toutes les entités géométriques qui ont pu être construites
16771670
std::vector<Geom::GeomEntity*> entities;
1678-
std::vector<Geom::Volume*> volumes = getGeomManager().getVolumesObj();
1679-
for (uint i=0; i<volumes.size(); i++)
1680-
entities.push_back(volumes[i]);
1681-
std::vector<Geom::Surface*> surfaces = getGeomManager().getSurfacesObj();
1682-
for (uint i=0; i<surfaces.size(); i++)
1683-
entities.push_back(surfaces[i]);
1684-
std::vector<Geom::Curve*> curves = getGeomManager().getCurvesObj();
1685-
for (uint i=0; i<curves.size(); i++)
1686-
entities.push_back(curves[i]);
1687-
std::vector<Geom::Vertex*> vtx = getGeomManager().getVerticesObj();
1688-
for (uint i=0; i<vtx.size(); i++)
1689-
entities.push_back(vtx[i]);
1671+
Geom::GeomManager& gm = getGeomManager();
1672+
for (Geom::Volume* v : gm.getVolumesObj())
1673+
entities.push_back(v);
1674+
for (Geom::Surface* s : gm.getSurfacesObj())
1675+
entities.push_back(s);
1676+
for (Geom::Curve* c : gm.getCurvesObj())
1677+
entities.push_back(c);
1678+
for (Geom::Vertex* v : gm.getVerticesObj())
1679+
entities.push_back(v);
16901680

16911681
Geom::CommandRemove* commandGeom = new Geom::CommandRemove(*this, entities, true);
16921682

src/Core/Internal/NameManager.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,8 @@ NameManager::NameManager()
4545
m_all_type_name_managers.push_back(new Utils::TypeDedicatedNameManager(Topo::Face::getTinyName()));
4646
m_all_type_name_managers.push_back(new Utils::TypeDedicatedNameManager(Topo::Block::getTinyName()));
4747
m_all_type_name_managers.push_back(new Utils::TypeDedicatedNameManager(CoordinateSystem::SysCoord::getTinyName()));
48-
// a priori, les suivant ne servent pas
49-
// [EB] sauf pour nommer les groupes de mailles pour les objets de base (cf CommandNewTopoOGridOnGeometry)
50-
// m_all_type_name_managers.push_back(new Utils::TypeDedicatedNameManager(Mesh::Cloud::getTinyName()));
51-
// m_all_type_name_managers.push_back(new Utils::TypeDedicatedNameManager(Mesh::Surface::getTinyName()));
52-
// m_all_type_name_managers.push_back(new Utils::TypeDedicatedNameManager(Mesh::Volume::getTinyName()));
5348

49+
// Les noms des entités Mesh et Group sont gérés différemment (cf MeshManager & GroupManager)
5450
}
5551
/*----------------------------------------------------------------------------*/
5652
NameManager::~NameManager()

src/Core/Mesh/Cloud.cpp

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -86,25 +86,18 @@ void Cloud::getRepresentation(Utils::DisplayRepresentation& dr, bool checkDestro
8686
// cf VTKGMDSEntityRepresentation
8787
}
8888
/*----------------------------------------------------------------------------*/
89-
bool Cloud::isA(std::string& name)
90-
{
91-
MGX_NOT_YET_IMPLEMENTED("Il n'est pas prévu de faire un tel test");
92-
// return (name.compare(0,strlen(typeNameMeshCloud),typeNameMeshCloud) == 0);
93-
return false;
94-
}
95-
/*----------------------------------------------------------------------------*/
9689
TkUtil::UTF8String & operator << (TkUtil::UTF8String & o, const Cloud & cl)
9790
{
9891
o << cl.getName() << " (uniqueId " << cl.getUniqueId() << ", Name "<<cl.getName()<<")";
9992
return o;
10093
}
10194
/*----------------------------------------------------------------------------*/
102-
void Cloud::addCoEdge(Topo::CoEdge* ed)
95+
void Cloud::add(Topo::CoEdge* ed)
10396
{
10497
m_topo_property->getCoEdgeContainer().push_back(ed);
10598
}
10699
/*----------------------------------------------------------------------------*/
107-
void Cloud::removeCoEdge(Topo::CoEdge* ed)
100+
void Cloud::remove(Topo::CoEdge* ed)
108101
{
109102
Utils::remove(ed, m_topo_property->getCoEdgeContainer());
110103
}
@@ -115,12 +108,12 @@ const std::vector<Topo::CoEdge* >& Cloud::getCoEdges() const
115108
return m_topo_property->getCoEdgeContainer();
116109
}
117110
/*----------------------------------------------------------------------------*/
118-
void Cloud::addVertex(Topo::Vertex* vtx)
111+
void Cloud::add(Topo::Vertex* vtx)
119112
{
120113
m_topo_property->getVertexContainer().push_back(vtx);
121114
}
122115
/*----------------------------------------------------------------------------*/
123-
void Cloud::removeVertex(Topo::Vertex* vtx)
116+
void Cloud::remove(Topo::Vertex* vtx)
124117
{
125118
Utils::remove(vtx, m_topo_property->getVertexContainer());
126119
}

src/Core/Mesh/CommandAddRemoveGroupName.cpp

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -331,15 +331,15 @@ updateMesh(std::vector<Topo::Block*>& blocs, std::string grpName, bool add)
331331
if (blk->isMeshed()){
332332
if (add){
333333
#ifdef _DEBUG_UPDATE
334-
std::cout<<" "<<mvol->getName()<<" addBlock("<<(*iter)->getName()<<")"<<std::endl;
334+
std::cout<<" "<<mvol->getName()<<" add("<<(*iter)->getName()<<")"<<std::endl;
335335
#endif
336-
mvol->addBlock(blk);
336+
mvol->add(blk);
337337
}
338338
else {
339339
#ifdef _DEBUG_UPDATE
340-
std::cout<<" "<<mvol->getName()<<" removeBlock("<<(*iter)->getName()<<")"<<std::endl;
340+
std::cout<<" "<<mvol->getName()<<" remove("<<(*iter)->getName()<<")"<<std::endl;
341341
#endif
342-
mvol->removeBlock(blk);
342+
mvol->remove(blk);
343343
}
344344
}
345345
if (isNewVolume)
@@ -398,15 +398,15 @@ updateMesh(std::vector<Topo::CoFace*>& cofaces, std::string grpName, bool add)
398398
if ((*iter)->isMeshed()){
399399
if (add){
400400
#ifdef _DEBUG_UPDATE
401-
std::cout<<" "<<msurf->getName()<<" addCoFace("<<(*iter)->getName()<<")"<<std::endl;
401+
std::cout<<" "<<msurf->getName()<<" add("<<(*iter)->getName()<<")"<<std::endl;
402402
#endif
403-
msurf->addCoFace(*iter);
403+
msurf->add(*iter);
404404
}
405405
else {
406406
#ifdef _DEBUG_UPDATE
407-
std::cout<<" "<<msurf->getName()<<" removeCoFace("<<(*iter)->getName()<<")"<<std::endl;
407+
std::cout<<" "<<msurf->getName()<<" remove("<<(*iter)->getName()<<")"<<std::endl;
408408
#endif
409-
msurf->removeCoFace(*iter);
409+
msurf->remove(*iter);
410410
}
411411
}
412412
} // end if (is_meshed)
@@ -463,15 +463,15 @@ updateMesh(std::vector<Topo::CoEdge*>& coedges, std::string grpName, bool add)
463463
if ((*iter)->isMeshed()){
464464
if (add){
465465
#ifdef _DEBUG_UPDATE
466-
std::cout<<" "<<mcld->getName()<<" addCoEdge("<<(*iter)->getName()<<")"<<std::endl;
466+
std::cout<<" "<<mcld->getName()<<" add("<<(*iter)->getName()<<")"<<std::endl;
467467
#endif
468-
mcld->addCoEdge(*iter);
468+
mcld->add(*iter);
469469
}
470470
else {
471471
#ifdef _DEBUG_UPDATE
472-
std::cout<<" "<<mcld->getName()<<" removeCoEdge("<<(*iter)->getName()<<")"<<std::endl;
472+
std::cout<<" "<<mcld->getName()<<" remove("<<(*iter)->getName()<<")"<<std::endl;
473473
#endif
474-
mcld->removeCoEdge(*iter);
474+
mcld->remove(*iter);
475475
}
476476
}
477477

@@ -498,15 +498,15 @@ updateMesh(std::vector<Topo::CoEdge*>& coedges, std::string grpName, bool add)
498498
if ((*iter)->isMeshed()){
499499
if (add){
500500
#ifdef _DEBUG_UPDATE
501-
std::cout<<" "<<mln->getName()<<" addCoEdge("<<(*iter)->getName()<<")"<<std::endl;
501+
std::cout<<" "<<mln->getName()<<" add("<<(*iter)->getName()<<")"<<std::endl;
502502
#endif
503-
mln->addCoEdge(*iter);
503+
mln->add(*iter);
504504
}
505505
else {
506506
#ifdef _DEBUG_UPDATE
507-
std::cout<<" "<<mcld->getName()<<" removeCoEdge("<<(*iter)->getName()<<")"<<std::endl;
507+
std::cout<<" "<<mcld->getName()<<" remove("<<(*iter)->getName()<<")"<<std::endl;
508508
#endif
509-
mln->removeCoEdge(*iter);
509+
mln->remove(*iter);
510510
}
511511
}
512512

0 commit comments

Comments
 (0)