ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
00001 /*========================================================================= 00002 * 00003 * Copyright Insight Software Consortium 00004 * 00005 * Licensed under the Apache License, Version 2.0 (the "License"); 00006 * you may not use this file except in compliance with the License. 00007 * You may obtain a copy of the License at 00008 * 00009 * http://www.apache.org/licenses/LICENSE-2.0.txt 00010 * 00011 * Unless required by applicable law or agreed to in writing, software 00012 * distributed under the License is distributed on an "AS IS" BASIS, 00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00014 * See the License for the specific language governing permissions and 00015 * limitations under the License. 00016 * 00017 *=========================================================================*/ 00018 #ifndef __itkFEMLoadBase_h 00019 #define __itkFEMLoadBase_h 00020 00021 #include "itkFEMElementBase.h" 00022 #include "itkFEMSolution.h" 00023 #include "itkFEMPArray.h" 00024 00025 namespace itk 00026 { 00027 namespace fem 00028 { 00039 class Load : public FEMLightObject 00040 { 00041 public: 00042 00044 typedef Load Self; 00045 typedef FEMLightObject Superclass; 00046 typedef SmartPointer<Self> Pointer; 00047 typedef SmartPointer<const Self> ConstPointer; 00048 00050 itkTypeMacro(Load, FEMLightObject); 00051 00053 typedef FEMPArray<Self> ArrayType; 00054 00067 virtual void SetSolution(Solution::ConstPointer itkNotUsed(ptr)) { } 00068 virtual Solution::ConstPointer GetSolution() 00069 { 00070 return 0; 00071 } 00072 00077 Element::ConstPointer GetElement() const 00078 { 00079 return m_Element; 00080 } 00081 00086 void SetElement(Element::ConstPointer el) 00087 { 00088 this->m_Element = el; 00089 } 00090 void SetElement(Element::Pointer el) 00091 { 00092 this->m_Element = el.GetPointer(); 00093 } 00095 00096 protected: 00097 virtual void PrintSelf(std::ostream& os, Indent indent) const; 00102 Element::ConstPointer m_Element; 00103 00104 00105 }; 00106 } 00107 } // end namespace itk::fem 00108 00109 #endif // #ifndef __itkFEMLoadBase_h 00110