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

Surface. More...

#include <Face.h>

Inheritance diagram for XC::Face:
XC::CmbEdge XC::Edge XC::EntMdlr XC::SetEstruct XC::SetBase XC::EntMdlrBase XC::MovableObject XC::DistributedBase XC::QuadSurface

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 &nombre, Preprocessor *m, const size_t &ndivI=4, const size_t &ndivJ=4)
 Constructor. More...
 
virtual unsigned short int GetDimension (void) const
 Returns the dimension of the object.
 
void update_topology (void)
 Updates topology.
 
size_t NDivI (void) const
 
virtual void SetNDivI (const size_t &ndi)
 Sets the number of divisions for direction I.
 
size_t NDivJ (void) const
 
virtual void SetNDivJ (const size_t &ndj)
 Sets the number of divisions for direction J.
 
virtual void ConciliaNDivIJ (void)=0
 
size_t getNumberOfVertices (void) const
 Returns the number of vertices.
 
virtual const PntgetVertex (const size_t &i) const
 Returns the i-th vertex.
 
Polyline3d getContour (void) const
 Returns the contour of the face as a 3D polyline.
 
const std::set< const Body * > & getConnectedBodies (void) const
 Return the bodies that touch this surface (neighbors).
 
size_t CommonEdge (const Face &otra) 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 &otra) const
 Returns: More...
 
bool isConnectedTo (const Body &b) const
 Returns true if the lines touches the body (neighbor).
 
virtual bool checkNDivs (void) const =0
 
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.
 
int getVtkCellType (void) const
 Interfaz con VTK.
 
- Public Member Functions inherited from XC::CmbEdge
 CmbEdge (void)
 Constructor.
 
 CmbEdge (Preprocessor *m, const size_t &nd=4)
 Constructor.
 
 CmbEdge (const std::string &nombre, Preprocessor *m, const size_t &nd)
 Constructor. More...
 
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 edge set 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.
 
void SetNDiv (const size_t &nd)
 Sets the number of divisions for the whole object. More...
 
size_t getNumberOfEdges (void) const
 Return the number of edges.
 
std::deque< Side > & getSides (void)
 
void reverse (void)
 
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.
 
Pos3d getCentroid (void) const
 Return the centroid of the line.
 
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
 Searchs 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 which extremes are the points being passed as parameters. More...
 
SidegetSideByPoints (const Pnt *, const Pnt *)
 Return the side which extremes are the points being passed as parameters. More...
 
const SidegetSideByPoints (const size_t &, const size_t &) const
 Return the side which extremes 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.
 
virtual void SetVertice (const size_t &, Pnt *)
 Sets the i-th vertex.
 
virtual ID getKPoints (void) const
 Returns object k-points.
 
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 &nombre="", Preprocessor *m=nullptr, const size_t &nd=4)
 Constructor. More...
 
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 ExtremosEn (const Pnt *, const Pnt *) const
 Returns true if the points passed as parameters are the ends of the edge. More...
 
std::vector< int > getIndicesVertices (void) const
 Return indices of the vertices.
 
void SetElemSize (const double &sz)
 Compute the number of divisions necessary to get the element size passed as parameter. More...
 
std::set< const XC::Edge * > getHomologousSides (const std::set< const XC::Edge *> &) const
 Return the homologous sides to that passed as a parameter.
 
const std::set< const Face * > & getConnectedSurfaces (void) const
 Return the surfaces that touch the line.
 
const std::string & getConnectedSurfacesNames (void) const
 Return the surface names that touch the line. More...
 
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 Extremo (const Pnt &) const
 Return true if it is an end point of the line.
 
virtual void create_nodes (void)
 Create nodes on objects.
 
virtual Pos3dArray get_nodes_pos (void) const
 Return a matrix of positions along the line.
 
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.
 
void add_to_sets (std::set< SetBase *> &)
 Add the «edge» to the sets passed as parameters.
 
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.
 
- Public Member Functions inherited from XC::EntMdlr
 EntMdlr (Preprocessor *m, const size_t &i=0)
 Constructor.
 
 EntMdlr (const std::string &nombre="", const size_t &i=0, Preprocessor *m=nullptr)
 Constructor. More...
 
 EntMdlr (const EntMdlr &)
 Copy constructor.
 
EntMdlroperator= (const EntMdlr &)
 Assignment operator.
 
virtual void set_index (const size_t &i)
 Assigns the objects index for its use in VTK arrays(see numera in Set). More...
 
size_t getIdx (void) const
 Returns the index of the object for it use in VTK arrays.
 
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 paremeters. 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 paremeters. 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.
 
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 getSquaredDistanceTo (const Pos3d &pt) const
 Return the squared distance to the position being passed as parameter. More...
 
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.
 
virtual ~EntMdlr (void)
 Destructor.
 
- 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)
 
std::set< int > getElementTags (void) const
 Returns the tags of the elements.
 
boost::python::list getElements (void)
 
ElementEdges getElementEdges (void)
 Returns the element edges with both end nodes belong to the nodes of the set. More...
 
- Public Member Functions inherited from XC::SetBase
 SetBase (const std::string &nmb="", Preprocessor *preprocessor=nullptr)
 Constructor.
 
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.
 
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...
 
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...
 
- 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).
 
const PreprocessorgetPreprocessor (void) const
 Return a pointer to the object preprocessor.
 
PreprocessorgetPreprocessor (void)
 Return a pointer to the object preprocessor.
 
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 (CommParameters &)
 Send objects through the channel being passed as parameter.
 
virtual int recvSelf (const CommParameters &)
 Receive objects through the channel being passed as parameter.
 
- 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 (CommParameters &)
 Return the object identifier in the database.
 
void setDbTag (int dbTag)
 Sets the object identifier in the database.
 
void setDbTag (CommParameters &)
 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 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

virtual const Edgeget_lado_homologo (const Edge *l) const =0
 
- Protected Member Functions inherited from XC::CmbEdge
Pos3dArray get_positions (void) const
 Return positions 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 create_line_nodes (void)
 Triggers node creation on the edges.
 
void line_meshing (meshing_dir dm)
 Triggers meshing of lines.
 
PntP1 (void)
 Return a pointer to the edge's start point.
 
PntP2 (void)
 Return a pointer to the edge's start point.
 
void close (void)
 Close the line.
 
- 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_en_extremos (void)
 Create the nodes for both end points of the edge.
 
- 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.
 
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.
 
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 (const ElemPtrArray3d &)
 Adds to the model the elements being passed as parameters.
 
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 sendIdsEtiquetas (const int &, const int &, CommParameters &)
 Send labels through the channel being passed as parameter.
 
int recvIdsEtiquetas (const int &, const int &, const CommParameters &)
 Receive labels through the channel being passed as parameter.
 
int sendData (CommParameters &)
 Send members through the channel being passed as parameter.
 
int recvData (const CommParameters &)
 Receive members through the channel being passed as parameter.
 

Protected Attributes

size_t ndivj
 
- 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
 

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 &  nombre,
Preprocessor m,
const size_t &  ndivI = 4,
const size_t &  ndivJ = 4 
)

Constructor.

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

Member Function Documentation

§ CommonEdge()

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

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

§ 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.

§ SenseOfEdge()

int XC::Face::SenseOfEdge ( const Edge l,
const Face otra 
) 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.

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