HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
tetMeshConversionSceneIndex.h
Go to the documentation of this file.
1 //
2 // Copyright 2024 Pixar
3 //
4 // Licensed under the terms set forth in the LICENSE.txt file available at
5 // https://openusd.org/license.
6 //
7 #ifndef PXR_IMAGING_HDSI_TET_MESH_CONVERSION_SCENE_INDEX_H
8 #define PXR_IMAGING_HDSI_TET_MESH_CONVERSION_SCENE_INDEX_H
9 
10 #include "pxr/pxr.h"
11 #include "pxr/imaging/hdsi/api.h"
13 
14 #include "pxr/base/gf/vec3i.h"
15 #include "pxr/base/gf/vec4i.h"
16 
18 
19 
21 
22 ///
23 /// \class HdsiTetMeshConversionSceneIndex
24 ///
25 /// A scene index converting TetMeshes into standard triangle based Meshes.
26 ///
28 {
29 public:
30  HDSI_API
31  static HdsiTetMeshConversionSceneIndexRefPtr
32  New(const HdSceneIndexBaseRefPtr &inputSceneIndex);
33 
34  HDSI_API
35  HdSceneIndexPrim GetPrim(const SdfPath &primPath) const override;
36 
37  HDSI_API
38  SdfPathVector GetChildPrimPaths(const SdfPath &primPath) const override;
39 
40 protected:
42  const HdSceneIndexBaseRefPtr &inputSceneIndex);
43 
44  void _PrimsAdded(
45  const HdSceneIndexBase &sender,
46  const HdSceneIndexObserver::AddedPrimEntries &entries) override;
47 
48  void _PrimsRemoved(
49  const HdSceneIndexBase &sender,
50  const HdSceneIndexObserver::RemovedPrimEntries &entries) override;
51 
52  void _PrimsDirtied(
53  const HdSceneIndexBase &sender,
54  const HdSceneIndexObserver::DirtiedPrimEntries &entries) override;
55 
56 public:
57 
58  static void _ComputeSurfaceFaces(
59  const VtVec4iArray& tetVertexIndices,
60  VtVec3iArray *surfaceFaceIndices);
61 };
62 
63 
65 
66 #endif //PXR_IMAGING_HDSI_TET_MESH_CONVERSION_SCENE_INDEX_H
HDSI_API SdfPathVector GetChildPrimPaths(const SdfPath &primPath) const override
void _PrimsAdded(const HdSceneIndexBase &sender, const HdSceneIndexObserver::AddedPrimEntries &entries) override
static void _ComputeSurfaceFaces(const VtVec4iArray &tetVertexIndices, VtVec3iArray *surfaceFaceIndices)
HDSI_API HdSceneIndexPrim GetPrim(const SdfPath &primPath) const override
std::vector< class SdfPath > SdfPathVector
Definition: path.h:273
HdsiTetMeshConversionSceneIndex(const HdSceneIndexBaseRefPtr &inputSceneIndex)
static HDSI_API HdsiTetMeshConversionSceneIndexRefPtr New(const HdSceneIndexBaseRefPtr &inputSceneIndex)
#define HDSI_API
Definition: api.h:23
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1425
PXR_NAMESPACE_OPEN_SCOPE TF_DECLARE_REF_PTRS(HdsiTetMeshConversionSceneIndex)
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74
void _PrimsDirtied(const HdSceneIndexBase &sender, const HdSceneIndexObserver::DirtiedPrimEntries &entries) override
void _PrimsRemoved(const HdSceneIndexBase &sender, const HdSceneIndexObserver::RemovedPrimEntries &entries) override