Panda3D
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
NurbsCurveInterface Class Referenceabstract

This abstract class defines the interface only for a Nurbs-style curve, with knots and coordinates in homogeneous space. More...

#include "nurbsCurveInterface.h"

Inheritance diagram for NurbsCurveInterface:
NurbsCurve

Public Member Functions

int append_cv (const LVecBase3 &v)
 
int append_cv (const LVecBase4 &v)
 
int append_cv (PN_stdfloat x, PN_stdfloat y, PN_stdfloat z)
 
virtual LVecBase4 get_cv (int n) const =0
 
LVecBase3 get_cv_point (int n) const
 Returns the position of the indicated CV.
 
PN_stdfloat get_cv_weight (int n) const
 Returns the weight of the indicated CV.
 
virtual PN_stdfloat get_knot (int n) const =0
 
virtual int get_num_cvs () const =0
 
virtual int get_num_knots () const =0
 
virtual int get_order () const =0
 
virtual bool insert_cv (PN_stdfloat t)=0
 
virtual void remove_all_cvs ()=0
 
virtual bool remove_cv (int n)=0
 
virtual bool set_cv (int n, const LVecBase4 &v)=0
 
bool set_cv_point (int n, const LVecBase3 &v)
 Repositions the indicated CV.
 
bool set_cv_point (int n, PN_stdfloat x, PN_stdfloat y, PN_stdfloat z)
 Repositions the indicated CV.
 
bool set_cv_weight (int n, PN_stdfloat w)
 Sets the weight of the indicated CV without affecting its position in 3-d space.
 
virtual bool set_knot (int n, PN_stdfloat t)=0
 
virtual void set_order (int order)=0
 
void write_cv (std::ostream &out, int n) const
 

Static Public Member Functions

static TypeHandle get_class_type ()
 
static void init_type ()
 

Public Attributes

 get_cv
 
 get_knot
 
 get_num_cvs
 
 get_num_knots
 

Detailed Description

This abstract class defines the interface only for a Nurbs-style curve, with knots and coordinates in homogeneous space.

The NurbsCurve class inherits both from this and from ParametricCurve.

Definition at line 30 of file nurbsCurveInterface.h.

Constructor & Destructor Documentation

◆ ~NurbsCurveInterface()

NurbsCurveInterface::~NurbsCurveInterface ( )
virtual

Definition at line 23 of file nurbsCurveInterface.cxx.

Member Function Documentation

◆ append_cv() [1/3]

int NurbsCurveInterface::append_cv ( const LVecBase3 & v)
inline

Definition at line 25 of file nurbsCurveInterface.I.

◆ append_cv() [2/3]

int NurbsCurveInterface::append_cv ( const LVecBase4 & v)
inline

Definition at line 33 of file nurbsCurveInterface.I.

◆ append_cv() [3/3]

int NurbsCurveInterface::append_cv ( PN_stdfloat x,
PN_stdfloat y,
PN_stdfloat z )
inline

Definition at line 17 of file nurbsCurveInterface.I.

◆ get_class_type()

static TypeHandle NurbsCurveInterface::get_class_type ( )
inlinestatic

Definition at line 76 of file nurbsCurveInterface.h.

◆ get_cv()

virtual LVecBase4 NurbsCurveInterface::get_cv ( int n) const
pure virtual

Implemented in NurbsCurve.

◆ get_cv_point()

LVecBase3 NurbsCurveInterface::get_cv_point ( int n) const
inline

Returns the position of the indicated CV.

Definition at line 58 of file nurbsCurveInterface.I.

◆ get_cv_weight()

PN_stdfloat NurbsCurveInterface::get_cv_weight ( int n) const
inline

Returns the weight of the indicated CV.

Definition at line 69 of file nurbsCurveInterface.I.

Referenced by set_cv_point().

◆ get_knot()

virtual PN_stdfloat NurbsCurveInterface::get_knot ( int n) const
pure virtual

Implemented in NurbsCurve.

◆ get_num_knots()

virtual int NurbsCurveInterface::get_num_knots ( ) const
pure virtual

Implemented in NurbsCurve.

◆ init_type()

static void NurbsCurveInterface::init_type ( )
inlinestatic

Definition at line 79 of file nurbsCurveInterface.h.

◆ insert_cv()

virtual bool NurbsCurveInterface::insert_cv ( PN_stdfloat t)
pure virtual

Implemented in NurbsCurve.

◆ remove_all_cvs()

virtual void NurbsCurveInterface::remove_all_cvs ( )
pure virtual

Implemented in NurbsCurve.

◆ remove_cv()

virtual bool NurbsCurveInterface::remove_cv ( int n)
pure virtual

Implemented in NurbsCurve.

◆ set_cv()

virtual bool NurbsCurveInterface::set_cv ( int n,
const LVecBase4 & v )
pure virtual

Implemented in NurbsCurve.

◆ set_cv_point() [1/2]

bool NurbsCurveInterface::set_cv_point ( int n,
const LVecBase3 & v )
inline

Repositions the indicated CV.

Returns true if successful, false otherwise.

Definition at line 49 of file nurbsCurveInterface.I.

References get_cv_weight().

◆ set_cv_point() [2/2]

bool NurbsCurveInterface::set_cv_point ( int n,
PN_stdfloat x,
PN_stdfloat y,
PN_stdfloat z )
inline

Repositions the indicated CV.

Returns true if successful, false otherwise.

Definition at line 41 of file nurbsCurveInterface.I.

References set_cv_point().

Referenced by set_cv_point().

◆ set_cv_weight()

bool NurbsCurveInterface::set_cv_weight ( int n,
PN_stdfloat w )

Sets the weight of the indicated CV without affecting its position in 3-d space.

Definition at line 31 of file nurbsCurveInterface.cxx.

◆ set_knot()

virtual bool NurbsCurveInterface::set_knot ( int n,
PN_stdfloat t )
pure virtual

Implemented in NurbsCurve.

◆ set_order()

virtual void NurbsCurveInterface::set_order ( int order)
pure virtual

Implemented in NurbsCurve.

◆ write_cv()

void NurbsCurveInterface::write_cv ( std::ostream & out,
int n ) const

Definition at line 46 of file nurbsCurveInterface.cxx.

Member Data Documentation

◆ get_cv

NurbsCurveInterface::get_cv

Definition at line 61 of file nurbsCurveInterface.h.

◆ get_knot

NurbsCurveInterface::get_knot

Definition at line 62 of file nurbsCurveInterface.h.

◆ get_num_cvs

NurbsCurveInterface::get_num_cvs

Definition at line 61 of file nurbsCurveInterface.h.

◆ get_num_knots

NurbsCurveInterface::get_num_knots

Definition at line 62 of file nurbsCurveInterface.h.


The documentation for this class was generated from the following files: