xc
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members

Surface. More...

#include <Face.h>

Inheritance diagram for XC::Face:
Inheritance graph
[legend]
Collaboration diagram for XC::Face:
Collaboration graph
[legend]

Public Types

typedef std::deque< PolygonalFace * > dq_holes
 
typedef dq_holes::iterator hole_iterator
 
typedef dq_holes::const_iterator hole_const_iterator
 
- Public Types inherited from EntityWithProperties
typedef std::map< std::string, boost::python::object > PythonDict
 

Public Member Functions

 Face (void)
 Constructor.
 
 Face (Preprocessor *m, const size_t &ndivI=4, const size_t &ndivJ=4)
 Constructor. More...
 
 Face (const std::string &name, Preprocessor *m, const size_t &ndivI=4, const size_t &ndivJ=4)
 Constructor. More...
 
virtual bool operator== (const Face &) const
 Comparison operator.
 
virtual unsigned short int GetDimension (void) const
 Returns the dimension of the object.
 
void update_topology (void)
 Updates topology.
 
const EdgegetOppositeEdge (const Edge &) const
 Return the opposite side with respect to the one being passed as parameter. More...
 
EdgegetOppositeEdge (const Edge &)
 Return the opposite side with respect to the one being passed as parameter. More...
 
std::deque< std::pair< const Edge *, const Edge * > > getOppositeEdges (void) const
 Return a deque of opposite edge pairs.
 
Vector3d getKVector (void) const
 Returns a vector in the direction of the local Z axis. More...
 
Matrix getLocalAxes (void) const
 Returns a matrix with the axes of the surface as matrix rows [[x1,y1,z1],[x2,y2,z2],...ยท].
 
Ref2d3d getRef (void) const
 
void setNDiv (const size_t &)
 Sets the number of divisions for all its sides. More...
 
size_t NDivI (void) const
 
virtual void setNDivI (const size_t &)
 Set the number of divisions on the i axis.
 
size_t NDivJ (void) const
 
virtual void setNDivJ (const size_t &)
 Set the number of divisions on the j axis.
 
virtual void ConciliaNDivIJ (void)
 Conciliate lines division numbers with those of the surface. More...
 
virtual void SetElemSizeI (const double &sz)
 Computes the number of divisions on the i axis for an element edge size equal or lesser than the size being passed as parameter. More...
 
virtual void SetElemSizeJ (const double &sz)
 Computes the number of divisions on the j axis for an element edge size equal or lesser than the size being passed as parameter. More...
 
virtual void SetElemSizeIJ (const double &, const double &)
 Computes the number of divisions on the i and j axis for an element edges sizes equal or lesser than the sizes being passed as parameter. More...
 
virtual void SetElemSize (const double &sz, bool mustBeEven=true)
 Computes the number of divisions on the i axis for an element edge size equal or lesser than the size being passed as parameter. More...
 
bool isHole (void) const
 Return true if the face corresponds to a hole.
 
void setHole (const bool &)
 Return true if the face corresponds to a hole.
 
void addHole (PolygonalFace *)
 Add a hole to the face. More...
 
hole_iterator findHole (PolygonalFace *)
 Return an iterator to the hole corresponding to the argument return holes.end() if not found. More...
 
hole_const_iterator findHole (PolygonalFace *) const
 Return an iterator to the hole corresponding to the argument return holes.end() if not found. More...
 
const PolygonalFacefindHolePtr (PolygonalFace *) const
 Return a pointer to the hole corresponding to the argument return nullptr if not found. More...
 
PolygonalFacefindHolePtr (PolygonalFace *)
 Return a pointer to the hole corresponding to the argument return nullptr if not found. More...
 
const std::deque< PolygonalFace * > & getHoles (void) const
 Return a list of the face holes.
 
boost::python::list getPyHoles (void) const
 Return a list of the face holes.
 
std::deque< Side * > findSides (const Pos3d &)
 Return a pointer to the side at the position argument. More...
 
size_t getNumberOfVertices (void) const
 Returns the number of vertices.
 
virtual const PntgetVertex (const size_t &i) const
 Returns the i-th vertex.
 
PntfindVertex (const Pos3d &)
 Return a pointer to the vertex at the position argument. More...
 
Pos3d getCentroid (void) const
 Returns the centroid of the quad surface.
 
Plane getPlane (void) const
 Return the plane containing the face.
 
bool isFlat (const double &tol=1e-6) const
 return true if the surface is flat. More...
 
bool isWarped (const double &tol=1e-6) const
 return true if the surface is warped. More...
 
Polyline3d getContour (void) const
 Returns the contour of the face as a 3D polyline.
 
Polygon3d getPolygon (void) const
 Return the surface contour as a polygon.
 
double getSquaredDistanceTo (const Pos3d &pt) const
 Return the squared distance to the point.
 
double getArea (void) const
 Returns the face area.
 
const std::set< const Body * > & getConnectedBodies (void) const
 Return the bodies that touch this surface (neighbors).
 
size_t CommonEdge (const Face &other) const
 Returns the index of the edge in common with the surface being passed as parameter (if it exists). More...
 
int SenseOfEdge (const Edge *l, const Face &other) const
 Returns: More...
 
bool isConnectedTo (const Body &b) const
 Returns true if the lines touches the body (neighbor).
 
std::deque< const Edge * > getNDivErrors (const size_t &) const
 If the i-th edge and its opposite edges are incompatibles return a list containing a pointer to each of them. More...
 
bool checkNDivs (const size_t &) const
 Verifies that the number of divisions of the lines are compatible. More...
 
std::deque< const Edge * > getNDivErrors (void) const
 Returns a list with the edges that have an incompatible number of divisions.
 
virtual bool checkNDivs (void) const
 Verifies that the number of divisions of the lines are compatible. More...
 
virtual NodegetNode (const size_t &i1, const size_t &j, const size_t &k)
 Returns a pointer to node which indices are being passed as parameters. More...
 
