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