gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
Go to the documentation of this file.
9 #include "GmshConfig.h"
16 #include <BRepLProp_SLProps.hxx>
17 #include <GeomAPI_ProjectPointOnSurf.hxx>
18 #include <TopoDS_Face.hxx>
20 class OCCFace :
public GFace {
23 Handle(Geom_Surface) _occface;
24 const BRepAdaptor_Surface _sf;
25 double _umin, _umax, _vmin, _vmax;
31 mutable GeomAPI_ProjectPointOnSurf _projector;
32 bool _project(
const double p[3],
double uv[2],
double xyz[3])
const;
35 OCCFace(
GModel *m, TopoDS_Face s,
int num);
39 virtual GPoint point(
double par1,
double par2)
const;
41 const double initialGuess[2])
const;
50 virtual void *
getNativePtr()
const {
return (
void *)&_s; }
52 bool convTestXYZ =
false)
const;
56 double &curvMin)
const;
59 virtual bool periodic(
int dim)
const {
return _periodic[
dim]; }
60 virtual double period(
int dim)
const {
return _period[
dim]; }
62 void writeBREP(
const char *filename);
virtual bool containsParam(const SPoint2 &pt)
virtual Pair< SVector3, SVector3 > firstDer(const SPoint2 ¶m) const =0
virtual bool isSphere(double &radius, SPoint3 ¢er) const
virtual GPoint point(double par1, double par2) const =0
virtual ModelType getNativeType() const
virtual bool containsPoint(const SPoint3 &pt) const
virtual GPoint closestPoint(const SPoint3 &queryPoint, const double initialGuess[2]) const
virtual double period(int dim) const
virtual void * getNativePtr() const
virtual bool periodic(int dim) const
virtual void secondDer(const SPoint2 ¶m, SVector3 &dudu, SVector3 &dvdv, SVector3 &dudv) const =0
virtual SPoint2 parFromPoint(const SPoint3 &, bool onSurface=true, bool convTestXYZ=false) const
virtual GeomType geomType() const
virtual SBoundingBox3d bounds(bool fast=false)
virtual Range< double > parBounds(int i) const
virtual double curvatureMax(const SPoint2 ¶m) const
virtual bool buildSTLTriangulation(bool force=false)
virtual SVector3 normal(const SPoint2 ¶m) const
virtual double curvatures(const SPoint2 ¶m, SVector3 &dirMax, SVector3 &dirMin, double &curvMax, double &curvMin) const