#include <StdMeshers_Quadrangle_2D.hxx>
Data Structures | |
struct | Side |
struct | SideIterator |
Public Types | |
typedef boost::shared_ptr < FaceQuadStruct > | Ptr |
Public Member Functions | |
FaceQuadStruct (const TopoDS_Face &F=TopoDS_Face(), const std::string &nm="main") | |
Constructor of a quad. More... | |
UVPtStruct & | UVPt (int i, int j) |
double & | U (int i, int j) |
double & | V (int i, int j) |
void | shift (size_t nb, bool keepUnitOri, bool keepGrid=false) |
Rotate sides of a quad CCW by given nb of quartes. More... | |
int & | nbNodeOut (int iSide) |
bool | findCell (const gp_XY &uv, int &i, int &j) |
Finds indices of a grid quad enclosing the given enforced UV. More... | |
bool | isNear (const gp_XY &uv, int &i, int &j, int nbLoops=1) |
Looks for UV in quads around a given (I,J) and precise (I,J) More... | |
bool | isEqual (const gp_XY &uv, int i, int j) |
Checks if a given UV is equal to a given grid point. More... | |
void | normPa2IJ (double x, double y, int &i, int &j) |
Find indices (i,j) of a point in uv_grid by normalized parameters (x,y) More... | |
void | updateUV (const gp_XY &uv, int i, int j, bool isVertical) |
Recompute UV of grid points around a moved point in one direction. More... | |
Data Fields | |
std::vector< Side > | side |
std::vector< UVPtStruct > | uv_grid |
int | iSize |
int | jSize |
TopoDS_Face | face |
Bnd_B2d | uv_box |
std::string | name |
typedef boost::shared_ptr<FaceQuadStruct> FaceQuadStruct::Ptr |
FaceQuadStruct::FaceQuadStruct | ( | const TopoDS_Face & | F = TopoDS_Face() , |
const std::string & | nm = "main" |
||
) |
Constructor of a quad.
References side.
Finds indices of a grid quad enclosing the given enforced UV.
References SMESH_MeshAlgos::GetBarycentricCoords(), iSize, isNear(), jSize, Max(), Min(), normPa2IJ(), uvPtStruct::UV(), uv_box, and UVPt().
Looks for UV in quads around a given (I,J) and precise (I,J)
References SMESH_MeshAlgos::GetBarycentricCoords(), iSize, jSize, uvPtStruct::UV(), and UVPt().
Referenced by findCell().
Find indices (i,j) of a point in uv_grid by normalized parameters (x,y)
References iSize, jSize, Min(), and UVPt().
Referenced by findCell().
Rotate sides of a quad CCW by given nb of quartes.
nb | - number of rotation quartes |
ori | - to keep orientation of sides as in an unit quad or not |
keepGrid | - if true Side::grid is not changed, Side::from and Side::to are altered instead |
References FaceQuadStruct::Side::contacts, iSize, jSize, NB_QUAD_SIDES, QUAD_BOTTOM_SIDE, QUAD_TOP_SIDE, reverse(), side, uv_grid, and UVPt().
References uvPtStruct::u, and UVPt().
Recompute UV of grid points around a moved point in one direction.
References calcUV(), iSize, jSize, uvPtStruct::u, uvPtStruct::UV(), UVPt(), uvPtStruct::v, uvPtStruct::x, and uvPtStruct::y.
UVPtStruct& FaceQuadStruct::UVPt | ( | int | i, |
int | j | ||
) |
References iSize, and uv_grid.
Referenced by findCell(), isEqual(), isNear(), normPa2IJ(), shift(), U(), updateUV(), and V().
References UVPt(), and uvPtStruct::v.
TopoDS_Face FaceQuadStruct::face |
Referenced by isEqual().
int FaceQuadStruct::iSize |
Referenced by findCell(), isEqual(), isNear(), normPa2IJ(), shift(), updateUV(), and UVPt().
int FaceQuadStruct::jSize |
Referenced by findCell(), isEqual(), isNear(), normPa2IJ(), shift(), and updateUV().
std::string FaceQuadStruct::name |
Referenced by StdMeshers_Quadrangle_2D::splitQuad().
std::vector< Side > FaceQuadStruct::side |
Bnd_B2d FaceQuadStruct::uv_box |
Referenced by findCell().
std::vector< UVPtStruct> FaceQuadStruct::uv_grid |