libsurf
Programmer's Documentation

Public Member Functions | Public Attributes | Protected Attributes | List of all members
AbstractUvCurve Class Referenceabstract

Detailed Description

Curve in (u,v) domain of parametric surface.

This is an abstract interface used to describe a curve defined in the (u,v) parameter space of a surface. Evaluating the curve for a given curve parameter t yields a set of surface parameter values (u,v) from uveval(t), for which the surface is then evaluated to yield a (x,y,z) point in 3D space.

See Also
UvSplineCurve, UvPolyLine, UvCubicCurve, TopoEdge

#include <abstractuvcurve.h>

Inheritance diagram for AbstractUvCurve:
[legend]
Collaboration diagram for AbstractUvCurve:
[legend]

Public Member Functions

 m_psf (psf)
 
SurfacePtr surface () const
 access surface on which this curve lies
 
virtual Vct3 eval (Real t) const
 evaluate spline curve
 
virtual Vct3 derive (Real t, uint k) const
 compute kth derivative
 
virtual void tgline (Real t, Vct3 &c, Vct3 &dc) const
 compute point and first derivative in one sweep
 
virtual void apply ()
 apply hard transformation (default implementation does nothing)
 
virtual void reverse ()=0
 reverse evaluation direction, must be implemented
 
virtual AbstractUvCurvePair split (Real t) const =0
 split curve at t, create low and high curve
 
virtual Vct2 uveval (Real t) const =0
 evaluate curve in (u,v) space
 
virtual Vct2 uvderive (Real t, uint k) const =0
 evaluate derivative in (u,v) space
 
virtual void uvtgline (Real t, Vct2 &q, Vct2 &dq) const
 efficient evaluation of point and first derivative
 
virtual uint discretize (const DcMeshCritBase &mcrit, Vector &t) const
 discretized based on simple criteria
 
- Public Member Functions inherited from AbstractCurve
 AbstractCurve (const std::string &s="")
 unamed curve
 
virtual ~AbstractCurve ()
 virtual destructor
 
void rename (const std::string &s)
 change name
 
const std::string & name () const
 return name
 
virtual AbstractCurveclone () const =0
 create a clone
 
virtual Real curvature (Real t) const
 compute curvature at t
 
virtual void initGrid (Vector &t) const
 generate a reasonable discretization
 
virtual void tessellate (CgMesh &cgr) const
 discretized for visualization based on default grid
 
virtual bool project (const Vct3 &pt, Real &s, Real stol=gmepsilon, Real ttol=1e-6) const
 project point onto curve, starting at t
 
virtual bool pierce (const Vct3 &pn, Real dp, Real &s, Real stol=gmepsilon) const
 compute intersection of curve with plane (pn,dp), return success
 
virtual XmlElement toXml (bool share=false) const
 XML output.
 
virtual void fromXml (const XmlElement &xe)
 XML input.
 
virtual int toIges (IgesFile &file, int tfi=0) const
 write curve to iges file
 
virtual bool fromIges (const IgesFile &file, const IgesDirEntry &dir)
 extract curve from iges file
 
- Public Member Functions inherited from RFrame
void clear ()
 
Vct3 getOrigin () const
 
void translate (const Vct3 &v)
 
void translate (Real dx, Real dy, Real dz)
 
void rotate (Real betax, Real betay, Real betaz)
 
void rotate (const Vct3 &rotax, Real angle)
 
void scale (Real xf, Real yf, Real zf)
 
void scale (Real f)
 
void mirror (const Vct3 &normal)
 
const SMatrix< 4, 4 > & trafoMatrix () const
 
void setTrafoMatrix (const SMatrix< 4, 4 > &m)
 
Vct3 forward (const Vct3 &a) const
 
void forward (const PointList< 4 > &a, PointList< 4 > &b) const
 

Public Attributes

 __pad0__: AbstractCurve()
 initialize with surface
 

Protected Attributes

SurfacePtr m_psf
 surface on which curve is defined
 
- Protected Attributes inherited from AbstractCurve
std::string ids
 curve object name
 
- Protected Attributes inherited from RFrame
SMatrix< 4, 4 > mat
 

Additional Inherited Members

- Static Public Member Functions inherited from AbstractCurve
static AbstractCurvePtr createFromXml (const XmlElement &xe)
 create curve from any xml representation
 
static AbstractCurvePtr createFromIges (const IgesFile &file, const IgesDirEntry &entry)
 create curve from IGES entity
 
static void gridFromKnots (uint n, const Vector &kts, Vector &t, Real tstart=0.0, Real tend=1.0)
 discretization from spline knot vector
 
static uint arclenParamet (const AbstractCurveArray &cpa, Vector &vp)
 Parametrization of curve sets. More...
 
- Protected Member Functions inherited from AbstractCurve
void setIgesName (const IgesFile &file, const IgesEntity &e)
 find curves that fit together and create a composite curve, decimate list More...
 
void setIgesTransform (const IgesFile &file, const IgesDirEntry &entry)
 extract referenced transformation matrix from IGES file, apply
 

The documentation for this class was generated from the following files:
Generated on Fri Dec 2 2022 03:03:15 for libsurf by   doxygen 1.8.5