36 #ifndef NEKMESHUTILS_CADSYSTEM_CADCURVE
37 #define NEKMESHUTILS_CADSYSTEM_CADCURVE
39 #include <boost/shared_ptr.hpp>
52 namespace NekMeshUtils
143 void SetVert(std::vector<CADVertSharedPtr> &falVert)
NekDouble GetTotLength()
returns lenght of the curve
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
CADCurve(int i, TopoDS_Shape in)
Default constructor.
Array< OneD, NekDouble > D2(NekDouble t)
Gets the second derivatives at t.
Array< OneD, NekDouble > GetMinMax()
Gets the start and end of the curve.
std::vector< CADVertSharedPtr > m_mainVerts
list of end vertices
void SetVert(std::vector< CADVertSharedPtr > &falVert)
std::vector< CADSurfSharedPtr > GetAdjSurf()
returns the ids of neigbouring surfaces
NekDouble Length(NekDouble ti, NekDouble tf)
Calculates the arclength between the two paremetric points ti and tf. ti must be less than tf...
Array< OneD, NekDouble > P(NekDouble t)
Gets the location (x,y,z) in an array out of the curve at point t.
NekDouble tAtArcLength(NekDouble s)
Calculates the parametric coordinate and arclength location defined by s.
NekDouble m_length
Length of edge.
TopoDS_Edge m_occEdge
OpenCascade edge.
Array< OneD, NekDouble > Bounds()
Returns the minimum and maximum parametric coords t of the curve.
std::vector< CADVertSharedPtr > GetVertex()
get the ids of the vertices that are the ends of the curve, which are in the main cad list ...
void SetAdjSurf(std::vector< CADSurfSharedPtr > i)
set the ids of the surfaces either side of the curve
BRepAdaptor_Curve m_occCurve
OpenCascade object of the curve.
std::vector< CADSurfSharedPtr > m_adjSurfs
List of surfaces which this curve belongs to.
boost::shared_ptr< CADCurve > CADCurveSharedPtr