#include <StdMeshers_Quadrangle_2D.hxx>
Classes | |
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... | |
bool | findCell (const gp_XY &uv, int &i, int &j) |
Finds indices of a grid quad enclosing the given enforced UV. More... | |
bool | isEqual (const gp_XY &uv, int i, int j) |
Checks if a given UV is equal to a given grid point. 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... | |
int & | nbNodeOut (int iSide) |
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 | shift (size_t nb, bool keepUnitOri, bool keepGrid=false) |
Rotate sides of a quad CCW by given nb of quartes. More... | |
double & | U (int i, int j) |
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... | |
UVPtStruct & | UVPt (int i, int j) |
double & | V (int i, int j) |
Public Attributes | |
TopoDS_Face | face |
int | iSize |
int | jSize |
std::string | name |
std::vector< Side > | side |
Bnd_B2d | uv_box |
std::vector< UVPtStruct > | uv_grid |
Member Typedef Documentation
◆ Ptr
typedef boost::shared_ptr<FaceQuadStruct> FaceQuadStruct::Ptr |
Constructor & Destructor Documentation
◆ FaceQuadStruct()
FaceQuadStruct::FaceQuadStruct | ( | const TopoDS_Face & | F = TopoDS_Face() , |
const std::string & | nm = "main" |
||
) |
Constructor of a quad.
References side.
Member Function Documentation
◆ findCell()
bool FaceQuadStruct::findCell | ( | const gp_XY & | uv, |
int & | i, | ||
int & | j | ||
) |
Finds indices of a grid quad enclosing the given enforced UV.
References SMESH_MeshAlgos::GetBarycentricCoords(), iSize, isNear(), jSize, normPa2IJ(), uvPtStruct::UV(), uv_box, and UVPt().
◆ isEqual()
bool FaceQuadStruct::isEqual | ( | const gp_XY & | uv, |
int | i, | ||
int | j | ||
) |
◆ isNear()
bool FaceQuadStruct::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)
References SMESH_MeshAlgos::GetBarycentricCoords(), iSize, jSize, uvPtStruct::UV(), and UVPt().
Referenced by findCell().
◆ nbNodeOut()
int& FaceQuadStruct::nbNodeOut | ( | int | iSide | ) |
References side.
◆ normPa2IJ()
void FaceQuadStruct::normPa2IJ | ( | double | x, |
double | y, | ||
int & | i, | ||
int & | j | ||
) |
Find indices (i,j) of a point in uv_grid by normalized parameters (x,y)
References iSize, jSize, and UVPt().
Referenced by findCell().
◆ shift()
Rotate sides of a quad CCW by given nb of quartes.
- Parameters
-
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, DraftVecUtils::find(), iSize, jSize, side, uv_grid, and UVPt().
◆ U()
double& FaceQuadStruct::U | ( | int | i, |
int | j | ||
) |
References uvPtStruct::u, and UVPt().
◆ updateUV()
void FaceQuadStruct::updateUV | ( | const gp_XY & | uv, |
int | i, | ||
int | j, | ||
bool | isVertical | ||
) |
Recompute UV of grid points around a moved point in one direction.
References iSize, jSize, uvPtStruct::u, uvPtStruct::UV(), UVPt(), uvPtStruct::v, uvPtStruct::x, and uvPtStruct::y.
◆ UVPt()
UVPtStruct& FaceQuadStruct::UVPt | ( | int | i, |
int | j | ||
) |
References iSize, and uv_grid.
Referenced by findCell(), isEqual(), isNear(), normPa2IJ(), shift(), U(), updateUV(), and V().
◆ V()
double& FaceQuadStruct::V | ( | int | i, |
int | j | ||
) |
References UVPt(), and uvPtStruct::v.
Member Data Documentation
◆ face
TopoDS_Face FaceQuadStruct::face |
Referenced by FeaturePython.ViewProviderOctahedron::updateData().
◆ iSize
int FaceQuadStruct::iSize |
Referenced by findCell(), isEqual(), isNear(), normPa2IJ(), shift(), updateUV(), and UVPt().
◆ jSize
int FaceQuadStruct::jSize |
Referenced by findCell(), isEqual(), isNear(), normPa2IJ(), shift(), and updateUV().
◆ name
std::string FaceQuadStruct::name |
Referenced by prototype.Node::addtofreecad(), drafttaskpanels.task_polararray.TaskPanelPolarArray::create_object(), drafttaskpanels.task_orthoarray.TaskPanelOrthoArray::create_object(), drafttaskpanels.task_circulararray.TaskPanelCircularArray::create_object(), addonmanager_macro.Macro::filename(), gzip_utf8.GzipFile::filename(), ifc4.ifcapproval::hasidentifierorname(), femsolver.elmer.sifio.Section::keys(), automotive_design.si_unit::named_unit_dimensions(), Mod.PartDesign.WizardShaft.SegmentFunction.SegmentFunction::output(), prototype.Node::pprint(), prototype.Node::pprint2(), draftguitools.gui_pointarray.PointArray::proceed(), draftguitools.gui_patharray.PathArray::proceed(), PathScripts.PathSetupSheetGui.OpTaskPanel::propertyGroup(), PathScripts.PathSetupSheetGui.OpTaskPanel::propertyName(), drafttaskpanels.task_orthoarray.TaskPanelOrthoArray::reject(), drafttaskpanels.task_polararray.TaskPanelPolarArray::reject(), drafttaskpanels.task_circulararray.TaskPanelCircularArray::reject(), StdMeshers_Quadrangle_2D::splitQuad(), ifc2x3.ifcexternalreference::wr1(), ifc4.ifcexternalreference::wr1(), ifc2x3.ifcdocumentreference::wr1(), ifc4.ifcdocumentreference::wr1(), and automotive_design.general_property_association::wr2().
◆ side
std::vector< Side > FaceQuadStruct::side |
◆ uv_box
Bnd_B2d FaceQuadStruct::uv_box |
Referenced by findCell().
◆ uv_grid
std::vector< UVPtStruct> FaceQuadStruct::uv_grid |
The documentation for this struct was generated from the following files:
- src/3rdParty/salomesmesh/inc/StdMeshers_Quadrangle_2D.hxx
- src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Quadrangle_2D.cpp