OpenVDB  11.0.0
GT_GEOPrimCollectVDB.h
Go to the documentation of this file.
1 // Copyright Contributors to the OpenVDB Project
2 // SPDX-License-Identifier: MPL-2.0
3 
4 /*
5  * Copyright (c) Side Effects Software Inc.
6  *
7  * Produced by:
8  * Side Effects Software Inc
9  * 123 Front Street West, Suite 1401
10  * Toronto, Ontario
11  * Canada M5J 2M2
12  * 416-504-9876
13  *
14  * NAME: GT_GEOPrimCollectVDB.h ( GT Library, C++)
15  *
16  * COMMENTS:
17  */
18 
19 #ifndef __GT_GEOPrimCollectVDB__
20 #define __GT_GEOPrimCollectVDB__
21 
22 #include <GT/GT_GEOPrimCollect.h>
23 #include <openvdb/Platform.h>
24 
25 namespace openvdb_houdini {
26 
27 class OPENVDB_HOUDINI_API GT_GEOPrimCollectVDB : public GT_GEOPrimCollect
28 {
29 public:
30  GT_GEOPrimCollectVDB(const GA_PrimitiveTypeId &id);
31  virtual ~GT_GEOPrimCollectVDB();
32 
33  static void registerPrimitive(const GA_PrimitiveTypeId &id);
34 
35  virtual GT_GEOPrimCollectData *
36  beginCollecting(
37  const GT_GEODetailListHandle &,
38  const GT_RefineParms *) const;
39 
40  virtual GT_PrimitiveHandle
41  collect(
42  const GT_GEODetailListHandle &geometry,
43  const GEO_Primitive *const* prim_list,
44  int nsegments,
45  GT_GEOPrimCollectData *data) const;
46 
47  virtual GT_PrimitiveHandle
48  endCollecting(
49  const GT_GEODetailListHandle &geometry,
50  GT_GEOPrimCollectData *data) const;
51 private:
52 
53  GA_PrimitiveTypeId myId;
54 
55 };
56 
57 } // namespace openvdb_houdini
58 
59 #endif // __GT_GEOPrimCollectVDB__
#define OPENVDB_HOUDINI_API
Definition: Platform.h:282
Definition: GT_GEOPrimCollectVDB.h:27
Definition: AttributeTransferUtil.h:34