TexGen
Core
TextileAngleInterlock.h
Go to the documentation of this file.
1
/*=============================================================================
2
TexGen: Geometric textile modeller.
3
Copyright (C) 2011 Louise Brown
4
This program is free software; you can redistribute it and/or
5
modify it under the terms of the GNU General Public License
6
as published by the Free Software Foundation; either version 2
7
of the License, or (at your option) any later version.
8
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
GNU General Public License for more details.
13
14
You should have received a copy of the GNU General Public License
15
along with this program; if not, write to the Free Software
16
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
=============================================================================*/
18
19
#pragma once
20
#include "
Textile3DWeave.h
"
21
#include "
SectionPowerEllipse.h
"
22
23
namespace
TexGen
24
{
25
using namespace
std;
26
27
29
class
CLASS_DECLSPEC
CTextileAngleInterlock
:
public
CTextile3DWeave
30
{
31
public
:
32
34
CTextileAngleInterlock
(
int
iNumXYarns,
int
iNumYYarns,
double
dXSpacing,
double
dYSpacing,
35
double
dXHeight,
double
dYHeight);
36
CTextileAngleInterlock
(TiXmlElement &Element);
37
virtual
~CTextileAngleInterlock
(
void
);
38
39
virtual
CTextile
*
Copy
()
const
{
return
new
CTextileAngleInterlock
(*
this
); }
40
virtual
string
GetType
()
const
{
return
"CTextileAngleInterlock"
; }
41
virtual
void
PopulateTiXmlElement(TiXmlElement &Element,
OUTPUT_TYPE
OutputType);
42
43
void
SetBinderYarnPositions(
int
x,
int
y );
44
46
//virtual void FindMinMaxZ( double& dMinZ, double& dMaxZ );
47
virtual
void
SetupLayers(
int
iNumWarpLayers,
int
iNumWeftLayers,
int
iNumBinderLayers = 1 );
48
virtual
bool
BuildTextile()
const
;
49
50
protected
:
52
void
ShapeBinderYarns()
const
;
54
int
AddBinderNodes(
int
CurrentNode,
int
i,
int
j )
const
;
55
56
void
SetBinderPosition(
int
z, vector<PATTERN3D>& Cell );
57
int
FindBinderHeight(
const
vector<PATTERN3D>& Cell )
const
;
58
};
59
};
// namespace TexGen
CLASS_DECLSPEC
#define CLASS_DECLSPEC
Definition:
Misc.h:35
SectionPowerEllipse.h
Textile3DWeave.h
TexGen::CTextile3DWeave
Represents a 3D woven textile.
Definition:
Textile3DWeave.h:68
TexGen::CTextileAngleInterlock
Represents a 3D angle interlock woven textile.
Definition:
TextileAngleInterlock.h:30
TexGen::CTextileAngleInterlock::GetType
virtual string GetType() const
Derived class should return the class name.
Definition:
TextileAngleInterlock.h:40
TexGen::CTextileAngleInterlock::Copy
virtual CTextile * Copy() const
Definition:
TextileAngleInterlock.h:39
TexGen::CTextile
Represents a textile cell containing yarns.
Definition:
Textile.h:39
TexGen
Namespace containing a series of customised math operations not found in the standard c++ library.
Definition:
AdjustMeshInterference.h:27
TexGen::OUTPUT_TYPE
OUTPUT_TYPE
Definition:
Misc.h:105
Generated by
1.9.2