virtual const NodegetNode (const size_t &i, const size_t &j, const size_t &k) const
 Returns a pointer to node which indices are being passed as parameters. More...
 
virtual NodegetNode (const size_t &i, const size_t &j)
 Returns a pointer to node which indices are is being passed as parameter.
 
virtual const NodegetNode (const size_t &i, const size_t &j) const
 Returns a pointer to node which indices are is being passed as parameter.
 
std::set< SetBase * > get_sets (void) const
 Returns the sets that contains this surface.
 
void add_to_sets (std::set< SetBase *> &)
 Appends the surface to each of the sets being passed as parameter.
 
bool clockwise (const Pos3d &) const
 Return true if the point list is oriented clockwise. More...
 
bool counterclockwise (const Pos3d &) const
 Return true if the points are counter-clockwise ordered with respect to the element. More...
 
std::string orientation (const Pos3d &) const
 Return the orientation of the face. More...
 
virtual void reverse (void)
 Reverse the verrtex sequence. More...
 
void revolve (const int &)
 Move forward or backwards the sequence of vertexes. More...
 
void setKOrientation (const Vector3d &)
 Set the orientation of the face normal according to the vector argument. More...
 
int setIOrientation (const Vector3d &)
 Set the orientation of the face i unit vector as close as possible to the given vector. More...
 
int getVtkCellType (void) const
 Interfaz con VTK.
 
boost::python::dict getPyDict (void) const
 Return a Python dictionary with the object members values.
 
void setPyDict (const boost::python::dict &)
 Set the values of the object members from a Python dictionary.
 
- Public Member Functions inherited from XC::CmbEdge
 CmbEdge (void)
 Constructor.
 
 CmbEdge (Preprocessor *m, const size_t &nd=4)
 Constructor.
 
 CmbEdge (const std::string &name, Preprocessor *m, const size_t &nd)
 Constructor. More...
 
virtual bool operator== (const CmbEdge &) const
 Comparison operator.
 
virtual SetEstructgetCopy (void) const
 Virtual constructor.
 
virtual void insert (Edge *l)
 Inserts the line which pointer is being passed as parameter.
 
void insert (const size_t &i)
 Inserts (if found) the line which index is being passed as parameter.
 
EdgenewLine (Pnt *, Pnt *)
 Creates a new line between the points being passed as parameters and inserts it on the edges set. More...
 
EdgenewLine (Pnt *, Pnt *, Pnt *)
 Creates a new circle arc between the points being passed as parameters and put it in the edge set. More...
 
void addPoints (const ID &)
 Creates and inserts the the edges that link the points from the indexes being passed as parameter. More...
 
void addLines (const ID &)
 Creates and inserts the edges from the indexes being passed as parameter. More...
 
size_t NDiv (void) const
 Return the number of divisions for the whole object.
 
double getAvgElemSize (void) const
 Return the average element size.
 
double getMaxElemSize (void) const
 Return the maximum element size.
 
double getMinElemSize (void) const
 Return the minimum element size.
 
size_t getNumberOfEdges (void) const
 Return the number of edges.
 
std::deque< Side > & getSides (void)
 
const std::deque< Side > & getSides (void) const
 
CmbEdge getReversed (void) const
 Return the reverse vertex sequence.
 
bool In (const GeomObj3d &, const double &tol=0.0) const
 Returns true if this object lies inside the geometric object. More...
 
bool Out (const GeomObj3d &, const double &tol=0.0) const
 Returns true if this object lies outside the geometric object. More...
 
double getLength (void) const
 Return the length of the line.
 
virtual double getDist (const Pos3d &) const
 Returns the distance to the position being passed as parameter. More...
 
PntP1 (void)
 Return a pointer to the edge's start point.
 
PntP2 (void)
 Return a pointer to the edge's start point.
 
const PntP1 (void) const
 Returns a constant pointer to start point.
 
const PntP2 (void) const
 Returns a constant pointer to end point.
 
size_t IndiceEdge (const Edge *l) const
 Searches the line l from those of this compound line.
 
const SidegetSide (const size_t &i) const
 Returns a lado of the line compuesta.
 
SidegetSide (const size_t &i)
 Returns a lado of the line compuesta.
 
const SidegetSideByPoints (const Pnt *, const Pnt *) const
 Return the side whose end points are the points being passed as parameters. More...
 
SidegetSideByPoints (const Pnt *, const Pnt *)
 Return the side whose endpoints are the points being passed as parameters. More...
 
const SidegetSideByPoints (const size_t &, const size_t &) const
 Return the side whose endpoints are the points being passed as parameters. More...
 
SidegetSideByPoints (const size_t &, const size_t &)
 Return the edge that has its vertices at the points being passed as parameters. More...
 
std::deque< Edge * > getEdges (void)
 Return the deque of lines that define the edges.
 
std::deque< const Edge * > getEdges (void) const
 Return the deque of lines that define the edges.
 
boost::python::list getEdgesPy (void) const
 Return the lines that define the edges in a Python list.
 
std::deque< Side * > findSides (const Pos3d &)
 Return the pointers to the sides at the position argument. More...
 
std::deque< Pnt * > getVertices (void)
 Return the vertices.
 
std::deque< const Pnt * > getVertices (void) const
 Return the vertices.
 
std::set< const Pnt * > getVertexSet (void) const
 Return the vertices.
 
virtual void SetVertice (const size_t &, Pnt *)
 Sets the i-th vertex.
 
virtual ID getKPoints (void) const
 Returns object k-points.
 
PntfindVertex (const Pos3d &)
 Return a pointer to the vertex at the position argument. More...
 
Polyline3d getPolyline (void) const
 Returns a polyline representation of the object.
 
BND3d Bnd (void) const
 Returns object BND.
 
void genMesh (meshing_dir dm)
 Creates the mesh.
 
- Public Member Functions inherited from XC::Edge
 Edge (Preprocessor *m, const size_t &nd=4)
 Constructor. More...
 
 Edge (const std::string &name="", Preprocessor *m=nullptr, const size_t &nd=4)
 Constructor. More...
 
