TexGen
TextileAngleInterlock.h
Go to the documentation of this file.
1/*=============================================================================
2TexGen: Geometric textile modeller.
3Copyright (C) 2011 Louise Brown
4This program is free software; you can redistribute it and/or
5modify it under the terms of the GNU General Public License
6as published by the Free Software Foundation; either version 2
7of the License, or (at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program; if not, write to the Free Software
16Foundation, 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
23namespace TexGen
24{
25 using namespace std;
26
27
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
#define CLASS_DECLSPEC
Definition: Misc.h:35
Represents a 3D woven textile.
Represents a 3D angle interlock woven textile.
virtual string GetType() const
Derived class should return the class name.
virtual CTextile * Copy() const
Represents a textile cell containing yarns.
Definition: Textile.h:39
Namespace containing a series of customised math operations not found in the standard c++ library.
OUTPUT_TYPE
Definition: Misc.h:105