23 #ifndef QUADRILATERAL3D_H 24 #define QUADRILATERAL3D_H 26 #include "utility/geom/d2/D2to3d.h" 27 #include "utility/geom/d2/2d_polygons/Quadrilateral2d.h" 45 virtual GeomObj *getCopy(
void)
const 50 inline virtual unsigned int getNumVertices(
void)
const 51 {
return quad2d.getNumVertices(); }
52 inline virtual unsigned int getNumEdges(
void)
const 53 {
return quad2d.getNumEdges(); }
60 inline std::vector<double> getTributaryAreas(
void)
const 83 Plane getPlaneFromSide0(
unsigned int i)
const;
84 Plane getPlaneFromSide(
unsigned int i)
const;
90 GEOM_FT
Ix(
void)
const;
91 GEOM_FT
Iy(
void)
const;
92 GEOM_FT
Iz(
void)
const;
94 GEOM_FT
GetMax(
unsigned short int i)
const;
95 GEOM_FT
GetMin(
unsigned short int i)
const;
96 bool In(
const Pos3d &p,
const double &tol)
const;
99 GEOM_FT distSigno(
const Pos3d &p)
const;
107 boost::python::list getNaturalCoordinatesPy(
const boost::python::list &)
const;
108 std::vector<double>
Ni(
const Pos3d &)
const;
109 std::vector<std::vector<double> >
Ni(
const std::list<Pos3d> &)
const;
110 boost::python::list
NiPy(
const Pos3d &)
const;
111 boost::python::list
NiPy(
const boost::python::list &)
const;
126 void Print(std::ostream &os)
const;
GEOM_FT dist(const Pos3d &p) const
Return the distance from point to quadrilateral.
Definition: Quadrilateral3d.cc:352
GEOM_FT getArea(void) const
Return the area of the object.
Definition: Quadrilateral3d.h:58
GeomObj::list_Pos3d getVertexList(void) const
Return a Python list containing the positions of the quadrilateral vertices.
Definition: Quadrilateral3d.cc:83
Plane polygon in a 3D space.
Definition: Polygon3d.h:35
Pos3dArray genBilinMesh(const size_t &n1, const size_t &n2) const
Returns a point grid (the routine is taken from OpenSees).
Definition: Quadrilateral3d.cc:583
Segment en tres dimensiones.
Definition: Segment3d.h:41
Base class for position lists.
Definition: PolyPos.h:35
int getIndexOfDistalVertex(const Pos3d &) const
Return the distal vertex with respect to the point argument.
Definition: Quadrilateral3d.cc:166
Plane quadrilateral in a 3D space.
Definition: Quadrilateral3d.h:35
int getIndexOfDistalEdge(const Pos3d &) const
Return the index of the distal edge with respect to the point argument.
Definition: Quadrilateral3d.cc:121
GEOM_FT getLength(void) const
Return the length of the object.
Definition: Quadrilateral3d.h:55
Array of positions in a three-dimensional space.
Definition: Pos3dArray.h:38
GEOM_FT Iz(void) const
Moment of inertia with respect to an axis parallel to the z axis passing through the center of mass...
Definition: Quadrilateral3d.cc:273
Pos3d Centroid(void) const
Return the centroid (point interior to the polygon).
Definition: Quadrilateral3d.cc:243
Pos2d Vertice(unsigned int i) const
Return the position of the i-th vertex.
Definition: Polygon2d.h:157
Segment3d Clip(const Line3d &) const
Return the intersection of the quadrilateral with the line.
Definition: Quadrilateral3d.cc:427
Plane in a three-dimensional space.
Definition: Plane.h:49
Segment3d getIntersection(const Line3d &) const
Return the intersection with the line argument.
Definition: Quadrilateral3d.cc:506
int getIndexOfProximalEdge(const Pos3d &) const
Return the proximal edge with respect to the point argument.
Definition: Quadrilateral3d.cc:141
Pos2d Vertice0(unsigned int j) const
Return the position of the i-th vertex (0 based: j=0..getNumVertices()-1).
Definition: Polygon2d.h:161
Segment3d Lado(unsigned int i) const
Return the i-th edge (i between 1 and num_sides).
Definition: Quadrilateral3d.cc:105
bool In(const Pos3d &p, const double &tol) const
Return true if the point lies inside the quadrilateral (i.
Definition: Quadrilateral3d.cc:217
Vector3d getNormal(void) const
Return the normal to the quadrilateral.
Definition: Quadrilateral3d.cc:250
bool intersects(const Line3d &) const
Return true if the line intersects the quadrilateral.
Definition: Quadrilateral3d.cc:499
Ray in a three-dimensional space.
Definition: Ray3d.h:36
boost::python::list getVertexListPy(void) const
Return a Python list containing the positions of the quadrilateral vertices.
Definition: Quadrilateral3d.cc:94
GEOM_FT dist2(const Pos3d &p) const
Return the distance from point to quadrilateral.
Definition: Quadrilateral3d.cc:340
std::vector< double > getNaturalCoordinates(const Pos3d &) const
Return natural coordinates for point xy (in cartesian coord.) based on $ 23.6 from Felippa book:"Intr...
Definition: Quadrilateral3d.cc:363
Pos3d getMidpoint(void) const
Return the intersection between the lines that join the midpoints of the quadrilateral sides...
Definition: Quadrilateral3d.cc:423
bool counterclockwise(const Pos3d &) const
Return true if the point list is oriented counterclockwise.
Definition: Quadrilateral3d.cc:539
std::string orientation(const Pos3d &) const
Return the orientation of the quadrilateral (clockwise or counterclockwise).
Definition: Quadrilateral3d.cc:564
GEOM_FT GetMin(unsigned short int i) const
Return the minimum value of the i-th coordinate.
Definition: Quadrilateral3d.cc:285
GEOM_FT distSigno2(const Pos3d &p) const
Return the squared distance from from point to quadrilateral.
Definition: Quadrilateral3d.cc:311
Class that places 2D objects (circle, ellipse, polygons, ...) in a 3D space.
Definition: D2to3d.h:44
std::vector< double > Ni(const Pos3d &) const
Return the values of the shape functions for the point argument.
Definition: Quadrilateral3d.cc:389
Pos3d Vertice(unsigned int i) const
Return the position of the i-th vertex.
Definition: Quadrilateral3d.h:63
int getIndexOfProximalVertex(const Pos3d &) const
Return the proximal vertex with respect to the point argument.
Definition: Quadrilateral3d.cc:186
D2to3d(void)
Constructor.
Definition: D2to3d.cc:40
Segment3d Lado0(unsigned int i) const
Return the i-th side (i between 0 and num_sides-1).
Definition: Quadrilateral3d.cc:112
Pos3dArray genMesh(int n1, int n2) const
Returns a point grid.
Definition: Quadrilateral3d.cc:573
Quadrilateral on a bi-dimensional space.
Definition: Quadrilateral2d.h:44
std::vector< double > getTributaryAreas(void) const
Return the areas of the tributary polygons (one for each vertex).
Definition: Polygon2d.cc:415
Posición en tres dimensiones.
Definition: Pos3d.h:44
bool TocaCuadrante(const int &) const
Return true if alguno de los vertices toca el cuadrante que se pasa como parámetro.
Definition: Quadrilateral3d.cc:523
Line in a three-dimensional space.
Definition: Line3d.h:62
bool clockwise(const Pos3d &) const
Return true if the point list is oriented clockwise.
Definition: Quadrilateral3d.cc:534
GEOM_FT GetMax(unsigned short int i) const
Return the maximum value of the i-th coordinate.
Definition: Quadrilateral3d.cc:280
boost::python::list NiPy(const Pos3d &) const
Return a Python list containing the values of the shape functions for the point argument.
Definition: Quadrilateral3d.cc:418
GEOM_FT Iy(void) const
Moment of inertia with respect to an axis parallel to the y axis passing through the center of mass...
Definition: Quadrilateral3d.cc:264
virtual GEOM_FT getArea(void) const
Return the polygon area.
Definition: Polygon2d.cc:383
Pos3d Vertice0(unsigned int j) const
Return the position of the i-th vertex (0 based: j=0..getNumVertices()-1)
Definition: Quadrilateral3d.h:67
Pos3d getCenterOfMass(void) const
Return the center of mass of the quadrilateral.
Definition: Quadrilateral3d.cc:233
Clase base para las entidades geométricas.
Definition: GeomObj.h:40
Vector en tres dimensiones.
Definition: Vector3d.h:39
Two-dimensional reference system defined in a three-dimensional space.
Definition: Ref2d3d.h:41
virtual GEOM_FT getLength(void) const
Return the perimeter of the surface.
Definition: PolygonalSurface2d.cc:90
GEOM_FT Ix(void) const
Moment of inertia with respect to an axis parallel to the x axis passing through the center of mass...
Definition: Quadrilateral3d.cc:255
Three-dimensional reference system defined in a three-dimensional space.
Definition: Ref3d3d.h:39
Pos3d to_3d(const Pos2d &) const
Return the 3D point corresponding to the 2D point argument.
Definition: D2to3d.cc:100