HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GT_GEOPrimTPSurf.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: GT_GEOPrimTPSurf.h ( GT Library, C++ )
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __GT_GEOPrimTPSurf__
12 #define __GT_GEOPrimTPSurf__
13 
14 #include "GT_API.h"
15 #include "GT_GEOPrimitive.h"
16 #include "GT_Handles.h"
17 #include <GU/GU_TPSurfCache.h>
18 
19 class GEO_TPSurf;
20 class GU_TrimPatch;
21 
23 {
24 public:
26  const GEO_Primitive *const* primlist,
27  int nsegments,
28  const GT_AttributeListHandle &prim);
29 
31  virtual ~GT_GEOPrimTPSurf();
32 
33  virtual const char *className() const { return "GT_GEOPrimTPSurf"; }
34 
35  /// Interface from GT_Primitive required by subclass
36  virtual bool refine(GT_Refine &refiner,
37  const GT_RefineParms *parms=NULL) const;
38 
39  /// Viewport refinement options
40  virtual const GT_ViewportRefineOptions &viewportRefineOptions() const;
41 
42  /// Interface from GT_Primitive implemented using methods on GEO_Primitive
43  virtual int getPrimitiveType() const
44  { return GT_GEO_PRIMTPSURF; }
46  { return new GT_GEOPrimTPSurf(*this); }
47 
48  GT_PrimitiveHandle buildIsoparms(const GT_RefineParms *parms,
49  GT_DataArrayHandle &breakpnt_list,
50  int &nu, int &nv, int &density,
51  bool &uwrap, bool &vwrap) const;
52  GT_PrimitiveHandle buildHull() const;
53 
54  // Build from cache
55  GT_PrimitiveHandle buildSurface(const GT_RefineParms *parms) const;
56 
57  // Build profile curves (may return an empty primitive)
58  GT_PrimitiveHandle buildProfileCurves(const GT_RefineParms *parms) const;
59 
60  /// Build a GT_PrimNuPatch
61  GT_PrimitiveHandle buildNuPatch() const;
62 
64  { return myUniformList; }
66  { return myPointList; }
68  { return myDetailList; }
69  virtual bool updateGeoPrim(const GU_ConstDetailHandle &dtl,
70  const GT_RefineParms &refine);
71 private:
72  GT_AttributeListHandle myUniformList;
73  GT_AttributeListHandle myPointList;
74  GT_AttributeListHandle myDetailList;
75 };
76 
77 #endif
Base class for many of the GEO_Primitive objects.
virtual const GT_ViewportRefineOptions & viewportRefineOptions() const
#define GT_API
Definition: GT_API.h:11
virtual int getPrimitiveType() const
Interface from GT_Primitive implemented using methods on GEO_Primitive.
virtual const char * className() const
virtual const GT_AttributeListHandle & getDetailAttributes() const
virtual const GT_AttributeListHandle & getUniformAttributes() const
Processes primitives generated by refinement process.
Definition: GT_Refine.h:20
virtual GT_PrimitiveHandle doSoftCopy() const
virtual bool refine(GT_Refine &refiner, const GT_RefineParms *parms=NULL) const
virtual const GT_AttributeListHandle & getPointAttributes() const
virtual bool updateGeoPrim(const GU_ConstDetailHandle &dtl, const GT_RefineParms &refine)
Update the primitive pointers.
GLenum src
Definition: glcorearb.h:1792