virtual bool operator== (const Edge &) const
 Comparison operator.
 
bool In (const GeomObj3d &, const double &tol=0.0) const
 Returns true if the line lies inside the geometric object. More...
 
bool Out (const GeomObj3d &, const double &tol=0.0) const
 Returns true if the line lies outside the geometric object. More...
 
bool areEndPoints (const Pnt *, const Pnt *) const
 Returns true if the points passed as parameters are the ends of the edge. More...
 
virtual Vector3d getIVector (void) const
 Returns a vector in the direction of the local X axis. More...
 
virtual Vector3d getJVector (void) const
 Returns a vector in the direction of the local Y axis. More...
 
std::vector< int > getIndicesVertices (void) const
 Return indices of the vertices.
 
boost::python::list getVerticesPy (void)
 Return the vertices in a Python list.
 
virtual std::deque< Segment3dgetSegments (void) const
 Return the segments that compose the edge.
 
boost::python::list getSegmentsPy (void) const
 Return the segments in a Python list.
 
virtual Pos3dArray get_nodes_pos (void) const
 Return a matrix of positions along the line.
 
virtual const VectorgetTang (const double &) const
 Return a vector tangent to the line in point at parameter s.
 
void divide (void)
 Create points along the line.
 
void setNDivHomologousEdges (const size_t &)
 Assigns the number of divisions of this edge and all its homologous. More...
 
void SetElemSize (const double &sz)
 Compute the number of divisions necessary to get the element size passed as parameter. More...
 
double getElemSize (void) const
 Return the element size (aka L/ndiv).
 
virtual void create_nodes (const Pos3dArray &)
 Create nodes on the positions argument.
 
virtual void create_nodes (void)
 Create nodes on objects.
 
NodegetNodeForward (const size_t &i)
 Returns the node whose ordinal index is passed as parameter, starting from the beginning. More...
 
const NodegetNodeForward (const size_t &i) const
 Return the node whose ordinal index is passed as parameter, starting from the beginning. More...
 
NodegetNodeReverse (const size_t &i)
 Return the node whose ordinal index is passed as parameter, starting from the end. More...
 
const NodegetNodeReverse (const size_t &i) const
 Return the node whose ordinal index is passed as parameter, starting from the end. More...
 
NodegetFirstNode (void)
 Return the first node of the line.
 
const NodegetFirstNode (void) const
 Return the first node of the line.
 
NodegetLastNode (void)
 Return the last node of the line.
 
const NodegetLastNode (void) const
 Return the last node of the line.
 
std::vector< int > getTagsNodesForward (void) const
 Return the IDs of the nodes in forward order.
 
std::vector< int > getTagsNodesReverse (void) const
 Return the IDs of the nodes in reverse order.
 
Pos3dArray getNodePosForward (void) const
 Return the positions of the nodes in forward order.
 
Pos3dArray getNodePosReverse (void) const
 Return the positions of the nodes in reverse order.
 
std::set< const XC::Edge * > getHomologousSides (void) const
 Return the homologous sides to that passed as a parameter.
 
const size_t getNumConnectedSurfaces (void) const
 Return the number of surfaces that touch the line.
 
const std::set< const Face * > & getConnectedSurfaces (void) const
 Return the surfaces that touch the line.
 
const std::string & getConnectedSurfacesNames (void) const
 Return names of the surfaces that touch the line (neighbors).
 
bool isConnectedTo (const Face &s) const
 Return true if the line touches the surface (neighbor).
 
bool isConnectedTo (const Body &b) const
 Return true if the line touches the body.
 
bool isEndPoint (const Pnt &) const
 Return true if it is an end point of the line.
 
virtual EdgesplitAtPoint (Pnt *p)
 Divides the line by the point being passed as parameter.
 
virtual EdgesplitAtLambda (const double &)
 Divides the line by the point obtained by: p1+lambda*VDir().
 
virtual EdgesplitAtNaturalCoord (const double &)
 Divides the line by the point obtained by: p1+lambda*VDir().
 
virtual EdgesplitAtPos3d (const Pos3d &, const double &tol=1e-6)
 Divides the edge at the point argument. More...
 
void add_to_sets (std::set< SetBase *> &)
 Add the ยซedgeยป to the sets passed as parameters.
 
- Public Member Functions inherited from XC::EntMdlr
 EntMdlr (Preprocessor *m, const size_t &i=0)
 Constructor.
 
 EntMdlr (const std::string &name="", const size_t &i=0, Preprocessor *m=nullptr)
 Constructor. More...
 
 EntMdlr (const EntMdlr &)
 Copy constructor.
 
virtual ~EntMdlr (void)
 Destructor.
 
EntMdlroperator= (const EntMdlr &)
 Assignment operator.
 
virtual bool operator== (const EntMdlr &) const
 Comparison operator.
 
std::string getDescription (void) const
 Return a description of the object. More...
 
virtual void set_index (const size_t &i)
 Assigns the objects index for its use in VTK arrays (see numerate in Set). More...
 
bool hasNodes (void) const
 
virtual size_t getNumNodeLayers (void) const
 
virtual size_t getNumNodeRows (void) const
 
virtual size_t getNumNodeColumns (void) const
 
virtual size_t getNumElementLayers (void) const
 
virtual size_t getNumElementRows (void) const
 
virtual size_t getNumElementColumns (void) const
 
NodegetNearestNode (const Pos3d &p)
 Return the node closest to the point being passed as parameter.
 
const NodegetNearestNode (const Pos3d &p) const
 Return the node closest to the point being passed as parameter.
 
ID getNodeIndices (const Node *) const
 Return the indexes of the node being passed as parameter.
 
virtual ElementgetElement (const size_t &i=1, const size_t &j=1, const size_t &k=1)
 Returns a pointer to the element which indexes are being passed as parameters. More...
 
