14 #ifndef __GEO_PrimMesh_h__
15 #define __GEO_PrimMesh_h__
40 int du=0,
int dv=0)
const override;
46 int loftU(
int newcount,
int start=-1,
int stop=-1)
override;
47 int loftV(
int newcount,
int start=-1,
int stop=-1)
override;
57 float sharpness = 0.0
f,
58 float bias = -1.0
f)
override;
62 float sharpness = 0.0
f,
63 float bias = -1.0
f)
override;
64 int warp(
float u,
float v,
67 float usharpness = 0.
f,
float vsharpness = 0.
f,
68 float ubias = -1.0
f,
float vbias = -1.0
f
82 float bias = 0.5
f,
float tolerance = 1.0
f,
85 float bias = 0.5
f,
float tolerance = 1.0
f,
88 int unrollU(
int append_pts = 1)
override;
89 int unrollV(
int append_pts = 1)
override;
104 bool binary)
const override;
117 int findMaxDistanceU(
float &maxdist2,
118 int start,
int stop)
const;
120 int findMaxDistanceV(
float &maxdist2,
121 int start,
int stop)
const;
130 unsigned du=0,
unsigned dv=0)
const override;
133 float u,
float v = 0,
134 unsigned du=0,
unsigned dv=0)
const override;
138 int numdivs=1)
override;
141 int numdivs=1)
override;
virtual int loftV(int newcount, int start=-1, int stop=-1)=0
GEO_PrimMesh(GA_Detail *d, GA_Offset offset=GA_INVALID_OFFSET)
virtual int unrollU(int append_pts=1)
virtual int evaluateBreakpoint(int uidx, int vidx, UT_Vector4 &pos, int du=0, int dv=0) const =0
virtual int attachV(const GEO_Hull &hull, int blend=1, float bias=0.5f, float tolerance=1.0f, int unrefine=1, GA_PointGroup *ptgroup=0)=0
const GLuint GLenum const void * binary
static GA_PrimitiveFamilyMask buildFamilyMask()
virtual int warp(float u, float v, const UT_Vector3 &delta, GA_AttributeRefMap &map, float usharpness=0.0f, float vsharpness=0.f, float ubias=-1.0f, float vbias=-1.0f)=0
virtual int warpU(float u, const UT_Vector3 &delta, GA_AttributeRefMap &map, float sharpness=0.0f, float bias=-1.0f)=0
**But if you need a result
virtual void spanRefineURefMap(GA_AttributeRefMap &map, int numdivs=1)=0
bool saveH9(std::ostream &os, bool binary, const UT_Array< GA_AttribSaveDataH9 > &prim_attribs, const UT_Array< GA_AttribSaveDataH9 > &vtx_attribs) const override
#define GA_INVALID_OFFSET
virtual int warpV(float v, const UT_Vector3 &delta, GA_AttributeRefMap &map, float sharpness=0.0f, float bias=-1.0f)=0
vint4 blend(const vint4 &a, const vint4 &b, const vbool4 &mask)
virtual bool validate() const =0
virtual const GA_PrimitiveJSON * getJSON() const =0
Provide a JSON interface to a primitive.
A handle to simplify manipulation of multiple attributes.
static GA_IntrinsicManager::Registrar registerIntrinsics(GA_PrimitiveDefinition &defn)
static GA_PrimitiveFamilyMask buildFamilyMask()
virtual void spanRefineUInt(int numdivs=1)=0
static const UT_Array< GA_AttribSaveDataH9 > & theEmptySaveAttribs
Convience objects to pass as arguments to saveH9()/loadH9().
virtual bool loadExtraH9(UT_IStream &is)=0
virtual int loftU(int newcount, int start=-1, int stop=-1)=0
friend std::ostream & operator<<(std::ostream &os, const GEO_PrimMesh &d)
virtual bool evaluatePointRefMap(GA_Offset result_vtx, GA_AttributeRefMap &map, fpreal u, fpreal v=0, uint du=0, uint dv=0) const =0
virtual bool loadPrivateH9(UT_IStream &is)=0
Container class for all geometry.
virtual void spanRefineVRefMap(GA_AttributeRefMap &map, int numdivs=1)=0
Definition of a geometric primitive.
virtual int attachU(const GEO_Hull &hull, int blend=1, float bias=0.5f, float tolerance=1.0f, int unrefine=1, GA_PointGroup *ptgroup=0)=0
static GA_IntrinsicManager::Registrar registerIntrinsics(GA_PrimitiveDefinition &defn)
virtual bool saveExtraH9(std::ostream &os, bool binary) const =0
virtual bool savePrivateH9(std::ostream &os, bool binary) const =0
virtual void spanRefineVInt(int numdivs=1)=0
virtual int evaluatePointV4(UT_Vector4 &pos, float u, float v=0, unsigned du=0, unsigned dv=0) const
virtual int unrollV(int append_pts=1)