HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GT_PrimMultiSegment.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_PrimMultiSegment.h (GT Library, C++)
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __GT_PrimMultiSegment__
12 #define __GT_PrimMultiSegment__
13 
14 #include "GT_API.h"
15 #include "GT_Primitive.h"
16 
17 /// A primitive which contains a list of primitives for motion segments
18 /// This takes a list of primitives and creates a single primitive with
19 /// multiple segments.
21 {
22 public:
24 
25  GT_PrimMultiSegment(const PrimList &list);
27  virtual ~GT_PrimMultiSegment();
28 
29  /// @{
30  /// Method defined on GT_Primitive
31  virtual const char *className() const;
32  virtual void enlargeBounds(UT_BoundingBox boxes[], int nsegs) const;
33  virtual void enlargeRenderBounds(UT_BoundingBox b[], int n) const;
34  virtual bool refine(GT_Refine &refiner,
35  const GT_RefineParms *parms=NULL) const;
36  virtual int getMotionSegments() const;
37  virtual int64 getMemoryUsage() const;
38  virtual bool save(UT_JSONWriter &w) const;
40  { return new GT_PrimMultiSegment(*this); }
41  /// @}
42 
43  /// Return the primitive for a given segment
44  const GT_PrimitiveHandle &prim(int i) const { return myList(i); }
45 
46 private:
47  PrimList myList;
48 };
49 
50 #endif
51 
virtual int getMotionSegments() const =0
virtual GT_PrimitiveHandle doSoftCopy() const
virtual bool refine(GT_Refine &refiner, const GT_RefineParms *parms=NULL) const
#define GT_API
Definition: GT_API.h:11
UT_Array< GT_PrimitiveHandle > PrimList
Class which writes ASCII or binary JSON streams.
Definition: UT_JSONWriter.h:32
png_uint_32 i
Definition: png.h:2877
long long int64
Definition: SYS_Types.h:106
GLdouble n
Definition: glcorearb.h:2007
virtual void enlargeRenderBounds(UT_BoundingBox boxes[], int nsegments) const
GLboolean GLboolean GLboolean b
Definition: glcorearb.h:1221
The base class for all GT primitive types.
Definition: GT_Primitive.h:41
virtual int64 getMemoryUsage() const =0
Processes primitives generated by refinement process.
Definition: GT_Refine.h:20
virtual bool save(UT_JSONWriter &w) const
GLubyte GLubyte GLubyte GLubyte w
Definition: glcorearb.h:856
virtual void enlargeBounds(UT_BoundingBox boxes[], int nsegments) const =0
virtual const char * className() const =0
const GT_PrimitiveHandle & prim(int i) const
Return the primitive for a given segment.
GLenum src
Definition: glcorearb.h:1792