virtual const ElementgetElement (const size_t &i=1, const size_t &j=1, const size_t &k=1) const
 Returns a pointer to the element which indices are being passed as parameters. More...
 
NodefindNode (const int &tag)
 Returns a pointer to the node cuyo identifier is being passed as parameter.
 
const NodefindNode (const int &tag) const
 Returns a pointer to the node cuyo identifier is being passed as parameter.
 
ElementfindElement (const int &)
 Returns a pointer to the element identified by the tag being passed as parameter. More...
 
const ElementfindElement (const int &) const
 Returns a pointer to the element identified by the tag being passed as parameter. More...
 
ElementgetNearestElement (const Pos3d &p)
 Return the element closest to the point being passed as parameter.
 
const ElementgetNearestElement (const Pos3d &p) const
 Return the element closest to the point being passed as parameter.
 
std::set< const Element * > getConnectedElements (const Node *) const
 Return the elements connected to the node being passed as parameter.
 
std::set< Element * > getConnectedElements (const Node *)
 Return the elements connected to the node being passed as parameter.
 
boost::python::list getConnectedElementsPy (const Node *)
 Return the elements connected to the node being passed as parameter.
 
NodePtrArray3dgetTtzNodes (void)
 
const NodePtrArray3dgetTtzNodes (void) const
 
ElemPtrArray3dgetTtzElements (void)
 
const ElemPtrArray3dgetTtzElements (void) const
 
IRowSet getVarRefIRow (size_t f=1, size_t c=1, const std::string &nmb="tmp")
 
IRowSet getVarRefIRow (const RangoIndice &layer_range, size_t f, size_t c, const std::string &nmb="tmp")
 
IRowSet getVarRefIRow (const Array3dRange &rango, const std::string &nmb="tmp")
 
JRowSet getVarRefJRow (size_t layer=1, size_t c=1, const std::string &nmb="tmp")
 
JRowSet getVarRefJRow (size_t layer, const RangoIndice &row_range, size_t c, const std::string &nmb="tmp")
 
JRowSet getVarRefJRow (const Array3dRange &rango, const std::string &nmb="tmp")
 
KRowSet getVarRefKRow (size_t layer=1, size_t f=1, const std::string &nmb="tmp")
 
KRowSet getVarRefKRow (size_t layer, size_t f, const RangoIndice &column_range, const std::string &nmb="tmp")
 
KRowSet getVarRefKRow (const Array3dRange &rango, const std::string &nmb="tmp")
 
void fix (const SFreedom_Constraint &)
 Fixes the nodes of the set.
 
void setGenMesh (bool m)
 Returns true if the points begins or ends in the line.
 
const bool & getGenMesh (void) const
 Returns true if the points begins or ends in the line.
 
virtual double getDistanceTo (const Pos3d &pt) const
 Return the distance to the position being passed as parameter.
 
Vector getSimpsonWeights (const std::string &, const std::string &, const size_t &f=1, const size_t &c=1, const size_t &n=10) const
 Return Simpson's weights.
 
void BorraPtrNodElem (void)
 Clears pointer to nodes and elements.
 
size_t getIdx (void) const
 Returns the index of the object for it use in VTK arrays.
 
boost::python::dict getPyDict (void) const
 Return a Python dictionary containing the object members values.
 
void setPyDict (const boost::python::dict &)
 Set the values of the object members from a Python dictionary.
 
- Public Member Functions inherited from XC::SetEstruct
 SetEstruct (const std::string &nmb="", Preprocessor *preprocessor=nullptr)
 Constructor.
 
 SetEstruct (const SetEstruct &)
 Copy constructor.
 
SetEstructoperator= (const SetEstruct &)
 Assignment operator.
 
size_t getNumberOfNodes (void) const
 
size_t getNumberOfElements (void) const
 
bool In (const Node *) const
 Returns true if the node belongs to the set.
 
bool In (const Element *) const
 Returns true if the element belongs to the set.
 
bool isIRow (void) const
 Returns true if only the I index varies.
 
bool isJRow (void) const
 Returns true if only the J index varies.
 
bool isKRow (void) const
 Returns true if only the K index varies.
 
bool isIConstantLayer (void) const
 Returns true if only J and K indices varies.
 
bool isJConstantLayer (void) const
 Returns true if only J and K indices varies.
 
bool isKConstantLayer (void) const
 Returns true if only I and J indices varies.
 
size_t Dimension (void) const
 Return the dimension of the range (0,1,2 or 3). More...
 
std::string getStrType (void) const
 Returns the set type i_row, j_row, k_row, constantILayer,...
 
NodegetNodeI (const size_t &i)
 
NodegetNodeIJ (const size_t &i, const size_t &j)
 
NodegetNodeIJK (const size_t &i, const size_t &j, const size_t &k)
 
ElementgetElementI (const size_t &i)
 
ElementgetElementIJ (const size_t &i, const size_t &j)
 
ElementgetElementIJK (const size_t &i, const size_t &j, const size_t &k)
 
std::set< int > getNodeTags (void) const
 Returns the tags of the nodes.
 
boost::python::list getNodes (void)
 Return the nodes of the set in a Python list.
 
std::set< int > getElementTags (void) const
 Returns the tags of the elements.
 
boost::python::list getElements (void)
 
void createInertiaLoads (const Vector &)
 Creates the inertia load that corresponds to the acceleration argument. More...
 
- Public Member Functions inherited from XC::SetBase
 SetBase (const std::string &nmb="", Preprocessor *preprocessor=nullptr)
 Constructor.
 
virtual bool operator== (const SetBase &) const
 Comparison operator.
 
void setColorComponents (const double &, const double &, const double &)
 Set the color of the object (red,green,blue) as integers from 0 to 255. More...
 
void setColor (const Vector &)
 Set the color of the object [red,green,blue] as integers from 0 to 255. More...
 
const VectorgetColor (void) const
 Return the color of the object [red,green,blue] as integers from 0 to 255. More...
 
const IDgetIdNodeTags (void) const
 Returns the tags of the nodes en un vector de enteros.
 
