14 #ifndef __GD_Curve_h__ 
   15 #define __GD_Curve_h__ 
   77                                  unsigned du=0, 
int uOffset=-1) 
const override;
 
   90     virtual int         evaluateBasisDerivs(
fpreal u,
 
   92                                             int &cvoffset, 
unsigned du = 0,
 
   93                                             int uoffset = -1) 
const = 0;
 
  102                                       int &cvoffset, 
unsigned du=0,
 
  103                                       int uoffset=-1) 
const = 0;
 
  107     fpreal              computeBValue(
float u, 
int i) 
const;
 
  110     int                 curvature(
float u, 
UT_Vector2 &curv) 
const;
 
  121                             unsigned du=0) 
const override;
 
  126     virtual int         domainRangeOfCV(
int cvidx, 
int &mink,
 
  127                                         int &maxk) 
const = 0;
 
  137     void                weights(
unsigned short onOff) 
override;
 
  142     void                normalizeWeights();
 
  148                             myBasis->normalize(len, neworigin);
 
  155                             if (ub && ub->
checkValid((
int)getVertexCount(),
 
  169                             { 
return myBasis->getOrder(); }
 
  171                             { 
return myBasis->getDimension(); }
 
  192                                        bool binary) 
const override;
 
  196     virtual GA_Basis    *newBasis() 
const = 0;
 
  208     int                 create(
GD_Curve *crv, 
int nelems, 
int closed,
 
  209                                               int appendPoints = 1);
 
bool saveH9(std::ostream &os, bool binary, const UT_Array< GA_AttribSaveDataH9 > &prim_attribs, const UT_Array< GA_AttribSaveDataH9 > &vtx_attribs) const override
 
virtual int evaluate(float u, UT_Vector3 &pos, unsigned du=0, int uOffset=-1) const =0
 
virtual bool jsonSaveBasis(UT_JSONWriter &w) const 
 
virtual bool loadPrivateH9(UT_IStream &is)=0
 
virtual void copySubclassData(const GA_Primitive *source)
 
const GLuint GLenum const void * binary
 
GA_Basis * myBasis
Curve's basis. 
 
virtual bool savePrivateH9(std::ostream &os, bool binary) const =0
 
GLboolean GLboolean GLboolean GLboolean a
 
JSON reader class which handles parsing of JSON or bJSON files. 
 
Class which writes ASCII or binary JSON streams. 
 
virtual int64 getMemoryUsage() const 
 
void normalizeDomain(fpreal len=0, fpreal *neworigin=0)
 
#define GA_INVALID_OFFSET
 
GD_Primitive * copy(int preserve_shared_pts=0) const override
 
const GA_Basis * getBasis() const 
 
virtual bool jsonLoadBasis(UT_JSONParser &p)
 
static const UT_Array< GA_AttribSaveDataH9 > & theEmptySaveAttribs
Convience objects to pass as arguments to saveH9()/loadH9(). 
 
int setBasis(GA_Basis *ub)
 
virtual bool checkValid(int cvLen, int bLen, bool doesWrap) const =0
 
static GA_IntrinsicManager::Registrar registerIntrinsics(GA_PrimitiveDefinition &definition)
 
virtual void countMemory(UT_MemoryCounter &counter) const 
 
virtual const GA_PrimitiveJSON * getJSON() const =0
 
GLsizei GLsizei GLchar * source
 
Provide a JSON interface to a primitive. 
 
Bezier or NURBS basis classes which maintain knot vectors. 
 
A handle to simplify manipulation of multiple attributes. 
 
friend std::ostream & operator<<(std::ostream &os, const GD_Curve &d)
 
virtual void weights(unsigned short)
 
GLboolean GLboolean GLboolean b
 
unsigned getOrder() const override
 
bool isDegenerate() const override
Is the primitive degenerate. 
 
GLfloat GLfloat GLfloat GLfloat h
 
virtual int breakCount() const =0
 
void setOrder(unsigned ord)
 
Class to store JSON objects as C++ objects. 
 
virtual void validInterval(int &a, int &b) const 
 
GLubyte GLubyte GLubyte GLubyte w
 
Definition of a geometric primitive. 
 
virtual bool validate() const 
 
virtual GA_Basis * getFaceBasis()
 
static GA_IntrinsicManager::Registrar registerIntrinsics(GA_PrimitiveDefinition &definition)
 
SYS_FORCE_INLINE bool isClosed() const 
 
virtual bool evaluateBreakSegm(int ustartidx, int ustopidx, int lod, UT_Vector3Array &pos, unsigned du=0) const