33 #include "EntityMap.h"    34 #include "preprocessor/multi_block_topology/entities/2d/Face.h"    50     typedef std::list<vertex_type> vertex_list;
    51     typedef std::map<vertex_type, vertex_list > graph_container;
    52     typedef std::pair<vertex_type, vertex_list> map_pair;
    54     graph_container edges;
    56     typedef graph_container::iterator iterator;
    57     typedef graph_container::const_iterator const_iterator;
    59     const_iterator find(
const vertex_type &v)
 const    60       { 
return edges.find(v); }
    61     const_iterator begin(
void)
 const    62       { 
return edges.begin(); }
    63     const_iterator end(
void)
 const    64       { 
return edges.end(); }
    65         void add_vertex(
const Edge *);
    66     void add_edge(vertex_type v,vertex_type w)
    68         edges[v].push_back(w);
    69         edges[w].push_back(v);
    72     std::set<const Edge *> breadth_first_search(vertex_type s)
 const    74         std::set<const Edge *> retval;
    75         std::map<vertex_type,bool> visited;
    76         std::list<vertex_type> q;
    84         const_iterator i_edges= find(s);
    85         for(
auto i : i_edges->second)
   100     void add_graph_vertex(
const Edge *e);
   101     void updateGraph(
const Face &);
   102     void updateSets(
Face *) 
const;
   117     Face *
New(
const size_t &, 
const std::string &);
   130     boost::python::dict 
getPyDict(
void) 
const;
   131     void setPyDict(
const boost::python::dict &);    
   143         retval= 
new F(preprocessor);
   146             retval->
Name()= 
"f"+boost::lexical_cast<std::string>(getTag());
   147             (*this)[getTag()]= retval;
   159     size_t old_tag= getTag();
   160     Face *retval= 
nullptr;
   162     retval= 
busca(getTag());
   166           << 
"; surface with identifier: " << tag
   167           << 
" already exists. Command ignored." << std::endl;
   170       { retval= New<F>(); }
 Definition: SurfaceMap.h:46
QuadSurface * newQuadSurfaceLines(const size_t &, const size_t &, const size_t &, const size_t &)
New quadrilateral surface. 
Definition: SurfaceMap.cc:214
Base class for one-dimensional geometry objects. 
Definition: Edge.h:48
Geometric entities container (points, lines, surfaces,...). 
Definition: EntityMap.h:43
Polygonal face defined by an arbitrary number of vertices. 
Definition: PolygonalFace.h:45
std::set< const XC::Edge * > getHomologousSides(const Edge *) const
Return the homologous sides to that passed as a parameter. 
Definition: SurfaceMap.cc:151
Finite element model generation tools. 
Definition: Preprocessor.h:59
std::deque< const Edge * > getNDivErrors(void) const
Returns a list with the edges that have an incompatible number of divisions. 
Definition: SurfaceMap.cc:99
bool checkNDivs(void) const
Verifies that number of divisions of the edges are compatible. 
Definition: SurfaceMap.cc:141
Model geometry manager. 
Definition: MultiBlockTopology.h:68
PolygonalFace * newPolygonalFacePointsPy(const boost::python::list &)
New polygonalr face. 
Definition: SurfaceMap.cc:245
boost::python::list getNDivErrorTagsPy(void) const
Returns the indentifiers of the edges that have an incompatible number of divisions. 
Definition: SurfaceMap.cc:127
Model points container. 
Definition: SurfaceMap.h:43
Vector of integers. 
Definition: ID.h:95
void reverse(void)
Reverse the orientation of the surfaces. 
Definition: SurfaceMap.cc:265
std::string & Name(void)
Return a reference to the object name. 
Definition: NamedEntity.h:52
bool conciliaNDivs(void)
Conciliate the number of divisions of the lines. 
Definition: SurfaceMap.cc:92
virtual std::string getClassName(void) const
Returns demangled class name. 
Definition: EntityWithOwner.cc:90
Quadrangle defined by its four vertices. 
Definition: QuadSurface.h:41
Point (KPoint). 
Definition: Pnt.h:50
Face * findOrCreateFace(Pnt *, Pnt *, Pnt *, Pnt *)
Find a face between the points or creates a new one. 
Definition: SurfaceMap.cc:166
const Preprocessor * getPreprocessor(void) const
Return a pointer to preprocessor. 
Definition: ModelComponentContainerBase.cc:54
Face * New(void)
Creates a new surface. 
Definition: SurfaceMap.h:137
boost::python::dict getPyDict(void) const
Return a Python dictionary with the object members values. 
Definition: SurfaceMap.cc:272
PolygonalFace * newPolygonalFacePoints(const ID &)
New polygonalr face. 
Definition: SurfaceMap.cc:236
Open source finite element program for structural analysis. 
Definition: ContinuaReprComponent.h:35
SurfaceMap(MultiBlockTopology *mbt=nullptr)
Constructor. 
Definition: SurfaceMap.cc:42
QuadSurface * newQuadSurfaceGridPoints(const boost::python::list &)
New quadrilateral surface. 
Definition: SurfaceMap.cc:226
QuadSurface * newQuadSurfacePts(const size_t &, const size_t &, const size_t &, const size_t &)
New quadrilateral surface. 
Definition: SurfaceMap.cc:202
std::deque< int > getNDivErrorTags(void) const
Returns the indentifiers of the edges that have an incompatible number of divisions. 
Definition: SurfaceMap.cc:114
Surface. 
Definition: Face.h:45
double getAverageArea(void) const
Return the average area of the surfaces. 
Definition: SurfaceMap.cc:255
Face * busca(const Indice &)
Return a pointer to the geometry entity whose identifier is passed as parameter. 
Definition: ModelComponentContainer.h:78
void setPyDict(const boost::python::dict &)
Set the values of the object members from a Python dictionary. 
Definition: SurfaceMap.cc:288