HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GU_TPSurf Class Reference

#include <GU_TPSurf.h>

Static Public Member Functions

static int intersectRay (const GEO_TPSurf &surf, const UT_Vector3 &o, const UT_Vector3 &d, float tmax=1E17F, float tol=1E-12F, float *distance=0, UT_Vector3 *pos=0, UT_Vector3 *nml=0, int accurate=0, float *u=0, float *v=0, int ignoretrim=1)
 
static int intersectSurf (GEO_TPSurf &surf1, GEO_TPSurf &surf2, GU_IsectCurveSet &curveset, float worldtol=1e-4F, float domaintol=1e-2F, int steps=100, bool docompact=true)
 
static int doesIntersect (const GEO_TPSurf &surf, const GEO_Primitive &prim, float worldtol=1e-4F, int nontrivial=0)
 
static int rayHit (const GEO_TPSurf &surf, const UT_Vector3 &o, const UT_Vector3 &dir, GU_RayInfo &hitinfo, GU_RayIntersect *intersect)
 
static GEO_Curveextract (const GEO_TPSurf &surf, GU_Detail *gdp, const GD_Primitive &profile, int smooth=1, int sdivs=20, float tol=0.001F, int sharp=1, int order=4, int only_first_visible_part=0)
 
static GEO_Faceextract (const GEO_TPSurf &surf, GU_Detail *gdp, const GD_Primitive &profile, float z=0)
 
static int project (GEO_TPSurf &surf, const GEO_Face &f, const GU_ProjectParms &p, GU_RayIntersect *intersect=NULL)
 
static int project (GEO_TPSurf &surf, const GA_PrimitiveGroup &faces, const GU_ProjectParms &p, const GU_Detail *gdp=0)
 
static int findMins (const GEO_TPSurf &surf, const GEO_Face &face, int numdivs, UT_Vector3Array &domain, const GEO_Face *dface=0, UT_Vector4Array *displaces=0)
 
static int findProjects (const GEO_TPSurf &surf, GEO_Face &face, int numdivs, const UT_Vector3 &projdir, UT_Vector3Array &domain, const GEO_Face *dface=0, UT_Vector4Array *displaces=0)
 
static int create (GEO_TPSurf *surf, int rows, int cols, GEO_SurfaceType type, bool wrapu, bool wrapv, bool appendPoints=true)
 
static void evaluationInterval (const GEO_TPSurf &surf, float lodu, float lodv, float &ustart, float &ustop, int &nu, float &vstart, float &vstop, int &nv)
 
static int evaluateSurface (const GEO_TPSurf &surf, GEO_ConvertMethod &method, UT_Vector4Array &pos, int &nu, int &nv, UT_FloatArray *uval=0, UT_FloatArray *vval=0)
 
static GEO_Primitiveconvert (GEO_TPSurf *surf, GEO_ConvertParms &parms, GA_PointGroup *usedpts)
 
static GEO_PrimitiveconvertNew (GEO_TPSurf *surf, GEO_ConvertParms &parms)
 
static GEO_PrimitiveconvertToPoly (GEO_TPSurf *surf, GEO_ConvertParms &parms)
 

Detailed Description

Definition at line 74 of file GU_TPSurf.h.

Member Function Documentation

static GEO_Primitive* GU_TPSurf::convert ( GEO_TPSurf surf,
GEO_ConvertParms parms,
GA_PointGroup usedpts 
)
static
static GEO_Primitive* GU_TPSurf::convertNew ( GEO_TPSurf surf,
GEO_ConvertParms parms 
)
static
static GEO_Primitive* GU_TPSurf::convertToPoly ( GEO_TPSurf surf,
GEO_ConvertParms parms 
)
static
static int GU_TPSurf::create ( GEO_TPSurf surf,
int  rows,
int  cols,
GEO_SurfaceType  type,
bool  wrapu,
bool  wrapv,
bool  appendPoints = true 
)
static
static int GU_TPSurf::doesIntersect ( const GEO_TPSurf surf,
const GEO_Primitive prim,
float  worldtol = 1e-4F,
int  nontrivial = 0 
)
static
static int GU_TPSurf::evaluateSurface ( const GEO_TPSurf surf,
GEO_ConvertMethod method,
UT_Vector4Array pos,
int nu,
int nv,
UT_FloatArray uval = 0,
UT_FloatArray vval = 0 
)
static
static void GU_TPSurf::evaluationInterval ( const GEO_TPSurf surf,
float  lodu,
float  lodv,
float &  ustart,
float &  ustop,
int nu,
float &  vstart,
float &  vstop,
int nv 
)
static
static GEO_Curve* GU_TPSurf::extract ( const GEO_TPSurf surf,
GU_Detail gdp,
const GD_Primitive profile,
int  smooth = 1,
int  sdivs = 20,
float  tol = 0.001F,
int  sharp = 1,
int  order = 4,
int  only_first_visible_part = 0 
)
static

Extract one or more (if not fully inside the domain) 3D curve(s) out of a profile's image onto the surface. Return the first 3D curve if successful and 0 otherwise. Only one (the first visible piece of the curve) will be extracted if only_first_visible_part is set. The second extract doeas a parametric extract, so the whole profile will be extracted regardless of its visibility. The resulting 3D curve will be a planar XY curve at the given z elevation.

static GEO_Face* GU_TPSurf::extract ( const GEO_TPSurf surf,
GU_Detail gdp,
const GD_Primitive profile,
float  z = 0 
)
static
static int GU_TPSurf::findMins ( const GEO_TPSurf surf,
const GEO_Face face,
int  numdivs,
UT_Vector3Array domain,
const GEO_Face dface = 0,
UT_Vector4Array displaces = 0 
)
static
static int GU_TPSurf::findProjects ( const GEO_TPSurf surf,
GEO_Face face,
int  numdivs,
const UT_Vector3 projdir,
UT_Vector3Array domain,
const GEO_Face dface = 0,
UT_Vector4Array displaces = 0 
)
static
static int GU_TPSurf::intersectRay ( const GEO_TPSurf surf,
const UT_Vector3 o,
const UT_Vector3 d,
float  tmax = 1E17F,
float  tol = 1E-12F,
float *  distance = 0,
UT_Vector3 pos = 0,
UT_Vector3 nml = 0,
int  accurate = 0,
float *  u = 0,
float *  v = 0,
int  ignoretrim = 1 
)
static
static int GU_TPSurf::intersectSurf ( GEO_TPSurf surf1,
GEO_TPSurf surf2,
GU_IsectCurveSet curveset,
float  worldtol = 1e-4F,
float  domaintol = 1e-2F,
int  steps = 100,
bool  docompact = true 
)
static
static int GU_TPSurf::project ( GEO_TPSurf surf,
const GEO_Face f,
const GU_ProjectParms p,
GU_RayIntersect intersect = NULL 
)
static
static int GU_TPSurf::project ( GEO_TPSurf surf,
const GA_PrimitiveGroup faces,
const GU_ProjectParms p,
const GU_Detail gdp = 0 
)
static
static int GU_TPSurf::rayHit ( const GEO_TPSurf surf,
const UT_Vector3 o,
const UT_Vector3 dir,
GU_RayInfo hitinfo,
GU_RayIntersect intersect 
)
static

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