35 #ifndef NekMeshUtils_CADSYSTEM_OCE_CADSURFOCE 36 #define NekMeshUtils_CADSYSTEM_OCE_CADSURFOCE 43 namespace NekMeshUtils
54 static std::string
key;
virtual Array< OneD, NekDouble > D1(Array< OneD, NekDouble > uv)
Get the set of first derivatives at parametric point u,v.
std::shared_ptr< CADSurf > CADSurfSharedPtr
TopoDS_Shape m_shape
original shape
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)
BRepTopAdaptor_FClass2d * m_2Dclass
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
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
Array< OneD, NekDouble > m_bounds
parametric bounds
virtual Array< OneD, NekDouble > BoundingBox()
Returns the bounding box of the surface.
virtual NekDouble Curvature(Array< OneD, NekDouble > uv)
returns curvature at point uv
virtual Array< OneD, NekDouble > D2(Array< OneD, NekDouble > uv)
Get the set of second derivatives at parametric point u,v.
virtual Array< OneD, NekDouble > locuv(Array< OneD, NekDouble > p, NekDouble &dist)
Performs a reverse look up to find u,v and x,y,z. if xyz is off the surface it will return the closes...
virtual Array< OneD, NekDouble > GetBounds()
Get the limits of the parametric space for the surface.
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.
virtual bool IsPlanar()
Is the surface defined by a planar surface (i.e not nurbs and is flat)
Handle(Geom_Surface) m_s
OpenCascade object for surface.