xc
Public Member Functions | List of all members
Quadrilateral3d Class Reference

Plane quadrilateral in a 3D space. More...

#include <Quadrilateral3d.h>

Inheritance diagram for Quadrilateral3d:
Inheritance graph
[legend]
Collaboration diagram for Quadrilateral3d:
Collaboration graph
[legend]

Public Member Functions

 Quadrilateral3d (const Pos3d &p1, const Pos3d &p2, const Pos3d &p3, const Pos3d &p4)
 Constructor.
 
 Quadrilateral3d (const Ref2d3d &, const Quadrilateral2d &p=Quadrilateral2d())
 Constructor.
 
 Quadrilateral3d (const Ref3d3d &, const Quadrilateral2d &p=Quadrilateral2d())
 Constructor.
 
 Quadrilateral3d (const GeomObj::list_Pos3d &)
 Constructor.
 
 Quadrilateral3d (const boost::python::list &)
 Constructor.
 
virtual GeomObjgetCopy (void) const
 
Polygon3d getPolygon3d (void) const
 
virtual unsigned int getNumVertices (void) const
 
virtual unsigned int getNumEdges (void) const
 
GEOM_FT getLength (void) const
 Return the length of the object.
 
GEOM_FT getArea (void) const
 Return the area of the object.
 
std::vector< double > getTributaryAreas (void) const
 
Pos3d Vertice (unsigned int i) const
 Return the position of the i-th vertex.
 
Pos3d Vertice0 (unsigned int j) const
 Return the position of the i-th vertex (0 based: j=0..getNumVertices()-1)
 
GeomObj::list_Pos3d getVertexList (void) const
 Return a Python list containing the positions of the quadrilateral vertices. More...
 
boost::python::list getVertexListPy (void) const
 Return a Python list containing the positions of the quadrilateral vertices. More...
 
Segment3d Lado0 (unsigned int i) const
 Return the i-th side (i between 0 and num_sides-1).
 
Segment3d Lado (unsigned int i) const
 Return the i-th edge (i between 1 and num_sides).
 
int getIndexOfDistalEdge (const Pos3d &) const
 Return the index of the distal edge with respect to the point argument. More...
 
int getIndexOfProximalEdge (const Pos3d &) const
 Return the proximal edge with respect to the point argument. More...
 
int getIndexOfDistalVertex (const Pos3d &) const
 Return the distal vertex with respect to the point argument. More...
 
int getIndexOfProximalVertex (const Pos3d &) const
 Return the proximal vertex with respect to the point argument. More...
 
bool clockwise (const Pos3d &) const
 Return true if the point list is oriented clockwise. More...
 
bool counterclockwise (const Pos3d &) const
 Return true if the point list is oriented counterclockwise. More...
 
void swap (void)
 
std::string orientation (const Pos3d &) const
 Return the orientation of the quadrilateral (clockwise or counterclockwise). More...
 
Plane getPlaneFromSide0 (unsigned int i) const
 
Plane getPlaneFromSide (unsigned int i) const
 
Vector3d getNormal (void) const
 Return the normal to the quadrilateral.
 
Pos3d getCenterOfMass (void) const
 Return the center of mass of the quadrilateral.
 
Pos3d Centroid (void) const
 Return the centroid (point interior to the polygon). More...
 
GEOM_FT Ix (void) const
 Moment of inertia with respect to an axis parallel to the x axis passing through the center of mass. More...
 
GEOM_FT Iy (void) const
 Moment of inertia with respect to an axis parallel to the y axis passing through the center of mass. More...
 
GEOM_FT Iz (void) const
 Moment of inertia with respect to an axis parallel to the z axis passing through the center of mass. More...
 
GEOM_FT GetMax (unsigned short int i) const
 Return the maximum value of the i-th coordinate.
 
GEOM_FT GetMin (unsigned short int i) const
 Return the minimum value of the i-th coordinate.
 
