Main Page Class List Class Members

NvBlastExtAuthoringMesh.h
Go to the documentation of this file.
1 // This code contains NVIDIA Confidential Information and is disclosed to you
2 // under a form of NVIDIA software license agreement provided separately to you.
3 //
4 // Notice
5 // NVIDIA Corporation and its licensors retain all intellectual property and
6 // proprietary rights in and to this software and related documentation and
7 // any modifications thereto. Any use, reproduction, disclosure, or
8 // distribution of this software and related documentation without an express
9 // license agreement from NVIDIA Corporation is strictly prohibited.
10 //
11 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
12 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
13 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
14 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
15 //
16 // Information and code furnished is believed to be accurate and reliable.
17 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
18 // information or for any infringement of patents or other rights of third parties that may
19 // result from its use. No license is granted by implication or otherwise under any patent
20 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
21 // This code supersedes and replaces all information previously supplied.
22 // NVIDIA Corporation products are not authorized for use as critical
23 // components in life support devices or systems without express written approval of
24 // NVIDIA Corporation.
25 //
26 // Copyright (c) 2016-2020 NVIDIA Corporation. All rights reserved.
27
28
29 #ifndef NVBLASTAUTHORINGMESH_H
30 #define NVBLASTAUTHORINGMESH_H
31
32 #include "NvBlastExtAuthoringTypes.h"
33
34 namespace Nv
35 {
36 namespace Blast
37 {
38
42 class Mesh
43 {
44 public:
45
46 virtual ~Mesh() {}
47
51 virtual void release() = 0;
52
56 virtual bool isValid() const = 0;
57
61 virtual Vertex* getVerticesWritable() = 0;
62
66 virtual const Vertex* getVertices() const = 0;
67
68
72 virtual Edge* getEdgesWritable() = 0;
73
77 virtual const Edge* getEdges() const = 0;
78
82 virtual Facet* getFacetsBufferWritable() = 0;
83
87 virtual const Facet* getFacetsBuffer() const = 0;
88
92 virtual Facet* getFacetWritable(int32_t facet) = 0;
96 virtual const Facet* getFacet(int32_t facet) const = 0;
97
101 virtual uint32_t getEdgesCount() const = 0;
102
106 virtual uint32_t getVerticesCount() const = 0;
107
111 virtual uint32_t getFacetCount() const = 0;
112
116 virtual const NvcBounds3& getBoundingBox() const = 0;
117
121 virtual NvcBounds3& getBoundingBoxWritable() = 0;
122
123
127 virtual void setMaterialId(const int32_t* materialIds) = 0;
128
132 virtual void replaceMaterialId(int32_t oldMaterialId, int32_t newMaterialId) = 0;
133
137 virtual void setSmoothingGroup(const int32_t* smoothingGroups) = 0;
138
142 virtual void recalculateBoundingBox() = 0;
143
148 virtual float getMeshVolume() = 0;
149
150
154 virtual void calcPerFacetBounds() = 0;
155
159 virtual const NvcBounds3* getFacetBound(uint32_t index) const = 0;
160
161 };
162
163 } // namespace Blast
164 } // namespace Nv
165
166
167 #endif // ifndef NVBLASTAUTHORINGMESH_H
Nv::Blast::Mesh::getEdgesWritable
virtual Edge * getEdgesWritable()=0
Nv::Blast::Mesh::getFacetWritable
virtual Facet * getFacetWritable(int32_t facet)=0
Nv::Blast::Mesh::setSmoothingGroup
virtual void setSmoothingGroup(const int32_t *smoothingGroups)=0
Nv::Blast::Mesh::getFacetsBufferWritable
virtual Facet * getFacetsBufferWritable()=0
NvBlastExtAuthoringTypes.h
Nv::Blast::Mesh
Definition: NvBlastExtAuthoringMesh.h:42
Nv::Blast::Mesh::release
virtual void release()=0
Nv::Blast::Facet
Definition: NvBlastExtAuthoringTypes.h:106
Nv::Blast::Mesh::setMaterialId
virtual void setMaterialId(const int32_t *materialIds)=0
Nv::Blast::Mesh::getVerticesWritable
virtual Vertex * getVerticesWritable()=0
Nv::Blast::Mesh::getEdgesCount
virtual uint32_t getEdgesCount() const =0
Nv::Blast::Mesh::getBoundingBoxWritable
virtual NvcBounds3 & getBoundingBoxWritable()=0
Nv::Blast::Mesh::~Mesh
virtual ~Mesh()
Definition: NvBlastExtAuthoringMesh.h:46
Nv::Blast::Mesh::recalculateBoundingBox
virtual void recalculateBoundingBox()=0
Nv::Blast::Mesh::getVerticesCount
virtual uint32_t getVerticesCount() const =0
Nv::Blast::Mesh::getEdges
virtual const Edge * getEdges() const =0
Nv::Blast::Mesh::getFacetCount
virtual uint32_t getFacetCount() const =0
Nv::Blast::Mesh::getFacetBound
virtual const NvcBounds3 * getFacetBound(uint32_t index) const =0
NvcBounds3
Definition: NvCTypes.h:92
Nv::Blast::Mesh::getMeshVolume
virtual float getMeshVolume()=0
Nv::Blast::Mesh::isValid
virtual bool isValid() const =0
Nv::Blast::Mesh::getFacetsBuffer
virtual const Facet * getFacetsBuffer() const =0
Nv::Blast::Mesh::replaceMaterialId
virtual void replaceMaterialId(int32_t oldMaterialId, int32_t newMaterialId)=0
Nv::Blast::Edge
Definition: NvBlastExtAuthoringTypes.h:57
Nv::Blast::Mesh::getVertices
virtual const Vertex * getVertices() const =0
Nv::Blast::Mesh::getFacet
virtual const Facet * getFacet(int32_t facet) const =0
Nv::Blast::Vertex
Definition: NvBlastExtAuthoringTypes.h:67
Nv::Blast::Mesh::calcPerFacetBounds
virtual void calcPerFacetBounds()=0
Nv
Definition: NvBlastExtAuthoring.h:34
Nv::Blast::Mesh::getBoundingBox
virtual const NvcBounds3 & getBoundingBox() const =0