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");
std::shared_ptr< CADSurf > CADSurfSharedPtr
#define ASSERTL0(condition, msg)
Array< OneD, NekDouble > N(Array< OneD, NekDouble > uv)
Get the normal vector at parametric point u,v.
void Initialise(int i, cfi::Face *in, NekDouble s)
void SetScaling(NekDouble i)
Array< OneD, NekDouble > GetBounds()
Get the limits of the parametric space for the surface.
Array< OneD, NekDouble > BoundingBox()
Returns the bounding box of 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.
void Test(Array< OneD, NekDouble > uv)
Function which tests the the value of uv used is within the surface.
Array< OneD, NekDouble > D2(Array< OneD, NekDouble > uv)
Get the set of second derivatives at parametric point u,v.
static CADSurfSharedPtr create()
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...
cfi::Face * m_cfiSurface
CFI object for surface.
bool IsPlanar()
Is the surface defined by a planar surface (i.e not nurbs and is flat)
Array< OneD, NekDouble > D1(Array< OneD, NekDouble > uv)
Get the set of first derivatives at parametric point u,v.
NekDouble Curvature(Array< OneD, NekDouble > uv)
returns curvature at point uv
Array< OneD, NekDouble > P(Array< OneD, NekDouble > uv)
Get the x,y,z at parametric point u,v.