bool In (const Pos3d &p, const double &tol) const
 Return true if the point lies inside the quadrilateral (i. More...
 
bool TocaCuadrante (const int &) const
 Return true if alguno de los vertices toca el cuadrante que se pasa como parámetro. More...
 
GEOM_FT distSigno (const Pos3d &p) const
 
GEOM_FT dist (const Pos3d &p) const
 Return the distance from point to quadrilateral. More...
 
GEOM_FT distSigno2 (const Pos3d &p) const
 Return the squared distance from from point to quadrilateral. More...
 
GEOM_FT dist2 (const Pos3d &p) const
 Return the distance from point to quadrilateral. More...
 
std::vector< double > getNaturalCoordinates (const Pos3d &) const
 Return natural coordinates for point xy (in cartesian coord.) based on $ 23.6 from Felippa book:"Introduction to Finite Element Methods" see IFEM.Ch23.pdf. More...
 
std::vector< std::vector< double > > getNaturalCoordinates (const std::list< Pos3d > &) const
 Return natural coordinates for points xy (in cartesian coord.) More...
 
boost::python::list getNaturalCoordinatesPy (const boost::python::list &) const
 
std::vector< double > Ni (const Pos3d &) const
 Return the values of the shape functions for the point argument.
 
std::vector< std::vector< double > > Ni (const std::list< Pos3d > &) const
 Return a vector of vectors containing the values of the shape functions for the points in the argument list. More...
 
boost::python::list NiPy (const Pos3d &) const
 Return a Python list containing the values of the shape functions for the point argument.
 
boost::python::list NiPy (const boost::python::list &) const
 Return a Python list containing the values of the shape functions for the points in the argument list. More...
 
Pos3d getMidpoint (void) const
 Return the intersection between the lines that join the midpoints of the quadrilateral sides. More...
 
Segment3d Clip (const Line3d &) const
 Return the intersection of the quadrilateral with the line.
 
Segment3d Clip (const Ray3d &) const
 Return the intersection of the quadrilateral and the ray.
 
Segment3d Clip (const Segment3d &) const
 Return the intersection of the quadrilateral and the segment.
 
bool intersects (const Line3d &) const
 Return true if the line intersects the quadrilateral.
 
Segment3d getIntersection (const Line3d &) const
 Return the intersection with the line argument.
 
bool intersects (const Plane &) const
 Return true if the plane intersects the quadrilateral.
 
Segment3d getIntersection (const Plane &) const
 Return the intersection with the plane argument.
 
Pos3dArray genMesh (int n1, int n2) const
 Returns a point grid.
 
Pos3dArray genBilinMesh (const size_t &n1, const size_t &n2) const
 Returns a point grid (the routine is taken from OpenSees).
 
void Print (std::ostream &os) const
 
- Public Member Functions inherited from D2to3d
 D2to3d (void)
 Constructor.
 
virtual bool operator== (const D2to3d &) const
 Comparison operator.
 
void ThreePoints (const Pos3d &p1, const Pos3d &p2, const Pos3d &p3)
 
virtual unsigned short int Dimension (void) const
 Return the dimension of the object: 0, 1, 2 or 3.
 
Vector3d getIVector (void) const
 Return the unary vector I expressed in global coordinates.
 
Vector3d getJVector (void) const
 Return the unary vector J expressed in global coordinates.
 
Vector3d getKVector (void) const
 Return the unary vector K expressed in global coordinates.
 
Pos3d to_3d (const Pos2d &) const
 Return the 3D point corresponding to the 2D point argument.
 
Vector3d to_3d (const Vector2d &) const
 Return the 3D vector corresponding to the 2D vector argument.
 
Line3d to_3d (const Line2d &) const
 Return the 3D line corresponding to the 2D line argument.
 
Ray3d to_3d (const Ray2d &) const
 Return the 3D ray corresponding to the 2D ray argument.
 
Segment3d to_3d (const Segment2d &) const
 Return the 3D segment corresponding to the 2D segment argument.
 
Pos3dArray to_3d (const Pos2dArray &) const
 
Pos2d to_2d (const Pos3d &) const
 Return the 2D point corresponding to the 3D point argument.
 
Vector2d to_2d (const Vector3d &) const
 Return the 2D vector corresponding to the 3D vector argument.
 
Line2d to_2d (const Line3d &) const
 Return the 2D line corresponding to the 3D line argument.
 
Ray2d to_2d (const Ray3d &) const
 Return the 2D ray corresponding to the 3D ray argument.
 
Segment2d to_2d (const Segment3d &) const
 Return the 2D segment corresponding to the 3D segment argument.
 
const Ref2d3dgetRef (void) const
 
Plane getPlane (void) const
 
- Public Member Functions inherited from Surface3d
GEOM_FT getPerimeter (void) const
 
virtual GEOM_FT getVolume (void) const
 Return the volume of the object.
 
virtual GEOM_FT IArea (void) const
 
- Public Member Functions inherited from GeomObj3d
GEOM_FT GetXMax (void) const
 
GEOM_FT GetYMax (void) const
 
GEOM_FT GetZMax (void) const
 
GEOM_FT GetXMin (void) const
 
GEOM_FT GetYMin (void) const
 
GEOM_FT GetZMin (void) const
 
virtual void XProjection (void)
 
virtual void YProjection (void)
 
virtual void ZProjection (void)
 
virtual Pos3d Projection (const Pos3d &) const
 Return the orthogonal projection onto the line. More...
 
virtual Vector3d Projection (const Vector3d &) const
 Return the projection onto the line. More...
 
Pos3d getPMax (void) const
 
Pos3d getPMin (void) const
 
BND3d Bnd (void) const
 Return the boundary of the object.
 
virtual bool Out (const Pos3d &p, const double &tol=0.0) const
 Return true if the point lies outside the object.
 
virtual GEOM_FT getCenterOfMassFactor (void) const
 Return the factor used for the computation of the center of mass (1.0 by default). More...
 
virtual GEOM_FT Pxy (void) const
 
virtual GEOM_FT Pxz (void) const
 
virtual GEOM_FT Pyz (void) const
 
GEOM_FT I (const unsigned short int &i, const unsigned short int &j) const
 
GEOM_FT I (const Pos3d &O, const Vector3d &e) const
 Return el moment of inertia with respect to the axis that passes through O with the direction of e. More...
 
GEOM_FT I (const Line3d &r) const
 Return el moment of inertia with respect to the argument line.
 
GEOM_FT I (const unsigned short int i, const unsigned short int j, const Pos3d &o) const
 Return el moment of inertia (i,j) respect to the axis parallel to i through o. More...
 
GEOM_FT IO (const Pos3d &o) const
 Return the polar moment of inertia with respect to the point o.
 
FT_matrix I (void) const
 Return the inertia tensor with respect to the center of mass of the object. More...
 
FT_matrix I (const Pos3d &o) const
 Return the inertia tensor with respect to the point o.
 
- Public Member Functions inherited from GeomObj
 GeomObj (void)
 Constructor.
 
virtual bool hasCenterOfMass (void) const
 Return true if the object has a center of mass.
 
GEOM_FT getCenterOfMassArea (void) const
 Return the dimension used to compute the center of mass, as follows: More...
 
virtual void Plot (Plotter &) const
 
- Public Member Functions inherited from ProtoGeom
 ProtoGeom (void)
 False when solution is not possible: intersection of parallel planes. More...
 
void setExists (bool e)
 
bool exists (void) const
 
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.
 
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.
 
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 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
 

Additional Inherited Members

- Public Types inherited from GeomObj3d
typedef PolyPos< Pos3dlist_Pos3d
 
- Public Types inherited from GeomObj
typedef PolyPos< Pos3dlist_Pos3d
 
typedef PolyPos< Pos2dlist_Pos2d
 
- Public Types inherited from EntityWithProperties
typedef std::map< std::string, boost::python::object > PythonDict
 
- 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.
 
- Protected Member Functions inherited from D2to3d
 D2to3d (const Ref2d3d &)
 Constructor.
 
 D2to3d (const Ref3d3d &)
 Constructor.
 
 D2to3d (const Pos3d &o)
 Constructor.
 
 D2to3d (const Pos3d &o, const Pos3d &p, const Pos3d &q)
 Constructor.
 
 D2to3d (const Pos3d &o, const Vector3d &n, const Vector3d &i)
 Constructor.
 
- Protected Member Functions inherited from CommandEntity
template<class T >
void string_to (T &, const std::string &) const
 
- Protected Member Functions inherited from EntityWithProperties
bool isEqual (const EntityWithProperties &) const
 Return true if both objects are equal.
 
- Protected Member Functions inherited from EntityWithOwner
virtual bool isEqual (const EntityWithOwner &) const
 Return true if both objects are equal.
 
- 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

Plane quadrilateral in a 3D space.

Member Function Documentation

◆ Centroid()

Pos3d Quadrilateral3d::Centroid ( void  ) const

Return the centroid (point interior to the polygon).

Return the centroid (point interior to the polygon). See the book Sistemas de Información Geográfica de Joaquín Bosque Sendra (Ed. Rialp ).

◆ clockwise()

bool Quadrilateral3d::clockwise ( const Pos3d vPoint) const

Return true if the point list is oriented clockwise.

Parameters
vPointposition of the point of view.

◆ counterclockwise()

bool Quadrilateral3d::counterclockwise ( const Pos3d vPoint) const

Return true if the point list is oriented counterclockwise.

Parameters
vPointposition of the point of view.

◆ dist()

GEOM_FT Quadrilateral3d::dist ( const Pos3d p) const
virtual

Return the distance from point to quadrilateral.

This distance is computed as the maximum of the signed distances from the point to each of the planes that contain a side and are perpendicular to the plane that contains the quadrilateral. In the point is inside the quadrilateral 0 is returned.

Reimplemented from Surface3d.

◆ dist2()

GEOM_FT Quadrilateral3d::dist2 ( const Pos3d p) const
virtual

Return the distance from point to quadrilateral.

Distance is computed as the maximum of the distances (signed) from the point to each of the planes that contain a side and are normal to the plane that contains the quadrilateral. If the point is inside the quadrilateral 0 is returned.

Reimplemented from Surface3d.

◆ distSigno2()

GEOM_FT Quadrilateral3d::distSigno2 ( const Pos3d p) const

Return the squared distance from from point to quadrilateral.

The distance is computed as the maximum of: -The distance from the point to the plane that contains the quadrilateral. -The signed distances from the point to each of the half spaces defined by the plane that contains the quadrilateral.

◆ getIndexOfDistalEdge()

int Quadrilateral3d::getIndexOfDistalEdge ( const Pos3d p) const

Return the index of the distal edge with respect to the point argument.

Parameters
p2D point.

◆ getIndexOfDistalVertex()

int Quadrilateral3d::getIndexOfDistalVertex ( const Pos3d p) const

Return the distal vertex with respect to the point argument.

Parameters
p2D point.

◆ getIndexOfProximalEdge()

int Quadrilateral3d::getIndexOfProximalEdge ( const Pos3d p) const

Return the proximal edge with respect to the point argument.

Parameters
p2D point.

◆ getIndexOfProximalVertex()

int Quadrilateral3d::getIndexOfProximalVertex ( const Pos3d p) const

Return the proximal vertex with respect to the point argument.

Parameters
p2D point.

◆ getMidpoint()

Pos3d Quadrilateral3d::getMidpoint ( void  ) const

Return the intersection between the lines that join the midpoints of the quadrilateral sides.

◆ getNaturalCoordinates() [1/2]

std::vector< double > Quadrilateral3d::getNaturalCoordinates ( const Pos3d p) const

Return natural coordinates for point xy (in cartesian coord.) based on $ 23.6 from Felippa book:"Introduction to Finite Element Methods" see IFEM.Ch23.pdf.

Parameters
pposition in cartesian coordinates.

◆ getNaturalCoordinates() [2/2]

std::vector< std::vector< double > > Quadrilateral3d::getNaturalCoordinates ( const std::list< Pos3d > &  points) const

Return natural coordinates for points xy (in cartesian coord.)

Parameters
pointspositions in cartesian coordinates.

◆ getVertexList()

GeomObj::list_Pos3d Quadrilateral3d::getVertexList ( void  ) const

Return a Python list containing the positions of the quadrilateral vertices.

◆ getVertexListPy()

boost::python::list Quadrilateral3d::getVertexListPy ( void  ) const

Return a Python list containing the positions of the quadrilateral vertices.

◆ In()

bool Quadrilateral3d::In ( const Pos3d p,
const double &  tol 
) const
virtual

Return true if the point lies inside the quadrilateral (i.

e. the distance from the point to the quadrilateral is less than the tolerance argument).

Reimplemented from GeomObj3d.

◆ Ix()

GEOM_FT Quadrilateral3d::Ix ( void  ) const
virtual

Moment of inertia with respect to an axis parallel to the x axis passing through the center of mass.

Implements GeomObj3d.

◆ Iy()

GEOM_FT Quadrilateral3d::Iy ( void  ) const
virtual

Moment of inertia with respect to an axis parallel to the y axis passing through the center of mass.

Implements GeomObj3d.

◆ Iz()

GEOM_FT Quadrilateral3d::Iz ( void  ) const
virtual

Moment of inertia with respect to an axis parallel to the z axis passing through the center of mass.

Implements GeomObj3d.

◆ Ni()

std::vector< std::vector< double > > Quadrilateral3d::Ni ( const std::list< Pos3d > &  points) const

Return a vector of vectors containing the values of the shape functions for the points in the argument list.

Parameters
pointspoints where the shape functions are evaluated.

◆ NiPy()

boost::python::list Quadrilateral3d::NiPy ( const boost::python::list &  points) const

Return a Python list containing the values of the shape functions for the points in the argument list.

Parameters
pointspoints where the shape functions are evaluated.

◆ orientation()

std::string Quadrilateral3d::orientation ( const Pos3d vPoint) const

Return the orientation of the quadrilateral (clockwise or counterclockwise).

◆ TocaCuadrante()

bool Quadrilateral3d::TocaCuadrante ( const int &  cuadrante) const

Return true if alguno de los vertices toca el cuadrante que se pasa como parámetro.


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