source: Sophya/trunk/SophyaLib/TArray/tarrinit.cc@ 3678

Last change on this file since 3678 was 3661, checked in by cmv, 16 years ago
  • ajout des TArray/TMatrix/TVector <uint_1> et <int_1>
  • cet ajout n'a pas ete porte dans Image<T>
  • correction petit bug:

inline int_4 Convert(int_2& x) const {...}
-> inline int_2 Convert(int_2& x) const {...}

cmv 23/10/2009

File size: 3.4 KB
Line 
1// Classe d'initialisation du module TArray (template Arrays)
2#include "sopnamsp.h"
3#include "machdefs.h"
4#include "tarrinit.h"
5
6#include "fioarr.h"
7
8/*!
9 \defgroup TArray TArray module
10 This module contains template arrays, matrices and vectors.
11*/
12
13/*!
14 \class SOPHYA::TArrayInitiator
15 \ingroup TArray
16 Array Matrices and Vector initiator
17*/
18
19int TArrayInitiator::FgInit = 0;
20
21// Module version number - 2.0 , Jul 2006
22// V= 2.04 , Jan/Fev 2007: Ajout TArray::ZeroSize() , RenewObjId() et methodes de cast (arrctcast.h)
23// V= 2.1 , Avr/Jul 2007: Constr.copie/extrac sous-tableaux thread-safe
24#define MOD_VERS 2.1
25
26TArrayInitiator::TArrayInitiator()
27 : SophyaInitiator()
28{
29 FgInit++;
30 if (FgInit > 1) return;
31
32// Enregistrement des classes PPersist du modules TArray
33
34
35 PPRegister(FIO_TArray<uint_1>);
36 DObjRegister(FIO_TArray<uint_1>, TArray<uint_1>);
37 DObjRegister(FIO_TArray<uint_1>, TMatrix<uint_1>);
38 DObjRegister(FIO_TArray<uint_1>, TVector<uint_1>);
39
40 PPRegister(FIO_TArray<int_1>);
41 DObjRegister(FIO_TArray<int_1>, TArray<int_1>);
42 DObjRegister(FIO_TArray<int_1>, TMatrix<int_1>);
43 DObjRegister(FIO_TArray<int_1>, TVector<int_1>);
44
45 PPRegister(FIO_TArray<uint_2>);
46 DObjRegister(FIO_TArray<uint_2>, TArray<uint_2>);
47 DObjRegister(FIO_TArray<uint_2>, TMatrix<uint_2>);
48 DObjRegister(FIO_TArray<uint_2>, TVector<uint_2>);
49
50 PPRegister(FIO_TArray<int_2>);
51 DObjRegister(FIO_TArray<int_2>, TArray<int_2>);
52 DObjRegister(FIO_TArray<int_2>, TMatrix<int_2>);
53 DObjRegister(FIO_TArray<int_2>, TVector<int_2>);
54
55 PPRegister(FIO_TArray<uint_4>);
56 DObjRegister(FIO_TArray<uint_4>, TArray<uint_4>);
57 DObjRegister(FIO_TArray<uint_4>, TMatrix<uint_4>);
58 DObjRegister(FIO_TArray<uint_4>, TVector<uint_4>);
59
60 PPRegister(FIO_TArray<int_4>);
61 DObjRegister(FIO_TArray<int_4>, TArray<int_4>);
62 DObjRegister(FIO_TArray<int_4>, TMatrix<int_4>);
63 DObjRegister(FIO_TArray<int_4>, TVector<int_4>);
64
65 PPRegister(FIO_TArray<uint_8>);
66 DObjRegister(FIO_TArray<uint_8>, TArray<uint_8>);
67 DObjRegister(FIO_TArray<uint_8>, TMatrix<uint_8>);
68 DObjRegister(FIO_TArray<uint_8>, TVector<uint_8>);
69
70 PPRegister(FIO_TArray<int_8>);
71 DObjRegister(FIO_TArray<int_8>, TArray<int_8>);
72 DObjRegister(FIO_TArray<int_8>, TMatrix<int_8>);
73 DObjRegister(FIO_TArray<int_8>, TVector<int_8>);
74
75 PPRegister(FIO_TArray<r_4>);
76 DObjRegister(FIO_TArray<r_4>, TArray<r_4>);
77 DObjRegister(FIO_TArray<r_4>, TMatrix<r_4>);
78 DObjRegister(FIO_TArray<r_4>, TVector<r_4>);
79
80 PPRegister(FIO_TArray<r_8>);
81 DObjRegister(FIO_TArray<r_8>, TArray<r_8>);
82 DObjRegister(FIO_TArray<r_8>, TMatrix<r_8>);
83 DObjRegister(FIO_TArray<r_8>, TVector<r_8>);
84
85 PPRegister(FIO_TArray< complex<r_4> >);
86 DObjRegister(FIO_TArray< complex<r_4> >, TArray< complex<r_4> >);
87 DObjRegister(FIO_TArray< complex<r_4> >, TMatrix< complex<r_4> >);
88 DObjRegister(FIO_TArray< complex<r_4> >, TVector< complex<r_4> >);
89
90 PPRegister(FIO_TArray< complex<r_8> >);
91 DObjRegister(FIO_TArray< complex<r_8> >, TArray< complex<r_8> >);
92 DObjRegister(FIO_TArray< complex<r_8> >, TMatrix< complex<r_8> >);
93 DObjRegister(FIO_TArray< complex<r_8> >, TVector< complex<r_8> >);
94
95 SophyaInitiator::RegisterModule("TArray", MOD_VERS); // Module name and version number registration
96}
97
98TArrayInitiator::~TArrayInitiator()
99{
100 FgInit--;
101}
102
103
104// On met un objet initiator en statique, pour les loaders qui savent
105// appeler le constructeur des objets statiques Reza 08/98
106static TArrayInitiator tarrayinit;
107
Note: See TracBrowser for help on using the repository browser.