ITK
6.0.0
Insight Toolkit
ITK
Modules
Core
Common
include
itkObjectFactory.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright NumFOCUS
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
* https://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
*
20
* Portions of this file are subject to the VTK Toolkit Version 3 copyright.
21
*
22
* Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
23
*
24
* For complete copyright, license and disclaimer of warranty information
25
* please refer to the NOTICE file at the top of the ITK source tree.
26
*
27
*=========================================================================*/
28
#ifndef itkObjectFactory_h
29
#define itkObjectFactory_h
30
31
#include "
itkObjectFactoryBase.h
"
32
33
namespace
itk
34
{
54
template
<
typename
T>
55
class
ObjectFactory
:
public
ObjectFactoryBase
56
{
57
public
:
58
static
typename
T::Pointer
59
Create
()
60
{
61
const
LightObject::Pointer
ret =
CreateInstance
(
typeid
(T).name());
62
63
return
dynamic_cast<T *>(ret.
GetPointer
());
64
}
65
};
66
}
// end namespace itk
67
68
#endif
Pointer
SmartPointer< Self > Pointer
Definition:
itkAddImageFilter.h:93
itk::ObjectFactoryBase
Create instances of classes using an object factory.
Definition:
itkObjectFactoryBase.h:59
itk::SmartPointer< Self >
itk::ObjectFactory
Create instances of a class.
Definition:
itkObjectFactory.h:55
itk::ObjectFactoryBase::CreateInstance
static LightObject::Pointer CreateInstance(const char *itkclassname)
itkObjectFactoryBase.h
itk::SmartPointer::GetPointer
ObjectType * GetPointer() const noexcept
Definition:
itkSmartPointer.h:144
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition:
itkAnatomicalOrientation.h:29
itk::ObjectFactory::Create
static T::Pointer Create()
Definition:
itkObjectFactory.h:59
Generated on
unknown
for ITK by
1.8.16