source: Sophya/trunk/SophyaPI/PIext/nomtarradapter.h@ 2999

Last change on this file since 2999 was 2999, checked in by ansari, 19 years ago

1/ Ajout methode Services2NObjMgr::DisplayPoints3DW() et commande plot3dw
2/ Ajout et utilisation methode de verification de nom NamedObjMgr::CheckName()
3/ Changement methode NObjMgrAdapter::GetInfoString() et son utilisation
a travers la methdoe PIACmd::GetVarApp() pour acces de type $objname
4/ Ajout methode NObjMgrAdapter::PerformOperation() , implemente pour
adaptateur TMatrix<T> et TArray<T> pour extraction de ligne/colonne
(des matrices) et plan (slice) des TArray pour Rank()>3 Et mise en place
de la commande objaoper pour appel a PerformOperation()
5/ Petites corrections pour ntline2var vec2var

Reza 2 Juillet 2006

File size: 1.9 KB
Line 
1// This may look like C code, but it is really -*- C++ -*-
2// Adaptateur d objets (pour NamedObjMgr)
3// pour les classes TMatrix<T>, TVector<T> de Sophya
4// Reza 11/99
5// LAL-IN2P3/CNRS CEA-DAPNIA
6
7#ifndef NOMTARRAYADAPTER_H_SEEN
8#define NOMTARRAYADAPTER_H_SEEN
9
10#include "nomgadapter.h"
11#include "tarray.h"
12
13//---------------------------------------------------------------
14// Class Adaptateur d'objet (Pour NamedObjMgr) d'objet TArray
15//---------------------------------------------------------------
16
17template <class T>
18class NOMAdapter_TArray : public NObjMgrAdapter {
19public:
20 NOMAdapter_TArray(TArray<T>* m = NULL);
21 virtual ~NOMAdapter_TArray();
22
23 virtual NObjMgrAdapter* Clone(AnyDataObj* o);
24
25 virtual string GetDataObjType();
26
27 virtual AnyDataObj* CloneDataObj(bool share=false);
28
29// Returns a string with synthetic information about the object
30// opts : additional optional argument
31 virtual string GetInfoString(vector<string>& opts);
32// Perform an operation on the object definded
33// opts : operation definition
34 virtual int PerformOperation(vector<string>& opts);
35
36 virtual void SavePPF(POutPersist& s, string const & nom);
37
38 virtual void Print(ostream& os, int lev=0);
39 virtual PIDrawer* GetDrawer(string& dopt);
40 virtual P2DArrayAdapter* Get2DArray(string& dopt);
41 virtual NTupleInterface* GetNTupleInterface(bool& adel);
42
43protected:
44 TArray<T>* mArr;
45};
46
47// Class Interface NTuple pour TArray<T>
48
49template <class T>
50class NTupInt_TArray : public NTupleInterface {
51public:
52 NTupInt_TArray(TArray<T>* m);
53 virtual ~NTupInt_TArray();
54 virtual sa_size_t NbLines() const ;
55 virtual sa_size_t NbColumns() const ;
56 virtual r_8 * GetLineD(sa_size_t n) const ;
57 virtual string VarList_C(const char* nomx=NULL) const ;
58protected:
59 TArray<T>* mArr;
60 mutable r_8 mRet[11];
61};
62
63
64#endif
Note: See TracBrowser for help on using the repository browser.