TexGen
PrismVoxelMesh.h
Go to the documentation of this file.
1/*=============================================================================
2TexGen: Geometric textile modeller.
3Copyright (C) 2020 Louise Brown
4
5This program is free software; you can redistribute it and/or
6modify it under the terms of the GNU General Public License
7as published by the Free Software Foundation; either version 2
8of the License, or (at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program; if not, write to the Free Software
17Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18=============================================================================*/
19
20#pragma once
21#include "VoxelMesh.h"
22
23namespace TexGen
24{
25 using namespace std;
26
27 class CTextile;
28
31 {
32 public:
33 CPrismVoxelMesh(string Type = "CPrismPeriodicBoundaries");
34 virtual ~CPrismVoxelMesh(void);
35
37 int OutputHexElements(ostream &Output, bool bOutputMatrix, bool bOutputYarn, int Filetype);
38
39 protected:
41 bool CalculateVoxelSizes(CTextile &Textile);
42
44 void GetElementMap(CTextile &Textile);
45
47 void OutputNodes(ostream &Output, CTextile &Textile, int Filetype = INP_EXPORT);
48
50 XYZ m_RotatedVoxSize[3];
53
55 map<pair<int,int>, bool> m_ElementMap;
56
59
60 };
61}; // namespace TexGen
#define CLASS_DECLSPEC
Definition: Misc.h:35
Class used to generate voxel mesh of prism domain for output to ABAQUS.
map< pair< int, int >, bool > m_ElementMap
Map of x,z elements within prism polygon.
XYZ m_StartPoint
Reference point for generating voxel grid (Point 0 of domain mesh)
int m_NumElements
Number of elements in x-z slice which are output.
Represents a textile cell containing yarns.
Definition: Textile.h:39
Class used to generate voxel mesh for output to ABAQUS.
Definition: VoxelMesh.h:35
Namespace containing a series of customised math operations not found in the standard c++ library.
@ INP_EXPORT
Definition: Misc.h:113
Struct for representing points in 3D space.
Definition: mymath.h:56