36 #ifndef NEKMESHUTILS_CADSYSTEM_OCE_CADCURVEOCE
37 #define NEKMESHUTILS_CADSYSTEM_OCE_CADCURVEOCE
44 namespace NekMeshUtils
56 static std::string
key;
80 gp_Pnt ori(0.0, 0.0, 0.0);
81 transform.SetScale(ori, 1.0 / 1000.0);
82 TopLoc_Location mv(transform);
90 BRepGProp::LinearProperties(
m_occEdge, System);
94 m_c = BRep_Tool::Curve(TopoDS::Edge(cp), b[0], b[1]);
base class for CAD curves.
Handle(Geom_Curve) m_c
Alternate object used for reverse lookups.
virtual Array< OneD, NekDouble > GetMinMax()
Gets the start and end of the curve.
static boost::shared_ptr< DataType > AllocateSharedPtr()
Allocate a shared pointer from the memory pool.
virtual Array< OneD, NekDouble > P(NekDouble t)
Gets the location (x,y,z) in an array out of the curve at point t.
void Initialise(int i, TopoDS_Shape in)
BRepAdaptor_Curve m_occCurve
OpenCascade object of the curve.
virtual NekDouble tAtArcLength(NekDouble s)
Calculates the parametric coordinate and arclength location defined by s.
virtual NekDouble Curvature(NekDouble t)
virtual Array< OneD, NekDouble > N(NekDouble t)
virtual Array< OneD, NekDouble > D2(NekDouble t)
Gets the second derivatives at t.
virtual Array< OneD, NekDouble > GetBounds()
Returns the minimum and maximum parametric coords t of the curve.
virtual NekDouble Length(NekDouble ti, NekDouble tf)
Calculates the arclength between the two paremetric points ti and tf. ti must be less than tf...
static CADCurveSharedPtr create()
TopoDS_Edge m_occEdge
OpenCascade edge.
virtual Array< OneD, NekDouble > NormalWRT(NekDouble t, int surf)
NekDouble m_length
Length of edge.
virtual NekDouble loct(Array< OneD, NekDouble > xyz)
boost::shared_ptr< CADCurve > CADCurveSharedPtr