HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GT_GEOPrimCurve.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_GEOPrimitive.h ( GEO Library, C++)
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __GT_GEOPrimCurve__
12 #define __GT_GEOPrimCurve__
13 
14 #include "GT_API.h"
15 #include "GT_GEOPrimitive.h"
16 
18 {
19 public:
21  const GEO_Primitive *const* primlist,
22  int nsegments)
23  : GT_GEOPrimitive(dlist, primlist, nsegments)
24  { }
26  : GT_GEOPrimitive(src)
27  { }
28  ~GT_GEOPrimCurve() override;
29 
30  const char *className() const override { return "GT_GEOPrimCurve"; }
31  /// @{
32  /// Interface from GT_Primitive required by subclass
33  bool refine(GT_Refine &refiner,
34  const GT_RefineParms *parms=NULL) const override;
35  GT_PrimitiveHandle doSoftCopy() const override
36  { return new GT_GEOPrimCurve(*this); }
37  /// @}
38 
39  /// Refine for the GT_PrimNURBSCurveMesh
40  bool refineForCurveMesh() const;
41 
42  /// Viewport refinement options
43  const GT_ViewportRefineOptions &viewportRefineOptions() const override;
44 
45  /// Test if curve is a cubic Bezier
46  bool isOpenCubicBezier() const;
47 
48  /// Test if curve is a cubic Bspline (witha a uniform basis)
49  bool isOpenCubicBspline() const;
50 
51  /// @{
52  /// Get a list of the break point indices for a refined curve given the
53  /// refinement parameters.
55  const GT_RefineParms *parms=NULL) const
56  {
57  return getBreakPointIndices(P->entries(), parms);
58  }
59  GT_DataArrayHandle getBreakPointIndices(exint npoints,
60  const GT_RefineParms *parms=NULL) const;
61  /// @}
62 };
63 
64 #endif
Base class for many of the GEO_Primitive objects.
GT_PrimitiveHandle doSoftCopy() const override
virtual const GT_ViewportRefineOptions & viewportRefineOptions() const
GT_DataArrayHandle getBreakPointIndices(const GT_DataArrayHandle &P, const GT_RefineParms *parms=NULL) const
#define GT_API
Definition: GT_API.h:13
int64 exint
Definition: SYS_Types.h:125
bool refine(GT_Refine &refiner, const GT_RefineParms *parms=NULL) const override
const char * className() const override
GT_GEOPrimCurve(const GT_GEOPrimitive &src)
Processes primitives generated by refinement process.
Definition: GT_Refine.h:20
GT_GEOPrimCurve(const GU_ConstDetailHandle *dlist, const GEO_Primitive *const *primlist, int nsegments)
GLenum src
Definition: glcorearb.h:1793