summaryrefslogtreecommitdiff
path: root/libs/assimp/contrib/Open3DGC/o3dgcIndexedFaceSet.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/assimp/contrib/Open3DGC/o3dgcIndexedFaceSet.h')
-rw-r--r--libs/assimp/contrib/Open3DGC/o3dgcIndexedFaceSet.h263
1 files changed, 0 insertions, 263 deletions
diff --git a/libs/assimp/contrib/Open3DGC/o3dgcIndexedFaceSet.h b/libs/assimp/contrib/Open3DGC/o3dgcIndexedFaceSet.h
deleted file mode 100644
index adb8cb0..0000000
--- a/libs/assimp/contrib/Open3DGC/o3dgcIndexedFaceSet.h
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
-Copyright (c) 2013 Khaled Mammou - Advanced Micro Devices, Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-*/
-
-
-#pragma once
-#ifndef O3DGC_INDEXED_FACE_SET_H
-#define O3DGC_INDEXED_FACE_SET_H
-
-#include "o3dgcCommon.h"
-
-namespace o3dgc
-{
- template<class T>
- class IndexedFaceSet
- {
- public:
- //! Constructor.
- IndexedFaceSet(void)
- {
- memset(this, 0, sizeof(IndexedFaceSet));
- m_ccw = true;
- m_solid = true;
- m_convex = true;
- m_isTriangularMesh = true;
- m_creaseAngle = 30;
- };
- //! Destructor.
- ~IndexedFaceSet(void) {};
-
- unsigned long GetNCoordIndex() const { return m_nCoordIndex ;}
- // only coordIndex is supported
- unsigned long GetNCoord() const { return m_nCoord ;}
- unsigned long GetNNormal() const { return m_nNormal ;}
- unsigned long GetNFloatAttribute(unsigned long a) const
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES);
- return m_nFloatAttribute[a];
- }
- unsigned long GetNIntAttribute(unsigned long a) const
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_INT_ATTRIBUTES);
- return m_nIntAttribute[a];
- }
- unsigned long GetNumFloatAttributes() const { return m_numFloatAttributes;}
- unsigned long GetNumIntAttributes() const { return m_numIntAttributes ;}
- const Real * GetCoordMin () const { return m_coordMin;}
- const Real * GetCoordMax () const { return m_coordMax;}
- const Real * GetNormalMin () const { return m_normalMin;}
- const Real * GetNormalMax () const { return m_normalMax;}
- Real GetCoordMin (int j) const { return m_coordMin[j] ;}
- Real GetCoordMax (int j) const { return m_coordMax[j] ;}
- Real GetNormalMin (int j) const { return m_normalMin[j] ;}
- Real GetNormalMax (int j) const { return m_normalMax[j] ;}
-
- O3DGCIFSFloatAttributeType GetFloatAttributeType(unsigned long a) const
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES);
- return m_typeFloatAttribute[a];
- }
- O3DGCIFSIntAttributeType GetIntAttributeType(unsigned long a) const
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_INT_ATTRIBUTES);
- return m_typeIntAttribute[a];
- }
- unsigned long GetFloatAttributeDim(unsigned long a) const
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES);
- return m_dimFloatAttribute[a];
- }
- unsigned long GetIntAttributeDim(unsigned long a) const
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_INT_ATTRIBUTES);
- return m_dimIntAttribute[a];
- }
- const Real * GetFloatAttributeMin(unsigned long a) const
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES);
- return &(m_minFloatAttribute[a * O3DGC_SC3DMC_MAX_DIM_ATTRIBUTES]);
- }
- const Real * GetFloatAttributeMax(unsigned long a) const
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES);
- return &(m_maxFloatAttribute[a * O3DGC_SC3DMC_MAX_DIM_ATTRIBUTES]);
- }
- Real GetFloatAttributeMin(unsigned long a, unsigned long dim) const
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES);
- assert(dim < O3DGC_SC3DMC_MAX_DIM_ATTRIBUTES);
- return m_minFloatAttribute[a * O3DGC_SC3DMC_MAX_DIM_ATTRIBUTES + dim];
- }
- Real GetFloatAttributeMax(unsigned long a, unsigned long dim) const
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES);
- assert(dim < O3DGC_SC3DMC_MAX_DIM_ATTRIBUTES);
- return m_maxFloatAttribute[a * O3DGC_SC3DMC_MAX_DIM_ATTRIBUTES + dim];
- }
- Real GetCreaseAngle() const { return m_creaseAngle ;}
- bool GetCCW() const { return m_ccw ;}
- bool GetSolid() const { return m_solid ;}
- bool GetConvex() const { return m_convex ;}
- bool GetIsTriangularMesh() const { return m_isTriangularMesh;}
- const unsigned long * GetIndexBufferID() const { return m_indexBufferID ;}
- const T * GetCoordIndex() const { return m_coordIndex;}
- T * GetCoordIndex() { return m_coordIndex;}
- Real * GetCoord() const { return m_coord ;}
- Real * GetNormal() const { return m_normal ;}
- Real * GetFloatAttribute(unsigned long a) const
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES);
- return m_floatAttribute[a];
- }
- long * GetIntAttribute(unsigned long a) const
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_INT_ATTRIBUTES);
- return m_intAttribute[a] ;
- }
- // only coordIndex is supported
- void SetNNormalIndex(unsigned long) {}
- void SetNTexCoordIndex(unsigned long) {}
- void SetNFloatAttributeIndex(int, unsigned long) {}
- void SetNIntAttributeIndex (int, unsigned long) {}
- // per triangle attributes not supported
- void SetNormalPerVertex(bool) {}
- void SetColorPerVertex(bool) {}
- void SetFloatAttributePerVertex(int, bool){}
- void SetIntAttributePerVertex (int, bool){}
- void SetNCoordIndex (unsigned long nCoordIndex) { m_nCoordIndex = nCoordIndex;}
- void SetNCoord (unsigned long nCoord) { m_nCoord = nCoord ;}
- void SetNNormal (unsigned long nNormal) { m_nNormal = nNormal ;}
- void SetNumFloatAttributes(unsigned long numFloatAttributes)
- {
- assert(numFloatAttributes < O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES);
- m_numFloatAttributes = numFloatAttributes;
- }
- void SetNumIntAttributes (unsigned long numIntAttributes)
- {
- assert(numIntAttributes < O3DGC_SC3DMC_MAX_NUM_INT_ATTRIBUTES);
- m_numIntAttributes = numIntAttributes;
- }
- void SetCreaseAngle (Real creaseAngle) { m_creaseAngle = creaseAngle ;}
- void SetCCW (bool ccw) { m_ccw = ccw ;}
- void SetSolid (bool solid) { m_solid = solid ;}
- void SetConvex (bool convex) { m_convex = convex ;}
- void SetIsTriangularMesh (bool isTriangularMesh) { m_isTriangularMesh = isTriangularMesh;}
- void SetCoordMin (int j, Real min) { m_coordMin[j] = min;}
- void SetCoordMax (int j, Real max) { m_coordMax[j] = max;}
- void SetNormalMin (int j, Real min) { m_normalMin[j] = min;}
- void SetNormalMax (int j, Real max) { m_normalMax[j] = max;}
- void SetNFloatAttribute(unsigned long a, unsigned long nFloatAttribute)
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES);
- m_nFloatAttribute[a] = nFloatAttribute;
- }
- void SetNIntAttribute(unsigned long a, unsigned long nIntAttribute)
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_INT_ATTRIBUTES);
- m_nIntAttribute[a] = nIntAttribute;
- }
- void SetFloatAttributeDim(unsigned long a, unsigned long d)
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES);
- m_dimFloatAttribute[a] = d;
- }
- void SetIntAttributeDim(unsigned long a, unsigned long d)
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_INT_ATTRIBUTES);
- m_dimIntAttribute[a] = d;
- }
- void SetFloatAttributeType(unsigned long a, O3DGCIFSFloatAttributeType t)
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES);
- m_typeFloatAttribute[a] = t;
- }
- void SetIntAttributeType(unsigned long a, O3DGCIFSIntAttributeType t)
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_INT_ATTRIBUTES);
- m_typeIntAttribute[a] = t;
- }
- void SetFloatAttributeMin(unsigned long a, unsigned long dim, Real min)
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES);
- assert(dim < O3DGC_SC3DMC_MAX_DIM_ATTRIBUTES);
- m_minFloatAttribute[a * O3DGC_SC3DMC_MAX_DIM_ATTRIBUTES + dim] = min;
- }
- void SetFloatAttributeMax(unsigned long a, unsigned long dim, Real max)
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES);
- assert(dim < O3DGC_SC3DMC_MAX_DIM_ATTRIBUTES);
- m_maxFloatAttribute[a * O3DGC_SC3DMC_MAX_DIM_ATTRIBUTES + dim] = max;
- }
- void SetIndexBufferID (unsigned long * const indexBufferID) { m_indexBufferID = indexBufferID;}
- void SetCoordIndex (T * const coordIndex) { m_coordIndex = coordIndex;}
- void SetCoord (Real * const coord ) { m_coord = coord ;}
- void SetNormal (Real * const normal ) { m_normal = normal ;}
- void SetFloatAttribute (unsigned long a, Real * const floatAttribute)
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES);
- m_floatAttribute[a] = floatAttribute;
- }
- void SetIntAttribute (unsigned long a, long * const intAttribute)
- {
- assert(a < O3DGC_SC3DMC_MAX_NUM_INT_ATTRIBUTES);
- m_intAttribute[a] = intAttribute ;
- }
- void ComputeMinMax(O3DGCSC3DMCQuantizationMode quantMode);
-
- private:
- // triangles list
- unsigned long m_nCoordIndex;
- T * m_coordIndex;
- unsigned long * m_indexBufferID;
- // coord, normals, texcoord and color
- unsigned long m_nCoord;
- unsigned long m_nNormal;
- Real m_coordMin [3];
- Real m_coordMax [3];
- Real m_normalMin [3];
- Real m_normalMax [3];
- Real * m_coord;
- Real * m_normal;
- // other attributes
- unsigned long m_numFloatAttributes;
- unsigned long m_numIntAttributes;
- O3DGCIFSFloatAttributeType m_typeFloatAttribute [O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES];
- O3DGCIFSIntAttributeType m_typeIntAttribute [O3DGC_SC3DMC_MAX_NUM_INT_ATTRIBUTES ];
- unsigned long m_nFloatAttribute [O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES];
- unsigned long m_nIntAttribute [O3DGC_SC3DMC_MAX_NUM_INT_ATTRIBUTES ];
- unsigned long m_dimFloatAttribute [O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES];
- unsigned long m_dimIntAttribute [O3DGC_SC3DMC_MAX_NUM_INT_ATTRIBUTES ];
- Real m_minFloatAttribute [O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES * O3DGC_SC3DMC_MAX_DIM_ATTRIBUTES];
- Real m_maxFloatAttribute [O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES * O3DGC_SC3DMC_MAX_DIM_ATTRIBUTES];
- Real * m_floatAttribute [O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES];
- long * m_intAttribute [O3DGC_SC3DMC_MAX_NUM_FLOAT_ATTRIBUTES];
- // mesh info
- Real m_creaseAngle;
- bool m_ccw;
- bool m_solid;
- bool m_convex;
- bool m_isTriangularMesh;
- };
-}
-#include "o3dgcIndexedFaceSet.inl" // template implementation
-#endif // O3DGC_INDEXED_FACE_SET_H
-