All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
contour_pdata.h
1 /* Copyright (C) 2004-2009 MBSim Development Team
2  * This library is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU Lesser General Public
4  * License as published by the Free Software Foundation; either
5  * version 2.1 of the License, or (at your option) any later version.
6  *
7  * This library is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10  * Lesser General Public License for more details.
11  *
12  * You should have received a copy of the GNU Lesser General Public
13  * License along with this library; if not, write to the Free Software
14  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15  *
16  * Contact: rzander@users.berlios.de
17  */
18 
19 #ifndef _CONTOUR_PDATA_H_
20 #define _CONTOUR_PDATA_H_
21 
22 #include "fmatvec/fmatvec.h"
23 #include "mbsim/frame.h"
24 #include <vector>
25 
26 namespace MBSim {
27 
28  class Point;
29 
39  public:
40 
41  enum ContourParameterType { node, staggeredNode, continuum, extInterpol, ffrorigin, fixedrelativeframe };
42 
47  type(continuum), ID(0), alpha(fmatvec::Vec2()), alphap(fmatvec::Vec2()) {
48  }
49  ContourPointData(const double &alpha_) :
50  type(continuum), ID(0), alpha(fmatvec::Vec2()), alphap(fmatvec::Vec2()) {
51  alpha(0) = alpha_;
52  }
53  ContourPointData(const fmatvec::Vec2 &alpha_) :
54  type(continuum), ID(0), alpha(alpha_), alphap(fmatvec::Vec2()) {
55  }
56  ContourPointData(const int &id_, const ContourParameterType type_ = node) :
57  type(type_), ID(id_), alpha(fmatvec::Vec2()), alphap(fmatvec::Vec2()) {
58  }
59 
63  virtual ~ContourPointData() {
64  }
65 
66  /* GETTER / SETTER */
67  ContourParameterType& getContourParameterType() {
68  return type;
69  }
70  const ContourParameterType& getContourParameterType() const {
71  return type;
72  }
73  int& getNodeNumber() {
74  return ID;
75  }
76  const int& getNodeNumber() const {
77  return ID;
78  }
79  fmatvec::Vec2& getLagrangeParameterPosition() {
80  return alpha;
81  }
82  const fmatvec::Vec2& getLagrangeParameterPosition() const {
83  return alpha;
84  }
85  fmatvec::Vec2& getLagrangeParameterVelocity() {
86  return alphap;
87  }
88  const fmatvec::Vec2& getLagrangeParameterVelocity() const {
89  return alphap;
90  }
91  fmatvec::VecV& getInterpolationWeights() {
92  return iWeights;
93  }
94  const fmatvec::VecV& getInterpolationWeights() const {
95  return iWeights;
96  }
97  Frame& getFrameOfReference() {
98  return cosy;
99  }
100  const Frame& getFrameOfReference() const {
101  return cosy;
102  }
103  /***************************************************/
104 
105  private:
109  ContourParameterType type;
110 
114  int ID;
115 
119  fmatvec::Vec2 alpha;
120 
124  fmatvec::Vec2 alphap;
125 
129  fmatvec::VecV iWeights;
130 
136  std::vector<Point*> iPoints;
137 
142  };
143 
144 }
145 
146 #endif /* _CONTOUR_PDATA_H_ */
147 
fmatvec::Vec2 alpha
contour parameter(s)
Definition: contour_pdata.h:119
fmatvec::VecV iWeights
interpolation weights
Definition: contour_pdata.h:129
std::vector< Point * > iPoints
list of nodes used in interpolation
Definition: contour_pdata.h:136
int ID
ID of node or other discret interface within body -&gt; FiniteElements.
Definition: contour_pdata.h:114
virtual ~ContourPointData()
destructor
Definition: contour_pdata.h:63
Frame cosy
accompanying frame
Definition: contour_pdata.h:141
ContourPointData()
constructor
Definition: contour_pdata.h:46
cartesian frame on bodies used for application of e.g. links and loads
Definition: frame.h:39
struct for data-management for single point on a contour to describe contact kinematics ...
Definition: contour_pdata.h:38
fmatvec::Vec2 alphap
contour parameter(s) velocities
Definition: contour_pdata.h:124
ContourParameterType type
type of data representation: node, continuum, interpolation (extinterpol)
Definition: contour_pdata.h:109

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML