36 #ifndef NekMeshUtils_CADSYSTEM_OCE_CADSURFOCE
37 #define NekMeshUtils_CADSYSTEM_OCE_CADSURFOCE
44 namespace NekMeshUtils
56 static std::string
key;
virtual Array< OneD, NekDouble > locuv(Array< OneD, NekDouble > p)
Performs a reverse look up to find u,v and x,y,z.
virtual Array< OneD, NekDouble > D1(Array< OneD, NekDouble > uv)
Get the set of first derivatives at parametric point u,v.
static boost::shared_ptr< DataType > AllocateSharedPtr()
Allocate a shared pointer from the memory pool.
virtual Array< OneD, NekDouble > N(Array< OneD, NekDouble > uv)
Get the normal vector at parametric point u,v.
static CADSurfSharedPtr create()
void Initialise(int i, TopoDS_Shape in)
void Test(Array< OneD, NekDouble > uv)
Function which tests the the value of uv used is within the surface.
base class for a cad surface
Array< OneD, NekDouble > m_bounds
parametric bounds
virtual NekDouble Curvature(Array< OneD, NekDouble > uv)
returns curvature at point uv
boost::shared_ptr< CADSurf > CADSurfSharedPtr
virtual void ProjectTo(Array< OneD, NekDouble > &tp, Array< OneD, NekDouble > &uv)
takes a point from anywhere find the nearest surface point and its uv
virtual Array< OneD, NekDouble > D2(Array< OneD, NekDouble > uv)
Get the set of second derivatives at parametric point u,v.
BRepAdaptor_Surface m_occSurface
OpenCascade object for surface.
virtual Array< OneD, NekDouble > GetBounds()
Get the limits of the parametric space for the surface.
virtual NekDouble DistanceTo(Array< OneD, NekDouble > p)
does unconstrained locuv to project point from anywhere and calculate the distance between the orthon...
ShapeAnalysis_Surface * m_sas
locuv object (stored because it gets faster with stored information)
virtual Array< OneD, NekDouble > P(Array< OneD, NekDouble > uv)
Get the x,y,z at parametric point u,v.
Handle(Geom_Surface) m_s
Alternate OpenCascade object for surface. Used by reverse lookup.