const IDgetIdElementTags (void) const
 Returns the tags of the elements en un vector de enteros.
 
boost::python::list getNodeTagsPy (void) const
 Returns the tags of the nodes in a Python list.
 
boost::python::list getElementTagsPy (void) const
 Returns the tags of the elements in a Python list.
 
bool interiorNode (const Node *) const
 Returns true if the all the elements connected to the given node belong to the set. More...
 
virtual bool In (const Pnt *) const
 Returns true if the point belongs to the set.
 
virtual bool In (const Edge *) const
 Returns true if the edge belongs to the set.
 
virtual bool In (const Face *) const
 Returns true if the surface belongs to the set.
 
virtual bool In (const Body *) const
 Returns true if the body belongs to the set.
 
virtual bool In (const UniformGrid *) const
 Returns true if the ยซuniform gridยป belongs to the set.
 
void resetTributaries (void) const
 Reset tributary areas (or lengths, or volumes) for the nodes that are connected to the set elements. More...
 
bool checkTributaries (void) const
 Check if the interior nodes of the set have already a tributary area and warns the user about this circumstance. More...
 
void computeTributaryLengths (bool initialGeometry=true) const
 Computes the tributary lengths that correspond to each node of the element set. More...
 
void computeTributaryAreas (bool initialGeometry=true) const
 Computes the tributary areas that correspond to each node of the element set. More...
 
void computeTributaryVolumes (bool initialGeometry=true) const
 Computes the tributary volumes that correspond to each node of the element set. More...
 
boost::python::dict getPyDict (void) const
 Return a Python dictionary containing the object members values.
 
void setPyDict (const boost::python::dict &)
 Set the values of the object members from a Python dictionary.
 
- Public Member Functions inherited from XC::EntMdlrBase
 EntMdlrBase (const std::string &nmb="", Preprocessor *preprocessor=nullptr)
 Constructor.
 
EntMdlrBaseoperator+= (const EntMdlrBase &)
 += operator.
 
EntMdlrBaseoperator-= (const EntMdlrBase &)
 -= operator.
 
EntMdlrBaseoperator*= (const EntMdlrBase &)
 *= operator (intersection).
 
virtual bool operator== (const EntMdlrBase &) const
 Comparison operator.
 
const PreprocessorgetPreprocessor (void) const
 Return a pointer to the object preprocessor.
 
PreprocessorgetPreprocessor (void)
 Return a pointer to the object preprocessor.
 
const LabelContainergetLabels (void) const
 
size_t getTag (void) const
 Return the object identifier in the model (tag).
 
PntBuscaPnt (const size_t &)
 Return a pointer to the point identified by the tag being passed as parameter. More...
 
const PntBuscaPnt (const size_t &) const
 Return a const pointer to the point identified by the tag being passed as parameter. More...
 
EdgeBuscaEdge (const size_t &)
 Return a pointer to the edge identified by the tag being passed as parameter. More...
 
const EdgeBuscaEdge (const size_t &) const
 Return a pointer to the edge identified by the tag being passed as parameter. More...
 
FaceBuscaFace (const size_t &)
 Return a pointer to the face identified by the tag being passed as parameter. More...
 
const FaceBuscaFace (const size_t &) const
 Returns a pointer to the face identified by the tag being passed as parameter. More...
 
virtual int sendSelf (Communicator &)
 Send objects through the communicator argument.
 
virtual int recvSelf (const Communicator &)
 Receive objects through the communicator argument.
 
- Public Member Functions inherited from NamedEntity
 NamedEntity (const std::string &Name="", CommandEntity *owr=nullptr)
 Constructor.
 
const std::string & getName (void) const
 Return the object name.
 
void setName (const std::string &s)
 Set the object name.
 
std::string & Name (void)
 Return a reference to the object name.
 
virtual bool operator== (const NamedEntity &other) const
 Comparison operator.
 
bool operator< (const NamedEntity &other) const
 Less than operator.
 
NamedEntityoperator+= (const NamedEntity &)
 += operator.
 
NamedEntityoperator-= (const NamedEntity &)
 -= operator.
 
NamedEntityoperator*= (const NamedEntity &)
 *= operator.
 
boost::python::dict getPyDict (void) const
 Return a Python dictionary with the object members values.
 
void setPyDict (const boost::python::dict &)
 Set the values of the object members from a Python dictionary.
 
- Public Member Functions inherited from CommandEntity
 CommandEntity (CommandEntity *owr=nullptr)
 Default constructor.
 
CommandEntityOwner (void)
 Return a pointer to the object owner.
 
const CommandEntityOwner (void) const
 Return un puntero al objeto propietario de ESTE.
 
const StandardOutputWrappergetStandardOutputWrapper (void) const
 Return the regular output stream wrapper.
 
StandardOutputWrappergetStandardOutputWrapper (void)
 Return the regular output stream wrapper.
 
const std::string & getLogFileName (void) const
 Returns log file name.
 
void setLogFileName (const std::string &)
 Sets log file name.
 
const std::string & getErrFileName (void) const
 Returns err file name.
 
void setErrFileName (const std::string &)
 Sets error file name.
 
const std::string & getOutputFileName (void) const
 Returns regular output file name.
 
void setOutputFileName (const std::string &)
 Sets regular output file name.
 
boost::python::object evalPy (boost::python::object dict, const std::string &)
 Return the Python object that results from evaluating the argument.
 
boost::python::object execPy (boost::python::object dict, const std::string &)
 Return the Python objects that results from executing the code in the string argument.
 
boost::python::object execFilePy (boost::python::object dict, const std::string &)
 Return the Python object that results from executing the code in the file.
 
- Public Member Functions inherited from EntityWithProperties
 EntityWithProperties (EntityWithProperties *owr=nullptr)
 Default constructor.
 
virtual bool operator== (const EntityWithProperties &) const
 Comparison operator.
 
void clearPyProps (void)
 Clear python properties map.
 
