GDCM 3.0.24
gdcmMeshPrimitive.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: GDCM (Grassroots DICOM). A DICOM library
4
5 Copyright (c) 2006-2011 Mathieu Malaterre
6 All rights reserved.
7 See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
8
9 This software is distributed WITHOUT ANY WARRANTY; without even
10 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11 PURPOSE. See the above copyright notice for more information.
12
13=========================================================================*/
14
15#ifndef GDCMMESHPRIMITIVE_H
16#define GDCMMESHPRIMITIVE_H
17
18#include <gdcmObject.h>
19#include <gdcmDataElement.h>
20
21namespace gdcm
22{
23
31{
32public:
33
34 typedef std::vector< DataElement > PrimitivesData;
35
41 typedef enum {
42 VERTEX = 0,
49 MPType_END
50 } MPType;
51
52 static const char * GetMPTypeString(const MPType type);
53
54 static MPType GetMPType(const char * type);
55
57
58 ~MeshPrimitive() override;
59
61 void SetPrimitiveType(const MPType type);
62
65 void SetPrimitiveData(DataElement const & de);
66
70
71 const DataElement & GetPrimitiveData(const unsigned int idx) const;
72 DataElement & GetPrimitiveData(const unsigned int idx);
73 void SetPrimitiveData(const unsigned int idx, DataElement const & de);
74 void AddPrimitiveData(DataElement const & de);
75
76 unsigned int GetNumberOfPrimitivesData() const;
77
78protected:
79
80 // Use to define tag where PrimitiveData will be put.
82
83 // PrimitiveData contains point index list.
84 // It shall have 1 or 1-n DataElement following PrimitiveType.
86};
87
88}
89
90#endif // GDCMMESHPRIMITIVE_H
Class to represent a Data Element either Implicit or Explicit.
Definition gdcmDataElement.h:59
This class defines surface mesh primitives.
Definition gdcmMeshPrimitive.h:31
MPType GetPrimitiveType() const
void AddPrimitiveData(DataElement const &de)
~MeshPrimitive() override
const DataElement & GetPrimitiveData() const
std::vector< DataElement > PrimitivesData
Definition gdcmMeshPrimitive.h:34
MPType PrimitiveType
Definition gdcmMeshPrimitive.h:81
const DataElement & GetPrimitiveData(const unsigned int idx) const
const PrimitivesData & GetPrimitivesData() const
PrimitivesData PrimitiveData
Definition gdcmMeshPrimitive.h:85
PrimitivesData & GetPrimitivesData()
void SetPrimitiveType(const MPType type)
DataElement & GetPrimitiveData(const unsigned int idx)
unsigned int GetNumberOfPrimitivesData() const
MPType
This enumeration defines primitive types.
Definition gdcmMeshPrimitive.h:41
@ FACET
Definition gdcmMeshPrimitive.h:48
@ EDGE
Definition gdcmMeshPrimitive.h:43
@ LINE
Definition gdcmMeshPrimitive.h:47
@ TRIANGLE_STRIP
Definition gdcmMeshPrimitive.h:45
@ TRIANGLE
Definition gdcmMeshPrimitive.h:44
@ TRIANGLE_FAN
Definition gdcmMeshPrimitive.h:46
DataElement & GetPrimitiveData()
void SetPrimitiveData(DataElement const &de)
void SetPrimitiveData(const unsigned int idx, DataElement const &de)
static MPType GetMPType(const char *type)
static const char * GetMPTypeString(const MPType type)
void SetPrimitivesData(PrimitivesData const &DEs)
Object.
Definition gdcmObject.h:37
#define GDCM_EXPORT
Definition gdcmWin32.h:34
Definition gdcmASN1.h:21