ITK  4.3.0
Insight Segmentation and Registration Toolkit
itkFEMLoadElementBase.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 
19 #ifndef __itkFEMLoadElementBase_h
20 #define __itkFEMLoadElementBase_h
21 
22 #include "itkFEMLoadBase.h"
23 
24 namespace itk
25 {
26 namespace fem
27 {
44 class LoadElement : public Load
45 {
46 public:
47 
49  typedef LoadElement Self;
50  typedef Load Superclass;
53 
55  itkSimpleNewMacro(Self);
56 
58  itkTypeMacro(LoadElement, Load);
59 
62  virtual::itk::LightObject::Pointer CreateAnother(void) const;
63 
68 
72  typedef std::vector<const Element *> ElementPointersVectorType;
73 
74  // FIXME: should clear vector, not zero it
76  {
77  }
79  {
81  }
83  {
85  }
86 
88 
89  unsigned int GetNumberOfElements(void);
90 
92  {
93  return this->m_Element;
94  }
95 
97  {
98  return this->m_Element;
99  }
100 
102  virtual void ApplyLoad(Element::ConstPointer , Element::VectorType & ) { /* HACK: This should probably through an execption if it is not intended to be used. */ }
103 
104 protected:
105  virtual void PrintSelf(std::ostream& os, Indent indent) const;
106  void AddNextElementInternal(const Element *e);
109 };
110 
111 }
112 } // end namespace itk::fem
113 
114 #endif // #ifndef __itkFEMLoadElementBase_h
115