bool hasPyProp (const std::string &)
 Returns true if property exists.
 
boost::python::object getPyProp (const std::string &str)
 Return the Python object with the name being passed as parameter.
 
void setPyProp (std::string str, boost::python::object val)
 Sets/appends a value tho the Python object's dictionary.
 
void copyPropsFrom (const EntityWithProperties &)
 Copy the properties from the argument.
 
boost::python::list getPropNames (void) const
 Return the names of the object properties weightings.
 
const PythonDict & getPropertiesDict (void) const
 Return a std::map container with the properties of the object.
 
- Public Member Functions inherited from EntityWithOwner
 EntityWithOwner (EntityWithOwner *owr=nullptr)
 Default constructor.
 
 EntityWithOwner (const EntityWithOwner &)
 Copy constructor.
 
EntityWithOwneroperator= (const EntityWithOwner &)
 Assignment operator.
 
virtual bool operator== (const EntityWithOwner &) const
 Comparison operator.
 
virtual ~EntityWithOwner (void)
 Virtual destructor.
 
virtual std::string getClassName (void) const
 Returns demangled class name.
 
void set_owner (EntityWithOwner *owr)
 Assigns the owner of the object.
 
EntityWithOwnerOwner (void)
 
const EntityWithOwnerOwner (void) const
 
- Public Member Functions inherited from XC::MovableObject
 MovableObject (int classTag, int dbTag)
 Constructor. More...
 
 MovableObject (int classTag)
 Constructor. More...
 
 MovableObject (const MovableObject &)
 Copy constructor. Doesn't copy the dbTag.
 
MovableObjectoperator= (const MovableObject &)
 Assignment operator. Doesn't copy the dbTag.
 
int getClassTag (void) const
 Return the class identifier.
 
int getDbTag (void) const
 Return the object identifier in the database.
 
int getDbTag (Communicator &)
 Return the object identifier in the database.
 
void setDbTag (int dbTag)
 Sets the object identifier in the database.
 
void setDbTag (Communicator &)
 Sets the object identifier in the database if not already set. More...
 
virtual int setParameter (const std::vector< std::string > &argv, Parameter &param)
 Sets the value param to the parameter argv.
 
virtual int updateParameter (int parameterID, Information &info)
 Updates the parameter identified by parameterID with info.
 
virtual int activateParameter (int parameterID)
 Activates the parameter identified by parameterID.
 
virtual int setVariable (const std::string &variable, Information &)
 Set the value of the variable idenfified by var.
 
virtual int getVariable (const std::string &variable, Information &)
 Return the value of the variable idenfified by var.
 
- Public Member Functions inherited from XC::DistributedBase
 DistributedBase (void)
 Constructor.
 
virtual ~DistributedBase (void)
 Destructor.
 
virtual DbTagDatagetDbTagData (void) const
 Returns a vector to store class dbTags.
 
const int & getDbTagDataPos (const int &i) const
 Returns the data at the i-th position.
 
void setDbTagDataPos (const int &i, const int &v)
 Sets the data at the i-th position.
 
void inicComm (const int &dataSize) const
 Initializes communication.
 

Protected Member Functions

int get_index_opposite_side (const int &) const
 Return the index of th opposite side with respect to the one being passed as parameter. More...
 
virtual const Edgeget_opposite_side (const Edge *l) const
 Return the opposite side with respect to the one being passed as parameter. More...
 
Edgeget_opposite_side (const Edge *l)
 Return the opposite side with respect to the one being passed as parameter. More...
 
size_t calc_ndiv_opposite_sides (const Edge *, const size_t &) const
 Computes a suitable number of divisions for the edge argument and its opposite side. More...
 
void set_ndiv_opposite_sides (const size_t &, const size_t &)
 Set the number of divisions for the edge argument and its opposite side. More...
 
void set_ndiv_i (const size_t &)
 Sets the number of divisions for direction I.
 
void set_ndiv_j (const size_t &)
 Sets the number of divisions for direction J.
 
std::vector< XC::Node * > create_interior_nodes (const std::vector< Pos3d > &)
 Creates interior nodes at the positions being passed as parameters.
 
