35 #ifndef NEKMESHUTILS_CADSYSTEM_CFI_CADSURFCFI
36 #define NEKMESHUTILS_CADSYSTEM_CFI_CADSURFCFI
38 #include "../CADSurf.h"
43 namespace NekMeshUtils
54 static std::string
key;
87 ASSERTL0(
false,
"Not implemented in CFI");
93 ASSERTL0(
false,
"Not implemented in CFI");
#define ASSERTL0(condition, msg)
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
void Initialise(int i, cfi::Face *in, NekDouble s)
NekDouble Curvature(Array< OneD, NekDouble > uv)
returns curvature at point uv
static CADSurfSharedPtr create()
Array< OneD, NekDouble > GetBounds()
Get the limits of the parametric space for the surface.
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...
void P(Array< OneD, NekDouble > uv, NekDouble &x, NekDouble &y, NekDouble &z)
Get the x,y,z at parametric point u,v.
void Test(Array< OneD, NekDouble > uv)
Function which tests the the value of uv used is within the surface.
Array< OneD, NekDouble > D1(Array< OneD, NekDouble > uv)
Get the set of first derivatives at parametric point u,v.
Array< OneD, NekDouble > BoundingBox()
Returns the bounding box of the surface.
void SetScaling(NekDouble i)
Array< OneD, NekDouble > N(Array< OneD, NekDouble > uv)
Get the normal vector at parametric point u,v.
Array< OneD, NekDouble > P(Array< OneD, NekDouble > uv)
Get the x,y,z at parametric point u,v.
Array< OneD, NekDouble > D2(Array< OneD, NekDouble > uv)
Get the set of second derivatives at parametric point u,v.
bool IsPlanar()
Is the surface defined by a planar surface (i.e not nurbs and is flat)
cfi::Face * m_cfiSurface
CFI object for surface.
base class for a cad surface
std::shared_ptr< CADSurf > CADSurfSharedPtr