int create_elements_from_quads (const std::deque< std::vector< int > > &)
 Create nodes from quad tags (i.e. [tagI, tagJ, tagK, tagL].
 
void create_line_nodes (void)
 Triggers node creation on the edges.
 
int create_gmsh_loop (void) const
 Create a Gmsh curve loop from the face sides.
 
std::vector< int > create_gmsh_loops_for_holes (void) const
 Create the curve loops of the face holes.
 
std::vector< int > create_gmsh_loops (void) const
 Create the curve loops for the outer face and the holes.
 
int create_gmsh_surface (void) const
 Ask Gmsh to create the surface corresponding to this face. More...
 
- Protected Member Functions inherited from XC::CmbEdge
Pos3dArray get_positions (void) const
 Return positions evenly distributed along the object.
 
Sidefirst_line (void)
 Returns a pointer to the first lado.
 
const Sidefirst_line (void) const
 Returns a pointer to the first lado.
 
Sidelast_line (void)
 Returns a pointer to the last edge.
 
const Sidelast_line (void) const
 Returns a pointer to the last edge.
 
const Pntfirst_point (void) const
 Returns a pointer to the first point.
 
const Pntlast_point (void) const
 Returns a pointer to the last point.
 
void line_meshing (meshing_dir dm)
 Triggers meshing of lines.
 
void close (void)
 Close the line.
 
void revolve (const int &)
 Move forward or backwards the sequence of vertexes. More...
 
- Protected Member Functions inherited from XC::Edge
void insert_surf (Face *s)
 Insert a surface in contact with the line (neighbour). More...
 
void create_nodes_on_endpoints (void)
 Create the nodes for both end points of the edge.
 
std::vector< Node * > create_interior_nodes (const std::vector< Pos3d > &positions)
 Creates interior nodes at the positions being passed as parameters.
 
virtual int create_gmsh_line (void) const
 Ask Gmsh to create the line corresponding to this edge. More...
 
- Protected Member Functions inherited from XC::EntMdlr
void create_nodes (const Pos3dArray3d &)
 Creates nodes at the positions being passed as parameters.
 
Nodecreate_node (const Pos3d &pos, size_t i=1, size_t j=1, size_t k=1)
 Creates a node at the position being passed as parameter.
 
const Nodeset_node (size_t i, size_t j, size_t k, Node *)
 Set the (i,j,k) node. More...
 
bool create_elements (meshing_dir dm)
 Creates elements on the nodes created in create_nodes. More...
 
Pntcreate_point (const Pos3d &)
 Creates a point at the position being passed as parameter.
 
Pntcreate_point_if_needed (const Pos3d &, const double &tol=1e-6)
 Creates a point if there is no other existing point at a distance less that tol. More...
 
void create_points (const Pos3dArray &)
 Creates points at the positions being passed as parameters.
 
SetEstructcreate_row_set (const Array3dRange &, const std::string &)
 Creates a set that corresponds to a row of nodes and elements.
 
void clearAll (void)
 Clears object contents.
 
- Protected Member Functions inherited from XC::SetEstruct
void add_elements_to_handler (const ElemPtrArray3d &)
 Adds the elements to the element handler.
 
NodePtrSet getNodePtrSet (void)
 Returns the pointers to the set nodes.
 
- Protected Member Functions inherited from XC::EntMdlrBase
bool check_preprocessor (void) const
 Check for preprocessor.
 
int sendIdsLabels (const int &, const int &, Communicator &)
 Send labels through the communicator argument.
 
int recvIdsLabels (const int &, const int &, const Communicator &)
 Receive labels through the communicator argument.
 
int sendData (Communicator &)
 Send members through the communicator argument.
 
int recvData (const Communicator &)
 Receive members through the communicator argument.
 
- Protected Member Functions inherited from CommandEntity
template<class T >
void string_to (T &, const std::string &) const
 

Protected Attributes

bool hole
 true if the face is a hole.
 
size_t ndivj
 number of divisions in the j axis.
 
dq_holes holes
 holes in this surface.
 
- Protected Attributes inherited from XC::CmbEdge
std::deque< Sidelines
 Lines that compose the object.
 
- Protected Attributes inherited from XC::EntMdlr
NodePtrArray3d ttzNodes
 
ElemPtrArray3d ttzElements
 
- Protected Attributes inherited from XC::EntMdlrBase
LabelContainer labels
 Label container.
 

Friends

class Edge
 
class Body
 
class SetEntities
 

Additional Inherited Members

- Static Public Member Functions inherited from CommandEntity
static void resetStandardOutput (void)
 Reset the standard output streams to its defaults buffers.
 
- Static Public Member Functions inherited from EntityWithOwner
static int getVerbosityLevel (void)
 Get the value of the verbosity level.
 
static void setVerbosityLevel (const int &)
 Set the value of the verbosity level.
 
- Static Protected Member Functions inherited from CommandEntity
static CommandEntityentcmd_cast (boost::any &data)
 
- Static Protected Attributes inherited from EntityWithOwner
static int verbosity = 1
 Object that owns THIS ONE. More...
 

Detailed Description

Surface.

Constructor & Destructor Documentation

◆ Face() [1/2]

XC::Face::Face ( Preprocessor m,
const size_t &  ndivI = 4,
const size_t &  ndivJ = 4 
)

Constructor.

Parameters
ndivInumber of divisions for direction I.
ndivJnumber of divisions for direction J.

◆ Face() [2/2]

XC::Face::Face ( const std::string &  name,
Preprocessor m,
const size_t &  ndivI = 4,
const size_t &  ndivJ = 4 
)

Constructor.

Parameters
nameObject identifier.
mPointer to preprocessor.
ndivInumber of divisions for direction I.
ndivJnumber of divisions for direction J.

Member Function Documentation

◆ addHole()

void XC::Face::addHole ( PolygonalFace pFace)

Add a hole to the face.

Parameters
pFacehole to add.

◆ calc_ndiv_opposite_sides()

size_t XC::Face::calc_ndiv_opposite_sides ( const Edge edgeA,
const size_t &  nd 
) const
protected

Computes a suitable number of divisions for the edge argument and its opposite side.

◆ checkNDivs() [1/2]

bool XC::Face::checkNDivs ( const size_t &  i) const

Verifies that the number of divisions of the lines are compatible.

◆ checkNDivs() [2/2]

bool XC::Face::checkNDivs ( void  ) const
virtual

Verifies that the number of divisions of the lines are compatible.

◆ clockwise()

bool XC::Face::clockwise ( const Pos3d vPoint) const

Return true if the point list is oriented clockwise.

Parameters
vPointposition of the point of view.

◆ CommonEdge()

size_t XC::Face::CommonEdge ( const Face other) const

Returns the index of the edge in common with the surface being passed as parameter (if it exists).

◆ ConciliaNDivIJ()

void XC::Face::ConciliaNDivIJ ( void  )
virtual

Conciliate lines division numbers with those of the surface.

◆ counterclockwise()

bool XC::Face::counterclockwise ( const Pos3d vPoint) const

Return true if the points are counter-clockwise ordered with respect to the element.

◆ create_gmsh_surface()

int XC::Face::create_gmsh_surface ( void  ) const
protected

Ask Gmsh to create the surface corresponding to this face.

◆ findHole() [1/2]

XC::Face::hole_iterator XC::Face::findHole ( PolygonalFace pFace)

Return an iterator to the hole corresponding to the argument return holes.end() if not found.

◆ findHole() [2/2]

XC::Face::hole_const_iterator XC::Face::findHole ( PolygonalFace pFace) const

Return an iterator to the hole corresponding to the argument return holes.end() if not found.

◆ findHolePtr() [1/2]

const XC::PolygonalFace * XC::Face::findHolePtr ( PolygonalFace pFace) const

Return a pointer to the hole corresponding to the argument return nullptr if not found.

◆ findHolePtr() [2/2]

XC::PolygonalFace * XC::Face::findHolePtr ( PolygonalFace pFace)

Return a pointer to the hole corresponding to the argument return nullptr if not found.

◆ findSides()

std::deque< XC::Face::Side * > XC::Face::findSides ( const Pos3d pos)

Return a pointer to the side at the position argument.

If not found returns nullptr.

Parameters
pos3D position argument.

◆ findVertex()

XC::Pnt * XC::Face::findVertex ( const Pos3d pos)

Return a pointer to the vertex at the position argument.

If not found returns nullptr.

Parameters
pos3D position argument.

◆ get_index_opposite_side()

int XC::Face::get_index_opposite_side ( const int &  indice) const
protected

Return the index of th opposite side with respect to the one being passed as parameter.

◆ get_opposite_side() [1/2]

const XC::Edge * XC::Face::get_opposite_side ( const Edge l) const
protectedvirtual

Return the opposite side with respect to the one being passed as parameter.

◆ get_opposite_side() [2/2]

XC::Edge * XC::Face::get_opposite_side ( const Edge l)
protected

Return the opposite side with respect to the one being passed as parameter.

◆ getKVector()

Vector3d XC::Face::getKVector ( void  ) const
virtual

Returns a vector in the direction of the local Z axis.

Reimplemented from XC::Edge.

◆ getNDivErrors()

std::deque< const XC::Edge * > XC::Face::getNDivErrors ( const size_t &  i) const

If the i-th edge and its opposite edges are incompatibles return a list containing a pointer to each of them.

Otherwise returns an empty list.

◆ getNode() [1/2]

XC::Node * XC::Face::getNode ( const size_t &  i,
const size_t &  j,
const size_t &  k 
)
virtual

Returns a pointer to node which indices are being passed as parameters.

Parameters
iindex of the layer.
jindex of the row.
kindex of the column.

Reimplemented from XC::Edge.

◆ getNode() [2/2]

const XC::Node * XC::Face::getNode ( const size_t &  i,
const size_t &  j,
const size_t &  k 
) const
virtual

Returns a pointer to node which indices are being passed as parameters.

Parameters
iindex of the layer.
jindex of the row.
kindex of the column.

Reimplemented from XC::Edge.

◆ getOppositeEdge() [1/2]

const XC::Edge * XC::Face::getOppositeEdge ( const Edge e) const

Return the opposite side with respect to the one being passed as parameter.

◆ getOppositeEdge() [2/2]

XC::Edge * XC::Face::getOppositeEdge ( const Edge e)

Return the opposite side with respect to the one being passed as parameter.

◆ isFlat()

bool XC::Face::isFlat ( const double &  tol = 1e-6) const

return true if the surface is flat.

Parameters
toltolerance for the maximum distance from the vertexes to the theoretical plane.

◆ isWarped()

bool XC::Face::isWarped ( const double &  tol = 1e-6) const

return true if the surface is warped.

Parameters
toltolerance for the maximum distance from the vertexes to the theoretical plane.

◆ orientation()

std::string XC::Face::orientation ( const Pos3d vPoint) const

Return the orientation of the face.

Parameters
vPointposition of the point of view.

◆ reverse()

void XC::Face::reverse ( void  )
virtual

Reverse the verrtex sequence.

Changes the orientation of the object (I->J->K->L => L->K->J->I)

Reimplemented from XC::CmbEdge.

◆ revolve()

void XC::Face::revolve ( const int &  advance)

Move forward or backwards the sequence of vertexes.

Move forward or backwards the sequence of vertexes. For example if the given advance is 2. Changes the vertex sequence as follows newI= K, newJ= L, newK= I, newL= J.

◆ SenseOfEdge()

int XC::Face::SenseOfEdge ( const Edge l,
const Face other 
) const

Returns:

  • 1 if the line belongs to both surfaces and the orientation is the same.
  • -1 if the line belongs to both surfaces and the orientation is the opposite.
  • 0 line doesn't belongs to both surfaces.

◆ set_ndiv_opposite_sides()

void XC::Face::set_ndiv_opposite_sides ( const size_t &  A,
const size_t &  nd 
)
protected

Set the number of divisions for the edge argument and its opposite side.

◆ SetElemSize()

void XC::Face::SetElemSize ( const double &  sz,
bool  mustBeEven = true 
)
virtual

Computes the number of divisions on the i axis for an element edge size equal or lesser than the size being passed as parameter.

Parameters
szlength of the element side.
mustBeEvertrue if the number of divisions of each line must be even.

◆ SetElemSizeI()

void XC::Face::SetElemSizeI ( const double &  sz)
virtual

Computes the number of divisions on the i axis for an element edge size equal or lesser than the size being passed as parameter.

◆ SetElemSizeIJ()

void XC::Face::SetElemSizeIJ ( const double &  szI,
const double &  szJ 
)
virtual

Computes the number of divisions on the i and j axis for an element edges sizes equal or lesser than the sizes being passed as parameter.

◆ SetElemSizeJ()

void XC::Face::SetElemSizeJ ( const double &  sz)
virtual

Computes the number of divisions on the j axis for an element edge size equal or lesser than the size being passed as parameter.

◆ setIOrientation()

int XC::Face::setIOrientation ( const Vector3d v)

Set the orientation of the face i unit vector as close as possible to the given vector.

Parameters
vorientation vector.

◆ setKOrientation()

void XC::Face::setKOrientation ( const Vector3d v)

Set the orientation of the face normal according to the vector argument.

If the dot product of the vector and the surface normal vector is negative the method flips the surface.

Parameters
vorientation vector.

◆ setNDiv()

void XC::Face::setNDiv ( const size_t &  nd)
virtual

Sets the number of divisions for all its sides.

Parameters
ndnumber of divisions.

Reimplemented from XC::CmbEdge.


The documentation for this class was generated from the following files: