From bb45d9b1d38134dde4b343d12b26c78dffa10c9d Mon Sep 17 00:00:00 2001 From: prascle Date: Mon, 3 Nov 2003 16:11:12 +0000 Subject: [PATCH] PR: retour au tag V1_2_1_debug2 (pb dans la branche de merge V1_2c) --- idl/Logger.idl | 1 - idl/SALOMEDS.idl | 382 +++- idl/SALOME_Component.idl | 4 +- idl/SALOME_Exception.idl | 14 +- src/Container/Component_i.cxx | 109 +- src/Container/Container_i.cxx | 122 +- src/Container/SALOME_ComponentPy.py | 28 +- src/Container/SALOME_Component_i.hxx | 5 - src/Container/SALOME_Container.cxx | 84 +- .../SALOME_DataTypeCatalog_Server.cxx | 83 +- src/HDFPersist/HDFattrCreate.c | 4 - src/HDFPersist/HDFattrRead.c | 6 +- src/HDFPersist/HDFattrWrite.c | 19 +- src/HDFPersist/HDFdatasetCreate.c | 4 - src/HDFPersist/HDFdatasetGetType.c | 4 +- src/HDFPersist/HDFdatasetRead.c | 8 +- src/HDFPersist/HDFdatasetWrite.c | 23 +- src/Logger/SALOME_Logger_Server.cxx | 89 +- src/Logger/SALOME_Logger_Server.hxx | 1 - src/Logger/SALOME_Trace.cxx | 62 +- .../SALOME_ModuleCatalog_Server.cxx | 78 +- src/NamingService/SALOME_NamingServicePy.py | 28 +- src/OBJECT/SALOME_Actor.h | 18 +- src/Plot2d/Plot2d_ViewFrame.cxx | 12 +- src/Registry/SALOME_Registry_Server.cxx | 189 +- .../SALOME_RessourcesCatalog_Server.cxx | 82 +- src/SALOMEDS/SALOMEDS_Server.cxx | 83 +- src/SALOMEGUI/QAD_Message.cxx | 6 +- src/SALOMEGUI/QAD_PyEditor.cxx | 37 +- .../SALOMEGUI_ActivateComponentDlg.cxx | 79 - .../SALOMEGUI_ActivateComponentDlg.h | 35 - .../SALOMEGUI_ExternalBrowserDlg.cxx | 134 -- src/SALOMEGUI/SALOMEGUI_ExternalBrowserDlg.h | 36 - src/SALOME_SWIG/batchmode_salome.py | 125 -- src/SALOME_SWIG/salome_test.py | 37 +- .../VTKViewer_InteractorStyleSALOME.cxx | 75 +- .../VTKViewer_InteractorStyleSALOME.h | 1 - src/VTKViewer/VTKViewer_RenderWindow.cxx | 3 +- .../VTKViewer_RenderWindowInteractor.cxx | 15 +- src/VTKViewer/VTKViewer_VectorText.cxx | 1747 ----------------- src/VTKViewer/VTKViewer_VectorText.h | 67 - src/VTKViewer/VTKViewer_ViewFrame.cxx | 91 +- 42 files changed, 705 insertions(+), 3325 deletions(-) delete mode 100644 src/SALOMEGUI/SALOMEGUI_ActivateComponentDlg.cxx delete mode 100644 src/SALOMEGUI/SALOMEGUI_ActivateComponentDlg.h delete mode 100644 src/SALOMEGUI/SALOMEGUI_ExternalBrowserDlg.cxx delete mode 100644 src/SALOMEGUI/SALOMEGUI_ExternalBrowserDlg.h delete mode 100644 src/VTKViewer/VTKViewer_VectorText.cxx delete mode 100644 src/VTKViewer/VTKViewer_VectorText.h diff --git a/idl/Logger.idl b/idl/Logger.idl index c30b5e22f..d58070da2 100644 --- a/idl/Logger.idl +++ b/idl/Logger.idl @@ -16,7 +16,6 @@ module SALOME_Logger { //put message into one special place for all servers using Logger oneway void putMessage (in string message); - void ping (); }; }; diff --git a/idl/SALOMEDS.idl b/idl/SALOMEDS.idl index ed5f15d54..5fcb8c16a 100644 --- a/idl/SALOMEDS.idl +++ b/idl/SALOMEDS.idl @@ -9,7 +9,7 @@ // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. +// Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software @@ -24,7 +24,347 @@ // $Header$ /*! \mainpage - \image html Application-About.png + \image html Application-About.png + +*/ +/*! \page page1 Mapping of IDL definitions to Python language. +\section Intro Introduction +%SALOME PRO is a distributed client/server application using the Common Object Request Broker Architecture (CORBA). +CORBA architecture uses the Interface Definition Language (IDL), which specifies interfaces between CORBA objects. So with help of IDL +CORBA's language independence is ensured . Because interfaces described in IDL can be mapped to the most of currently used programming languages, CORBA applications and components are thus +independent of the language(s) used to implement them. In other words, a client written in C++ can communicate with a server written in Java, which in turn can communicate with +another server written in COBOL, and so forth. + +One important thing to remember about IDL is that it is not an implementation language. That is, applications can't be written in IDL. The sole purpose of IDL is to define interfaces; +providing implementations for these interfaces is performed using some other language. + +This page contains an abridged reference manual for mapping of IDL definitions to Python language. It will be useful for Python programmers who are not familiar +with IDL language. All examples are taken from %SALOME PRO source files. +The complete version of Python Language Mapping Specification can be found here. + +
CONTENTS: +- \ref subsection1 +- \ref subsection2 +- \ref subsection3 +- \ref subsection4 +- \ref subsection5 +- \ref subsection6 +- \ref subsection7 + +\subsection subsection1 Using Scoped Names + +Python implements a module concept that is similar to the IDL scoping mechanisms, +except that it does not allow for nested modules. In addition, Python requires each +object to be implemented in a module; globally visible objects are not supported. + +Because of these constraints, scoped names are translated into Python using the +following rules: + +• An IDL module mapped into a Python module. Modules containing modules are +mapped to packages (i.e., directories with an __init__ module containing all +definitions excluding the nested modules). An implementation can chose to map toplevel +definitions (including the module CORBA) to modules in an implementationdefined +package, to allow concurrent installations of different CORBA runtime +libraries. In that case, the implementation must provide additional modules so that +toplevel modules can be used without importing them from a package. + +• For all other scopes, a Python class is introduced that contains all the definitions +inside this scope. + +• Other global definitions (except modules) appear in a module whose name is +implementation dependent. Implementations are encouraged to use the name of the +IDL file when defining the name of that module. + +For instance, + +\verbatim +module SALOMEDS { + interface StudyManager { + void Close(in Study aStudy); + }; +}; +\endverbatim + +would introduce a module SALOMEDS.py, which contains the following definitions: + +\verbatim +# module SALOMEDS.py +class StudyManager: + def _Close(self,aStudy): + pass #interfaces are discussed later +\endverbatim + +To avoid conflicts, IDL names that are also Python identifiers are prefixed with an underscore (‘_’). + +\subsection subsection2 Mapping for Template and Array Types + +Both the bounded and the unbounded string type of IDL are mapped to the Python +string type. Wide strings are represented by an implementation-defined type with the +following properties: + +• For the wide string X and the integer n, X[n] returns the nth character, which is a +wide string of length 1. + +• len(X) returns the number of characters of wide string X. + +• CORBA.wstr(c) returns a wide character with the code point c in an +implementation-defined encoding. + +• X+Y returns the concatenation of wide strings X and Y. + +• CORBA.word(CORBA.wstr(c)) == c + +The sequence template is mapped to sequence objects (e.g., tuples or lists). +Applications should not assume that values of a sequence type are mutable. Sequences +and arrays of octets and characters are mapped to the string type for efficiency reasons. + +For example, given the IDL definitions + +\verbatim +module SALOMEDS { + typedef sequence StringSeq; + + interface AttributeTableOfInteger : GenericAttribute { + + void SetRowTitles(in StringSeq theTitles) raises(IncorrectArgumentLength); + }; +}; +\endverbatim + +a client could invoke the operation + +\verbatim +print My_AttributeTableOfInteger.SetRowTitles(["X","F"]) +\endverbatim + +Array types are mapped like sequence templates. The application in this example also expects an +IncorrectArgumentLength exception if it passes sequences that violate the bounds constraint or +arrays of wrong size. + +Another example with arrays. The following IDL definition + +\verbatim +module SALOMEDS { + typedef sequence ListOfAttributes; + interface SObject { + ListOfAttributes GetAllAttributes(); + }; +}; +\endverbatim + +is equal to + +\verbatim +import SALOMEDS + +attributes=[] + +attributes = My_SObject.GetAllAttributes() + +length = len(attributes) + +print "Attributes number = ", length +print attributes +\endverbatim + +\subsection subsection3 Mapping for Objects and Operations + +A CORBA object reference is represented as a Python object at run-time. This object +provides all the operations that are available on the interface of the object. Although +this specification does not mandate the use of classes for stub objects, the following +discussion uses classes to indicate the interface. + +The nil object is represented by None. + +If an operation expects parameters of the IDL Object type, any Python object +representing an object reference might be passed as actual argument. + +If an operation expects a parameter of an abstract interface, either an object +implementing that interface, or a value supporting this interface may be passed as +actual argument. The semantics of abstract values then define whether the argument is +passed by value or by reference. + +Operations of an interface map to methods available on the object references. +Parameters with a parameter attribute of in or inout +are passed from left to right tothe method, skipping out parameters. +The return value of a method depends on the number of out parameters +and the return type. If the operation returns a value, this +value forms the first result value. All inout or out +parameters form consecutive result values. The method result depends then on the number +of result values: + +• If there is no result value, the method returns None. + +• If there is exactly one result value, it is returned as a single value. + +• If there is more than one result value, all of them are packed into a tuple, and this +tuple is returned. + +Assuming the IDL definition + +\verbatim +module SALOMEDS{ + interface StudyBuilder{ + boolean FindAttribute ( in SObject anObject, + out GenericAttribute anAttribute, + in string aTypeOfAttribute ); + }; +}; +\endverbatim + +a client could write + +\verbatim +from SALOMEDS import StudyBuilder; +my_StudyBuilder=... + + res,A=my_StudyBuilder.FindAttribute(Sobj, "AttributeSequenceOfReal") +\endverbatim + +In this example A corresponds to the return value anAttribute and +res to the boolean return value. + +If an interface defines an attribute name, for example, the attribute is mapped into an +operation _get_name. If the attribute is not readonly, there is an +additional operation _set_name. + +The IDL definition + +\verbatim +module SALOMEDS{ + interface Study{ + attribute string Name; + }; +}; +\endverbatim + +is equal to the following + +\verbatim +from SALOMEDS import Study +My_Study=... + Name=My_Study._get_name(); + Name=My_Study._set_name(); +\endverbatim + +\subsection subsection4 Narrowing Object References + +Python objects returned from CORBA operations or pseudo-operations (such as +string_to_object) might have a dynamic type, which is more specific than the +static type as defined in the operation signature. + +Since there is no efficient and reliable way of automatically creating the most specific +type, explicit narrowing is necessary. To narrow an object reference A to an interface +class AttributeSequenceOfReal, the client can use the following operation + +\verbatim +A = A._narrow(SALOMEDS.AttributeSequenceOfReal) +\endverbatim + +\subsection subsection5 Mapping for Exceptions + +An IDL exception is translated into a Python class derived from +CORBA.UserException. System exceptions are derived from CORBA.SystemException. +Both base classes are derived from CORBA.Exception. The parameters of the +exception are mapped in the same way as the fields of a struct definition. When +raising an exception, a new instance of the class is created; the constructor +expects the exception parameters. For example, the definition + +\verbatim +module SALOMEDS{ + interface StudyBuilder{ + exception LockProtection {}; + void CommitCommand() raises(LockProtection); + }; +}; +\endverbatim + +could be used caught as + +\verbatim +from SALOMEDS import StudyBuilder; +my_StudyBuilder=... +try: + my_StudyBuilder.CommitCommand(); +except StudyBuilder.LockProtection,value: + print "Error! Study is locked for modifications" +\endverbatim + + +\subsection subsection6 Mapping for Enumeration Types + +An enumeration is mapped into a number of constant objects in the name space where +the enumeration is defined. An application may only test for equivalence of two +enumeration values, and not assume that they behave like numbers. +For example, the definition + +\verbatim +module VISU { + interface PrsObject{ + + enum PrsObjType{ TCURVE, TTABLE, TMESH, TCONTAINER, + TSCALARMAP, TISOSURFACE, TDEFORMEDSHAPE, + TCUTPLANES, TVECTORS }; + }; +}; +\endverbatim + +introduces the objects + +\verbatim +from VISU import PrsObject +VISU.PrsObjType.TCURVE,VISU.PrsObjType.TTABLE,VISU.PrsObjType.TMESH,VISU.PrsObjType.TCONTAINER, +VISU.PrsObjType.TSCALARMAP,VISU.PrsObjType.TISOSURFACE,VISU.PrsObjType.TDEFORMEDSHAPE,VISU.PrsObjType.TCUTPLANES, +VISU.PrsObjType.TVECTORS +\endverbatim + +\subsection subsection7 Mapping for Structured Types + +An IDL struct definition is mapped into a Python class or type. For each field in the +struct, there is a corresponding attribute in the class with the same name as the field. +The constructor of the class expects the field values, from left to right. +For example, the IDL definition + +\verbatim +struct SDate { + short Second; + short Minute; + short Hour; + short Day; + short Month; + short Year; + }; +\endverbatim + +could be used in the Python statements + +\verbatim +Date=SDate(30, 12, 15, 26, 1, 79) +print Date.Second,Date.Minute,Date.Hour,Date.Day,Date.Month,Date.Year +\endverbatim +*/ +/*! \page page2 Mapping of SALOME IDL definitions to Python language. + + + - %SALOME STUDY module + - Mapping of %SALOMEDS functions + - Mapping of SALOMEDS_Attributes functions + - %SAlOME KERNEL module + - Mapping of %Med_Gen functions + - Mapping of %SALOME_Session functions + - Mapping of %SALOME_ModuleCatalog functions + - Mapping of %SALOME_Exception functions + - Mapping of %SALOME_Component functions + - %SALOME MED component + - Mapping of %Med functions + - %SALOME SUPERVISION module + - Mapping of %SUPERV functions + - %SALOME %VISU module + - Mapping of %VISU_Gen functions + +*/ + +/*! \defgroup Study SALOME STUDY module */ /*! @@ -37,7 +377,7 @@ #include "SALOME_Exception.idl" -/*! +/*! \ingroup Study This package contains the interfaces used for creation, managment and modification of the %Study */ @@ -60,10 +400,7 @@ module SALOMEDS /*! IOR of the study in %SALOME application */ typedef string SalomeReference; - -/*! List of the names of studies which are currently open in this %SALOME session. -Since %SALOME is a multi-study application, it allows to open a lot of studies -during each working session. +/*! List of names of open studies in a %SALOME session */ typedef sequence ListOfOpenStudies; /*! List of file names @@ -99,12 +436,10 @@ during each working session. interface UseCaseIterator; interface UseCaseBuilder; interface Callback; - /*! List of attributes */ typedef sequence ListOfAttributes; - -/*! Exception indicating that this feature hasn't been implemented. +/*! Exception indicating that this feature hasn't been implemented */ exception NotImplemented {}; @@ -154,7 +489,7 @@ during each working session. */ typedef sequence ListOfSObject; /*! - Gets the persistent reference to the %Study. + Gets a persistent reference to the %Study. */ PersistentReference GetPersistentReference(); /*! @@ -566,35 +901,24 @@ during each working session. Closes the study. */ void Close(in Study aStudy); -/*! \brief Saving the study in a HDF file (or files). +/*! \brief Saving the study Saves the study. - \param theMultiFile If this parameter is True the study will be saved in several files.
See also an example of this method usage in batchmode of %SALOME application. */ void Save(in Study aStudy, in boolean theMultiFile); -/*! \brief Saving the study in a ASCII file (or files). - Saves the study in a ASCII format. - \param theMultiFile If this parameter is True the study will be saved in several files. -*/ void SaveASCII(in Study aStudy, in boolean theMultiFile); -/*! \brief Saving the study in a specified HDF file (or files). - - Saves the study in a specified file (or files). - \param theMultiFile If this parameter is True the study will be saved in several files. +/*! \brief Saving the study in a file + Saves the study in a specified file.
See also an example of this method usage in batchmode of %SALOME application. */ void SaveAs(in URL aUrl, // if the file already exists in Study aStudy, in boolean theMultiFile); // overwrite (as option) -/*! \brief Saving the study in a specified ASCII file (or files). - Saves the study in a specified ASCII file (or files). - \param theMultiFile If this parameter is True the study will be saved in several files. -*/ void SaveAsASCII(in URL aUrl, // if the file already exists in Study aStudy, in boolean theMultiFile); // overwrite (as option) @@ -715,7 +1039,8 @@ during each working session. //========================================================================== /*! \brief %Generic attribute interface - %Generic attribute is a base interface for all attributes which can be assigned to the SObjects created in the study. + %Generic attribute is a base interface for all attributes which inherit + its methods. */ //========================================================================== interface GenericAttribute @@ -738,7 +1063,6 @@ during each working session. //========================================================================== /*! \brief %SComponent interface - The %SComponent interface establishes in the study a permanent assocition to the Components integrated into %SALOME platform. The %SComponent interface is a specialization of the %SObject interface. It inherits the most of its methods from the %SObject interface. */ @@ -916,7 +1240,7 @@ Activates the %UseCaseIterator. If allLevels is True the Iterator is }; //========================================================================== //========================================================================== -/*! \brief The callback interface +/*! \brief The callback interface The %StudyBuilder can be created with the method NewBuilder. While invocation of this method a new object of the class Callback is created and this object is assigned to the newly created Builder as callback which should be called when adding and removing of the ojects. @@ -1043,5 +1367,5 @@ Activates the %UseCaseIterator. If allLevels is True the Iterator is }; }; - + #endif diff --git a/idl/SALOME_Component.idl b/idl/SALOME_Component.idl index 391112dfd..085bf919b 100644 --- a/idl/SALOME_Component.idl +++ b/idl/SALOME_Component.idl @@ -25,7 +25,7 @@ #ifndef _SALOME_COMPONENT_IDL_ #define _SALOME_COMPONENT_IDL_ -/*! +/*! \ingroup Kernel This is a package of interfaces used for connecting new components to %SALOME application. It also contains a set of interfaces used for management of %MED component in %SALOME application. @@ -37,7 +37,7 @@ module Engines /*! \brief Interface of the %Container This interface defines the process of loading and registration - of new components in %SALOME application + of new components in SALOME application */ interface Container { diff --git a/idl/SALOME_Exception.idl b/idl/SALOME_Exception.idl index c310e9de4..6c559445b 100644 --- a/idl/SALOME_Exception.idl +++ b/idl/SALOME_Exception.idl @@ -24,31 +24,25 @@ // $Header$ /*! \file SALOME_Exception.idl This file contains the objects defining the main exception used -in %SALOME application. The idl SALOME_Exception provides a generic CORBA exception for SALOME, - with an attribute that gives an exception type,a message, plus optional source file name and line number. -This idl is intended to serve for all user CORBA exceptions raised in SALOME code, as IDL specification -does not support exception inheritance. So, all the user CORBA exceptions from SALOME could be -handled in a single catch. - +in %SALOME application. */ #ifndef _SALOME_EXCEPTION_IDL_ #define _SALOME_EXCEPTION_IDL_ /*! -Module %SALOME regroups all idl definitions for %SALOME Kernel component +Module SALOME regroups all idl definitions for SALOME Kernel */ module SALOME { /*! -This enumeration contains the elements indicating the type of the exception -which can be raised during %SALOME session. +This enumeration contains the elements indicating the type of the exception. */ enum ExceptionType { COMM, /*!< Communication problem */ BAD_PARAM, /*!< Bad User parameters */ - INTERNAL_ERROR /*!< Application level problem, irrecoverable */ + INTERNAL_ERROR /*!< SALOME Bug, irrecoverable */ }; /*! This struct contains a set of fields defining the structure of the exception. diff --git a/src/Container/Component_i.cxx b/src/Container/Component_i.cxx index 09d463416..400072d0f 100644 --- a/src/Container/Component_i.cxx +++ b/src/Container/Component_i.cxx @@ -35,7 +35,6 @@ using namespace std; #include "utilities.h" extern bool _Sleeping ; -static Engines_Component_i * theEngines_Component ; Engines_Component_i::Engines_Component_i() { @@ -48,10 +47,8 @@ Engines_Component_i::Engines_Component_i(CORBA::ORB_ptr orb, const char *instanceName, const char *interfaceName, bool notif) : - _instanceName(instanceName), - _interfaceName(interfaceName), - _myConnexionToRegistry(0), - _ThreadId(0) , _ThreadCpuUsed(0) , _Executed(false) , _graphName("") , _nodeName("") { + _instanceName(instanceName), _interfaceName(interfaceName), + _myConnexionToRegistry(0), _ThreadId(0) , _graphName("") , _nodeName("") { MESSAGE("Component constructor with instanceName "<< _instanceName); _orb = CORBA::ORB::_duplicate(orb); _poa = PortableServer::POA::_duplicate(poa); @@ -74,7 +71,8 @@ Engines_Component_i::Engines_Component_i(CORBA::ORB_ptr orb, : _instanceName(instanceName), _interfaceName(interfaceName), _myConnexionToRegistry(0), - _ThreadId(0) , _ThreadCpuUsed(0) , _Executed(false) , _graphName("") , _nodeName("") { + _ThreadId(0) +{ // MESSAGE("Component constructor with instanceName "<< _instanceName); _orb = CORBA::ORB::_duplicate(orb); _poa = PortableServer::POA::_duplicate(poa); @@ -136,13 +134,11 @@ PortableServer::ObjectId * Engines_Component_i::getId() void Engines_Component_i::beginService(const char *serviceName) { - MESSAGE(pthread_self() << "Send BeginService notification for " << serviceName << endl + MESSAGE("Send BeginService notification for " << serviceName << endl << "Component instance : " << _instanceName << endl << endl); _ThreadId = pthread_self() ; _StartUsed = 0 ; _StartUsed = CpuUsed_impl() ; - _ThreadCpuUsed = 0 ; - _Executed = true ; _serviceName = serviceName ; if ( pthread_setcanceltype( PTHREAD_CANCEL_ASYNCHRONOUS , NULL ) ) { perror("pthread_setcanceltype ") ; @@ -152,17 +148,15 @@ void Engines_Component_i::beginService(const char *serviceName) perror("pthread_setcancelstate ") ; exit(0) ; } -// MESSAGE(pthread_self() << " Return from BeginService for " << serviceName -// << " ThreadId " << _ThreadId << " StartUsed " << _StartUsed -// << " _graphName " << _graphName << " _nodeName " << _nodeName ); + MESSAGE("Return from BeginService for " << serviceName + << " ThreadId " << _ThreadId + << " _graphName " << _graphName << " _nodeName " << _nodeName ); } void Engines_Component_i::endService(const char *serviceName) { - _ThreadCpuUsed = CpuUsed_impl() ; - MESSAGE(pthread_self() << " Send EndService notification for " << serviceName << endl - << " Component instance : " << _instanceName << " StartUsed " << _StartUsed << " _ThreadCpuUsed " - << _ThreadCpuUsed << endl << endl); + MESSAGE("Send EndService notification for " << serviceName << endl + << "Component instance : " << _instanceName << endl << endl); _ThreadId = 0 ; } @@ -182,7 +176,7 @@ char* Engines_Component_i::nodeName() { return CORBA::string_dup( _nodeName.c_str() ) ; } -bool Engines_Component_i::Killer( int ThreadId , int signum ) { +bool Killer( int ThreadId , int signum ) { if ( ThreadId ) { if ( signum == 0 ) { if ( pthread_cancel( ThreadId ) ) { @@ -190,7 +184,7 @@ bool Engines_Component_i::Killer( int ThreadId , int signum ) { return false ; } else { - MESSAGE(pthread_self() << "Killer : ThreadId " << ThreadId << " pthread_canceled") ; + MESSAGE("Killer : ThreadId " << ThreadId << " pthread_canceled") ; } } else { @@ -199,7 +193,7 @@ bool Engines_Component_i::Killer( int ThreadId , int signum ) { return false ; } else { - MESSAGE(pthread_self() << "Killer : ThreadId " << ThreadId << " pthread_killed(" + MESSAGE("Killer : ThreadId " << ThreadId << " pthread_killed(" << signum << ")") ; } } @@ -208,12 +202,12 @@ bool Engines_Component_i::Killer( int ThreadId , int signum ) { } bool Engines_Component_i::Kill_impl() { -// MESSAGE("Engines_Component_i::Kill_i() pthread_t "<< pthread_self() -// << " pid " << getpid() << " instanceName " -// << _instanceName.c_str() << " interface " << _interfaceName.c_str() -// << " machineName " << GetHostname().c_str()<< " _id " << hex << _id -// << dec << " _ThreadId " << _ThreadId << " this " << hex << this -// << dec ) ; + MESSAGE("Engines_Component_i::Kill_i() pthread_t "<< pthread_self() + << " pid " << getpid() << " instanceName " + << _instanceName.c_str() << " interface " << _interfaceName.c_str() + << " machineName " << GetHostname().c_str()<< " _id " << hex << _id + << dec << " _ThreadId " << _ThreadId << " this " << hex << this + << dec ) ; bool RetVal = false ; if ( _ThreadId > 0 && pthread_self() != _ThreadId ) { RetVal = Killer( _ThreadId , 0 ) ; @@ -274,68 +268,21 @@ bool Engines_Component_i::Resume_impl() { } -void SetCpuUsed() { - theEngines_Component->SetCurCpu() ; -} -void Engines_Component_i::SetCurCpu() { - _ThreadCpuUsed = CpuUsed() ; -// MESSAGE(pthread_self() << " Engines_Component_i::SetCurCpu() _ThreadCpuUsed " << _ThreadCpuUsed) ; -} - #include #include #include -long Engines_Component_i::CpuUsed() { - long cpu = 0 ; - struct rusage usage ; - if ( _ThreadId || _Executed ) { - if ( getrusage( RUSAGE_SELF , &usage ) == -1 ) { - perror("Engines_Component_i::CpuUsed") ; - return 0 ; - } - cpu = usage.ru_utime.tv_sec - _StartUsed ; -// cout << pthread_self() << " Engines_Component_i::CpuUsed " << " " << _serviceName -// << usage.ru_utime.tv_sec << " - " << _StartUsed << " = " << cpu << endl ; - } - else { -// cout << pthread_self() << "Engines_Component_i::CpuUsed _ThreadId " << _ThreadId << " " << _serviceName -// << " _StartUsed " << _StartUsed << endl ; - } - return cpu ; -} - long Engines_Component_i::CpuUsed_impl() { - long cpu = 0 ; - if ( _ThreadId || _Executed ) { - if ( _ThreadId > 0 ) { - if ( pthread_self() != _ThreadId ) { - if ( _Sleeping ) { - } - else { -// Get Cpu in the appropriate thread with that object !... - theEngines_Component = this ; - Killer( _ThreadId ,SIGUSR1 ) ; - } - cpu = _ThreadCpuUsed ; - } - else { - _ThreadCpuUsed = CpuUsed() ; - cpu = _ThreadCpuUsed ; -// cout << pthread_self() << " Engines_Component_i::CpuUsed_impl " << _serviceName << " " << cpu -// << endl ; - } - } - else { - cpu = _ThreadCpuUsed ; -// cout << pthread_self() << " Engines_Component_i::CpuUsed_impl " << _serviceName << " " << cpu -// << endl ; - } - } - else { -// cout << pthread_self() << "Engines_Component_i::CpuUsed_impl _ThreadId " << _ThreadId << " " -// << _serviceName << " _StartUsed " << _StartUsed << endl ; + struct rusage usage ; + long cpu ; + if ( getrusage( RUSAGE_SELF , &usage ) == -1 ) { + perror("GraphBase::CpuUsed") ; + return 0 ; } +// return usage.ru_utime.__time_t tv_sec ; + cout << "CpuUsed " << usage.ru_utime.tv_sec << " " << usage.ru_utime.tv_usec << " " + << usage.ru_stime.tv_sec << " " << usage.ru_stime.tv_usec << endl ; + cpu = usage.ru_utime.tv_sec - _StartUsed ; return cpu ; } diff --git a/src/Container/Container_i.cxx b/src/Container/Container_i.cxx index 05f7c84f8..9cef646b8 100644 --- a/src/Container/Container_i.cxx +++ b/src/Container/Container_i.cxx @@ -296,14 +296,16 @@ Engines::Container_ptr Engines_Container_i::start_impl( return Engines::Container::_nil() ; } -Engines::Component_ptr Engines_Container_i::load_impl( const char* nameToRegister, - const char* componentName ) { +Engines::Component_ptr Engines_Container_i::load_impl + (const char* nameToRegister, + const char* componentName) +{ + BEGIN_OF("Container_i::load_impl"); _numInstanceMutex.lock() ; // lock on the instance number - BEGIN_OF( "Container_i::load_impl " << componentName ) ; _numInstance++ ; char _aNumI[12]; - sprintf( _aNumI , "%d" , _numInstance ) ; + sprintf(_aNumI,"%d",_numInstance) ; string _impl_name = componentName; string _nameToRegister = nameToRegister; @@ -311,16 +313,17 @@ Engines::Component_ptr Engines_Container_i::load_impl( const char* nameToRegiste //SCRUTE(instanceName); //string absolute_impl_name = _library_path + "lib" + _impl_name + ".so"; - string absolute_impl_name( _impl_name ) ; - SCRUTE(absolute_impl_name); + string absolute_impl_name(_impl_name); + // SCRUTE(absolute_impl_name); void* handle; - handle = dlopen( absolute_impl_name.c_str() , RTLD_LAZY ) ; - if ( !handle ) { - INFOS("Can't load shared library : " << absolute_impl_name); - INFOS("error dlopen: " << dlerror()); - _numInstanceMutex.unlock() ; - return Engines::Component::_nil() ; - } + handle = dlopen(absolute_impl_name.c_str(), RTLD_LAZY); + if (!handle) + { + INFOS("Can't load shared library : " << absolute_impl_name); + INFOS("error dlopen: " << dlerror()); + _numInstanceMutex.unlock() ; + return Engines::Component::_nil() ; + } string factory_name = _nameToRegister + string("Engine_factory"); // SCRUTE(factory_name) ; @@ -331,47 +334,61 @@ Engines::Component_ptr Engines_Container_i::load_impl( const char* nameToRegiste PortableServer::ObjectId *, const char *, const char *) ; +// typedef PortableServer::ObjectId * (*FACTORY_FUNCTION_SUPERV) +// (CORBA::ORB_ptr, +// PortableServer::POA_ptr, +// PortableServer::ObjectId *, +// const char *, +// const char * , +// int , char ** ) ; + FACTORY_FUNCTION Component_factory = (FACTORY_FUNCTION) dlsym(handle, factory_name.c_str()); +// FACTORY_FUNCTION_SUPERV Component_factory_superv = (FACTORY_FUNCTION_SUPERV) Component_factory ; + +// PortableServer::ObjectId * (*Component_factory) (CORBA::ORB_ptr, +// PortableServer::POA_ptr, +// PortableServer::ObjectId *, +// const char *, +// const char *) = +// (PortableServer::ObjectId * (*) (CORBA::ORB_ptr, +// PortableServer::POA_ptr, +// PortableServer::ObjectId *, +// const char *, +// const char *)) +// dlsym(handle, factory_name.c_str()); char *error ; - if ( (error = dlerror() ) != NULL) { + if ((error = dlerror()) != NULL) + { INFOS("Can't resolve symbol: " + factory_name); SCRUTE(error); _numInstanceMutex.unlock() ; return Engines::Component::_nil() ; } - string component_registerName = _containerName + "/" + _nameToRegister; - Engines::Component_var iobject = Engines::Component::_nil() ; - try { - CORBA::Object_var obj = _NS->Resolve( component_registerName.c_str() ) ; - if ( CORBA::is_nil( obj ) ) { -// Instanciate required CORBA object - PortableServer::ObjectId * id ; - id = (Component_factory) ( _orb, _poa, _id, instanceName.c_str() , - _nameToRegister.c_str() ) ; + // Instanciate required CORBA object + PortableServer::ObjectId * id ; +// if ( factory_name == "SupervisionEngine_factory" ) { // for Python ... +// id = (Component_factory_superv) (_orb, _poa, _id, instanceName.c_str(), +// _nameToRegister.c_str(), _argc , _argv ); +// } +// else { + id = (Component_factory) (_orb, _poa, _id, instanceName.c_str(), + _nameToRegister.c_str()); +// } // get reference from id - obj = _poa->id_to_reference(*id); - iobject = Engines::Component::_narrow( obj ) ; + CORBA::Object_var o = _poa->id_to_reference(*id); + Engines::Component_var iobject = Engines::Component::_narrow(o) ; // _numInstanceMutex.lock() ; // lock on the add on handle_map (necessary ?) // register the engine under the name containerName.dir/nameToRegister.object - _NS->Register( iobject , component_registerName.c_str() ) ; - MESSAGE( "Container_i::load_impl " << component_registerName.c_str() << " bound" ) ; - } - else { // JR : No ReBind !!! - MESSAGE( "Container_i::load_impl " << component_registerName.c_str() << " already bound" ) ; - iobject = Engines::Component::_narrow( obj ) ; - } - } - catch (...) { - MESSAGE( "Container_i::load_impl catched" ) ; - } + string component_registerName = _containerName + "/" + _nameToRegister; + _NS->Register(iobject, component_registerName.c_str()) ; //Jr _numInstanceMutex.lock() ; // lock on the add on handle_map (necessary ?) handle_map[instanceName] = handle; - END_OF("Container_i::load_impl"); _numInstanceMutex.unlock() ; +// END_OF("Container_i::load_impl"); return Engines::Component::_duplicate(iobject); } @@ -418,20 +435,18 @@ void ActSigIntHandler() { struct sigaction SigIntAct ; SigIntAct.sa_sigaction = &SigIntHandler ; SigIntAct.sa_flags = SA_SIGINFO ; - if ( sigaction( SIGINT | SIGUSR1 , &SigIntAct, NULL ) ) { + if ( sigaction( SIGINT , &SigIntAct, NULL ) ) { perror("SALOME_Container main ") ; exit(0) ; } else { - INFOS(pthread_self() << "SigIntHandler activated") ; + INFOS("SigIntHandler activated") ; } } -void SetCpuUsed() ; - void SigIntHandler(int what , siginfo_t * siginfo , void * toto ) { - MESSAGE(pthread_self() << "SigIntHandler what " << what << endl + MESSAGE("SigIntHandler what " << what << endl << " si_signo " << siginfo->si_signo << endl << " si_code " << siginfo->si_code << endl << " si_pid " << siginfo->si_pid) ; @@ -443,21 +458,16 @@ void SigIntHandler(int what , siginfo_t * siginfo , } else { ActSigIntHandler() ; - if ( siginfo->si_signo == SIGUSR1 ) { - SetCpuUsed() ; - } - else { - _Sleeping = true ; - INFOS("SigIntHandler BEGIN sleeping.") - MESSAGE("SigIntHandler BEGIN sleeping.") ; - int count = 0 ; - while( _Sleeping ) { - sleep( 1 ) ; - count += 1 ; - } - INFOS("SigIntHandler LEAVE sleeping after " << count << " s.") - MESSAGE("SigIntHandler LEAVE sleeping after " << count << " s.") ; + _Sleeping = true ; + INFOS("SigIntHandler BEGIN sleeping.") + MESSAGE("SigIntHandler BEGIN sleeping.") ; + int count = 0 ; + while( _Sleeping ) { + sleep( 1 ) ; + count += 1 ; } + INFOS("SigIntHandler LEAVE sleeping after " << count << " s.") + MESSAGE("SigIntHandler LEAVE sleeping after " << count << " s.") ; return ; } } diff --git a/src/Container/SALOME_ComponentPy.py b/src/Container/SALOME_ComponentPy.py index 004d6eded..1ac2e3cfc 100755 --- a/src/Container/SALOME_ComponentPy.py +++ b/src/Container/SALOME_ComponentPy.py @@ -40,8 +40,6 @@ from libNOTIFICATION import * from SALOME_utilities import * -from thread import * - #============================================================================= #define an implementation of the component interface @@ -68,8 +66,6 @@ class SALOME_ComponentPy_i (Engines__POA.Component): self._nodeName = '' self._ThreadId = 0 self._StartUsed = 0 - self._ThreadCpuUsed = 0 - self._Executed = 0 naming_service = SALOME_NamingServicePy_i(self._orb) Component_path = "/Containers/" + os.getenv( "HOSTNAME" ) + "/" + self._containerName + "/" + self._interfaceName @@ -131,21 +127,15 @@ class SALOME_ComponentPy_i (Engines__POA.Component): #------------------------------------------------------------------------- def beginService(self , serviceName ): - MESSAGE( "Send BeginService notification for " + str(serviceName) + " for graph/node " + str(self._graphName) + " " + str(self._nodeName) ) + MESSAGE( "Send BeginService notification for " + str(serviceName) + "for graph/node" + str(self._graphName) + str(self._nodeName) ) MESSAGE( "Component instance : " + str ( self._instanceName ) ) - self._serviceName = str(serviceName) - self._ThreadId = get_ident() self._StartUsed = 0 self._StartUsed = self.CpuUsed_impl() - self._ThreadCpuUsed = 0 - self._Executed = 1 - MESSAGE( "SALOME_ComponentPy_i::beginService _StartUsed " + str( self._ThreadId ) + " " + str( self._StartUsed ) ) - #------------------------------------------------------------------------- def endService(self , serviceName ): - MESSAGE( "Send EndService notification for " + str( self._ThreadId ) + " " + str(serviceName) + " for graph/node " + str(self._graphName) + " " + str(self._nodeName) + " CpuUsed " + str( self.CpuUsed_impl() ) ) + MESSAGE( "Send EndService notification for " + str(serviceName) + "for graph/node" + str(self._graphName) + str(self._nodeName) ) MESSAGE( "Component instance : " + str(self._instanceName) ) #------------------------------------------------------------------------- @@ -193,16 +183,10 @@ class SALOME_ComponentPy_i (Engines__POA.Component): #------------------------------------------------------------------------- def CpuUsed_impl(self): - if ( self._ThreadId | self._Executed ) : - if self._ThreadId == get_ident() : - cpu = time.clock() - self._ThreadCpuUsed = int(cpu) - self._StartUsed - MESSAGE( "SALOME_ComponentPy_i::CpuUsed_impl " + self._serviceName + " " + str( int(cpu) ) + " - " + str( self._StartUsed ) + " = " + str( self._ThreadCpuUsed ) ) - return self._ThreadCpuUsed - MESSAGE( "SALOME_ComponentPy_i::CpuUsed_impl " + self._serviceName + " " + str( self._ThreadCpuUsed ) ) - return self._ThreadCpuUsed - MESSAGE( "SALOME_ComponentPy_i::CpuUsed_impl self._StartUsed " + self._serviceName + " " + str(self._StartUsed) ) - return 0 + cpu = time.clock() + cpuL = int(cpu) - self._StartUsed + print "SALOME_ComponentPy_i::CpuUsed_impl ",cpuL,type(cpuL) + return cpuL #------------------------------------------------------------------------- diff --git a/src/Container/SALOME_Component_i.hxx b/src/Container/SALOME_Component_i.hxx index fc537d1c8..a5d462b65 100644 --- a/src/Container/SALOME_Component_i.hxx +++ b/src/Container/SALOME_Component_i.hxx @@ -79,13 +79,10 @@ public: void Names( const char * graphName , const char * nodeName ) ; char * graphName() ; char * nodeName() ; - bool Killer( int ThreadId , int signum ); bool Kill_impl(); bool Stop_impl(); bool Suspend_impl(); bool Resume_impl(); - void SetCurCpu() ; - long CpuUsed() ; long CpuUsed_impl() ; protected: @@ -105,8 +102,6 @@ protected: private: pthread_t _ThreadId ; long _StartUsed ; - long _ThreadCpuUsed ; - bool _Executed ; }; #endif diff --git a/src/Container/SALOME_Container.cxx b/src/Container/SALOME_Container.cxx index ce8c05628..3914a57f3 100644 --- a/src/Container/SALOME_Container.cxx +++ b/src/Container/SALOME_Container.cxx @@ -32,7 +32,7 @@ using namespace std; # include "Utils_ORB_INIT.hxx" # include "Utils_SINGLETON.hxx" -#include "SALOME_NamingService.hxx" + #include "SALOME_Container_i.hxx" #include #include @@ -67,87 +67,21 @@ int main(int argc, char* argv[]) CORBA::ORB_var &orb = init( argc , argv ) ; // Obtain a reference to the root POA. + CORBA::Object_var obj = orb->resolve_initial_references("RootPOA"); + PortableServer::POA_var root_poa = PortableServer::POA::_narrow(obj); + // obtain the root poa manager - // - long TIMESleep = 250000000; - int NumberOfTries = 40; - int a; - timespec ts_req; - ts_req.tv_nsec=TIMESleep; - ts_req.tv_sec=0; - timespec ts_rem; - ts_rem.tv_nsec=0; - ts_rem.tv_sec=0; - CosNaming::NamingContext_var inc; - PortableServer::POA_var root_poa; - CORBA::Object_var theObj; - CORBA::Object_var obj; - CORBA::Object_var object; - SALOME_Logger::Logger_var log; - SALOME_NamingService &naming = *SINGLETON_::Instance() ; - int CONTAINER=0; - const char * Env = getenv("USE_LOGGER"); - int EnvL =0; - if ((Env!=NULL) && (strlen(Env))) - EnvL=1; - - CosNaming::Name name; - name.length(1); - name[0].id=CORBA::string_dup("Logger"); - PortableServer::POAManager_var pman; - for (int i = 1; i<=NumberOfTries; i++){ - if (i!=1) - a=nanosleep(&ts_req,&ts_rem); - try{ - obj = orb->resolve_initial_references("RootPOA"); - if(!CORBA::is_nil(obj)) - root_poa = PortableServer::POA::_narrow(obj); - if(!CORBA::is_nil(root_poa)) - pman = root_poa->the_POAManager(); - if(!CORBA::is_nil(orb)) - theObj = orb->resolve_initial_references("NameService"); - if (!CORBA::is_nil(theObj)) - inc = CosNaming::NamingContext::_narrow(theObj); - } - catch( CORBA::COMM_FAILURE& ) - { - MESSAGE( "Container: CORBA::COMM_FAILURE: Unable to contact the Naming Service" ) - } - if(!CORBA::is_nil(inc)) { - MESSAGE( "Container: Naming Service was found" ) - if(EnvL==1){ - for(int j=1; j<=NumberOfTries; j++){ - if (j!=1) - a=nanosleep(&ts_req, &ts_rem); - try{ - object = inc->resolve(name); - } - catch(CosNaming::NamingContext::NotFound){ MESSAGE( "Container: Logger Server wasn't found" ) } - catch(...){ MESSAGE( "Container: Unknown exception" ) } - if (!CORBA::is_nil(object)) - log = SALOME_Logger::Logger::_narrow(object); - if (!CORBA::is_nil(log)){ - MESSAGE( "Container: Logger Server was found" ) - log->ping(); - CONTAINER=1; - break; - } - }} - } - if ((CONTAINER==1)||((EnvL==0)&&(!CORBA::is_nil(inc)))) - break; - } - - // + PortableServer::POAManager_var pman = root_poa->the_POAManager(); + // define policy objects PortableServer::ImplicitActivationPolicy_var implicitActivation = root_poa->create_implicit_activation_policy(PortableServer::NO_IMPLICIT_ACTIVATION) ; - // default = NO_IMPLICIT_ACTIVATION + // default = NO_IMPLICIT_ACTIVATION PortableServer::ThreadPolicy_var threadPolicy = root_poa->create_thread_policy(PortableServer::ORB_CTRL_MODEL) ; - // default = ORB_CTRL_MODEL, other choice SINGLE_THREAD_MODEL - + // default = ORB_CTRL_MODEL, other choice SINGLE_THREAD_MODEL + // create policy list CORBA::PolicyList policyList; policyList.length(2); diff --git a/src/DataTypeCatalog/SALOME_DataTypeCatalog_Server.cxx b/src/DataTypeCatalog/SALOME_DataTypeCatalog_Server.cxx index 95c4ce6a1..e9b4de72f 100644 --- a/src/DataTypeCatalog/SALOME_DataTypeCatalog_Server.cxx +++ b/src/DataTypeCatalog/SALOME_DataTypeCatalog_Server.cxx @@ -31,86 +31,23 @@ using namespace std; #include "SALOME_NamingService.hxx" #include "SALOME_DataTypeCatalog_impl.hxx" #include "utilities.h" -# include "Utils_SINGLETON.hxx" + int main(int argc,char **argv) { try { CosNaming::NamingContext_var _rootContext, catalogContext; + // initialize the ORB + CORBA::ORB_ptr orb = CORBA::ORB_init (argc, argv); + // initialize POA - // - long TIMESleep = 250000000; - int NumberOfTries = 40; - int a; - timespec ts_req; - ts_req.tv_nsec=TIMESleep; - ts_req.tv_sec=0; - timespec ts_rem; - ts_rem.tv_nsec=0; - ts_rem.tv_sec=0; - CosNaming::NamingContext_var inc; - PortableServer::POA_var poa; - CORBA::Object_var theObj; - CORBA::Object_var obj; - CORBA::Object_var object; - SALOME_Logger::Logger_var log; - int DATA_TYPE_CATALOG=0; - const char * Env = getenv("USE_LOGGER"); - int EnvL =0; - if ((Env!=NULL) && (strlen(Env))) - EnvL=1; - CosNaming::Name name; - name.length(1); - name[0].id=CORBA::string_dup("Logger"); - PortableServer::POAManager_var mgr; - - for (int i = 1; i<=NumberOfTries; i++){ - if (i!=1) - a=nanosleep(&ts_req,&ts_rem); - try{ - obj = orb->resolve_initial_references("RootPOA"); - if(!CORBA::is_nil(obj)) - poa = PortableServer::POA::_narrow(obj); - if(!CORBA::is_nil(poa)) - mgr = poa->the_POAManager(); - if(!CORBA::is_nil(orb)) - theObj = orb->resolve_initial_references("NameService"); - if (!CORBA::is_nil(theObj)) - inc = CosNaming::NamingContext::_narrow(theObj);} - catch( CORBA::COMM_FAILURE& ) - { - MESSAGE( "Data Type Catalog: CORBA::COMM_FAILURE: Unable to contact the Naming Service" ) - } - if(!CORBA::is_nil(inc)) { - MESSAGE( "Data Type Catalog: Naming Service was found" ) - if(EnvL==1){ - CORBA::ORB_var orb1 = CORBA::ORB_init(argc,argv) ; - SALOME_NamingService &NS = *SINGLETON_::Instance() ; - NS.init_orb( orb1 ) ; - for(int j=1; j<=NumberOfTries; j++){ - if (j!=1) - a=nanosleep(&ts_req, &ts_rem); - try{ - object = inc->resolve(name);} - catch(CosNaming::NamingContext::NotFound){ MESSAGE( "Data Type Catalog: Logger Server wasn't found" ) } - catch(...){ MESSAGE( "Data Type Catalog: Unknown exception" ) } - if (!CORBA::is_nil(object)) - log = SALOME_Logger::Logger::_narrow(object); - if (!CORBA::is_nil(log)){ - MESSAGE( "Data Type Catalog: Logger Server was found" ) - log->ping(); - DATA_TYPE_CATALOG=1; - break; - } - - }} - } - if ((DATA_TYPE_CATALOG==1)||((EnvL==0)&&(!CORBA::is_nil(inc)))) - break; - } - // + CORBA::Object_var poaobj = orb->resolve_initial_references ("RootPOA"); + + PortableServer::POA_var poa = PortableServer::POA::_narrow (poaobj); + PortableServer::POAManager_var mgr = poa->the_POAManager(); + // Active catalog SALOME_DataTypeCatalogImpl* Catalogue_i = new SALOME_DataTypeCatalogImpl(argc, argv); @@ -133,7 +70,7 @@ int main(int argc,char **argv) poa->destroy(1,1); - } + } catch(CORBA::SystemException&) { INFOS("Caught CORBA::SystemException.") } diff --git a/src/HDFPersist/HDFattrCreate.c b/src/HDFPersist/HDFattrCreate.c index e3e176b66..9d4b3dc54 100644 --- a/src/HDFPersist/HDFattrCreate.c +++ b/src/HDFPersist/HDFattrCreate.c @@ -55,11 +55,7 @@ hdf_idt HDFattrCreate(hdf_idt pid,char *name,hdf_type type, size_t size) break; case HDF_INT32 : -#ifdef PCLINUX - type_hdf = H5T_STD_I32BE; -#else type_hdf = H5T_NATIVE_INT; -#endif break; case HDF_INT64 : diff --git a/src/HDFPersist/HDFattrRead.c b/src/HDFPersist/HDFattrRead.c index 25474b9a7..464e9c2a9 100644 --- a/src/HDFPersist/HDFattrRead.c +++ b/src/HDFPersist/HDFattrRead.c @@ -42,12 +42,8 @@ hdf_err HDFattrRead(hdf_idt id,void *val) { hdf_err ret = -1; hdf_idt type_hdf; - + if ((type_hdf = H5Aget_type(id)) >= 0) { -#ifdef PCLINUX - if ((H5Tget_class(type_hdf) == H5T_INTEGER) && (H5Tget_size(type_hdf) == 4)) - type_hdf = H5T_NATIVE_INT; -#endif ret = H5Aread(id, type_hdf, val); } diff --git a/src/HDFPersist/HDFattrWrite.c b/src/HDFPersist/HDFattrWrite.c index 61d378427..b1dbea588 100644 --- a/src/HDFPersist/HDFattrWrite.c +++ b/src/HDFPersist/HDFattrWrite.c @@ -41,30 +41,15 @@ Module : SALOME hdf_err HDFattrWrite(hdf_idt id, void *val) { hdf_idt type_id; + hdf_type type; + hdf_class_type hdf_type; int ret = 0; -#ifdef PCLINUX - int isI32BE = 0; -#endif if ((type_id = H5Aget_type(id)) < 0) return -1; -#ifdef PCLINUX - if((H5Tget_class(type_id) == H5T_INTEGER) && (H5Tget_size(type_id) == 4)) { - isI32BE = 1; /* See HDFattrCreate */ - if (H5Tconvert(H5T_NATIVE_INT,H5T_STD_I32BE,1,(void *)val,NULL,NULL) < 0) - return -1; - } -#endif - ret = H5Awrite(id,type_id, val); - -#ifdef PCLINUX - if (isI32BE && (H5Tconvert(H5T_STD_I32BE,H5T_NATIVE_INT,1,(void *)val,NULL,NULL) < 0)) - return -1; -#endif - H5Tclose(type_id); return ret; diff --git a/src/HDFPersist/HDFdatasetCreate.c b/src/HDFPersist/HDFdatasetCreate.c index 70e8ddd50..dd4772525 100644 --- a/src/HDFPersist/HDFdatasetCreate.c +++ b/src/HDFPersist/HDFdatasetCreate.c @@ -59,11 +59,7 @@ hdf_idt HDFdatasetCreate(hdf_idt pid,char *name,hdf_type type, break; case HDF_INT32 : -#ifdef PCLINUX - type_hdf = H5T_STD_I32BE; -#else type_hdf = H5T_NATIVE_INT; -#endif break; case HDF_INT64 : diff --git a/src/HDFPersist/HDFdatasetGetType.c b/src/HDFPersist/HDFdatasetGetType.c index 722849d1a..9cc4bbd6a 100644 --- a/src/HDFPersist/HDFdatasetGetType.c +++ b/src/HDFPersist/HDFdatasetGetType.c @@ -34,12 +34,14 @@ HDFdatasetGetType(hdf_idt id) { hdf_idt type_id; hdf_type type; + hdf_class_type hdf_type; hdf_size_type size; if ((type_id = H5Dget_type(id)) < 0) return HDF_NONE; - switch (H5Tget_class(type_id)) + hdf_type = H5Tget_class(type_id); + switch (hdf_type) { case H5T_INTEGER : size = H5Tget_size(type_id); diff --git a/src/HDFPersist/HDFdatasetRead.c b/src/HDFPersist/HDFdatasetRead.c index 0c89c3902..7cb951b8d 100644 --- a/src/HDFPersist/HDFdatasetRead.c +++ b/src/HDFPersist/HDFdatasetRead.c @@ -46,12 +46,8 @@ hdf_err HDFdatasetRead(hdf_idt id, void *val) if ((datatype = H5Dget_type(id)) < 0) return -1; -#ifdef PCLINUX - if ((H5Tget_class(datatype) == H5T_INTEGER) && (H5Tget_size(datatype) == 4)) - datatype = H5T_NATIVE_INT; -#endif - - if ((ret = H5Dread(id,datatype,H5S_ALL,H5S_ALL,H5P_DEFAULT, val)) < 0) + if ((ret = H5Dread(id,datatype,H5S_ALL,H5S_ALL, + H5P_DEFAULT, val)) < 0) return -1; return 0; diff --git a/src/HDFPersist/HDFdatasetWrite.c b/src/HDFPersist/HDFdatasetWrite.c index 07dbefdd9..f48c6a27c 100644 --- a/src/HDFPersist/HDFdatasetWrite.c +++ b/src/HDFPersist/HDFdatasetWrite.c @@ -42,32 +42,13 @@ hdf_err HDFdatasetWrite(hdf_idt id, void *val) { hdf_idt datatype; hdf_err ret; -#ifdef PCLINUX - int isI32BE = 0; - int size; -#endif if ((datatype = H5Dget_type(id)) < 0) return -1; -#ifdef PCLINUX - if((H5Tget_class(datatype) == H5T_INTEGER) && (H5Tget_size(datatype) == 4)) { - isI32BE = 1; /* See HDFdatasetCreate */ - size = (int)HDFdatasetGetSize(id) / 4; - if(size == 0) - return -1; - if(H5Tconvert(H5T_NATIVE_INT, H5T_STD_I32BE, size, (void *)val, NULL, NULL) < 0) - return -1; - } -#endif - - if ((ret = H5Dwrite(id, datatype, H5S_ALL, H5S_ALL, H5P_DEFAULT, val)) < 0) - return -1; - -#ifdef PCLINUX - if (isI32BE && (H5Tconvert(H5T_STD_I32BE, H5T_NATIVE_INT, size, (void *)val, NULL, NULL) < 0)) + if ((ret = H5Dwrite(id,datatype,H5S_ALL,H5S_ALL, + H5P_DEFAULT, val)) < 0) return -1; -#endif return 0; } diff --git a/src/Logger/SALOME_Logger_Server.cxx b/src/Logger/SALOME_Logger_Server.cxx index c3f7acce1..3d40b45f7 100644 --- a/src/Logger/SALOME_Logger_Server.cxx +++ b/src/Logger/SALOME_Logger_Server.cxx @@ -11,9 +11,7 @@ using namespace std; #include #include "SALOME_Logger_Server.hxx" -#include -#include -#include + omni_mutex Logger::myLock; ///////////////////////////////////////////////////////////////////// @@ -51,11 +49,6 @@ void Logger::putMessage(const char* message) myLock.unlock(); } -void Logger::ping() -{ - cout<<" Logger::ping() pid "<< getpid()< 2) @@ -66,73 +59,51 @@ int main(int argc, char **argv) try { //Initialize the ORB - long TIMESleep = 250000000; - int NumberOfTries = 40; - int a; - timespec ts_req; - ts_req.tv_nsec=TIMESleep; - ts_req.tv_sec=0; - timespec ts_rem; - ts_rem.tv_nsec=0; - ts_rem.tv_sec=0; - CosNaming::NamingContext_var inc; - CORBA::ORB_var orb; - SALOME_Logger::Logger_var myLoggerRef; - CORBA::Object_var theObj; + CORBA::ORB_var orb = CORBA::ORB_init(argc,argv) ; + + CORBA::Object_var obj = orb->resolve_initial_references("RootPOA") ; + PortableServer::POA_var poa = PortableServer::POA::_narrow(obj) ; + + // NB. You can activate the POA before or after + // activating objects in that POA. + PortableServer::POAManager_var pman = poa->the_POAManager(); + pman->activate(); + Logger* myLogger; - CORBA::Object_var obj; - PortableServer::POA_var poa; - PortableServer::POAManager_var pman; - orb = CORBA::ORB_init(argc,argv) ; - for (int i = 1; i<=NumberOfTries; i++){ - if (i!=1) - a=nanosleep(&ts_req,&ts_rem); - obj = orb->resolve_initial_references("RootPOA") ; - if(!CORBA::is_nil(obj)) - poa = PortableServer::POA::_narrow(obj) ; - pman = poa->the_POAManager(); - // NB. You can activate the POA before or after - // activating objects in that POA. - - // This activates the object in the root POA (by default), and - // returns a reference to it. - //NB. You can't use SALOME_NamingService class because it uses MESSAGE macro - //Otherwise, you will get segmentation fault. - //Get initial naming context - try{ - if(!CORBA::is_nil(orb)) - theObj = orb->resolve_initial_references("NameService"); - //Narrow to NamingContext - if (!CORBA::is_nil(theObj)){ - inc = CosNaming::NamingContext::_narrow(theObj); - } - }catch(CORBA::COMM_FAILURE&) - { - cout<<"Logger Server: CORBA::COMM_FAILURE: Unable to contact the Naming Service"<_this(); + + + // This activates the object in the root POA (by default), and + // returns a reference to it. + SALOME_Logger::Logger_var myLoggerRef = myLogger->_this(); + + //NB. You can't use SALOME_NamingService class because it uses MESSAGE macro + //Otherwise, you will get segmentation fault. + + //Get initial naming context + CORBA::Object_var theObj = orb->resolve_initial_references("NameService"); + //Narrow to NamingContext + CosNaming::NamingContext_var inc = CosNaming::NamingContext::_narrow(theObj); + CosNaming::Name name; name.length(1); name[0].id = CORBA::string_dup("Logger"); + inc->bind(name,myLoggerRef); + myLogger->_remove_ref(); - pman->activate(); + orb->run() ; + orb->destroy() ; } catch(CORBA::COMM_FAILURE& ex) { cerr << "Caught system exception COMM_FAILURE -- unable to contact the " - << "object." << endl; + << "object." << endl; } catch(CORBA::SystemException&) { diff --git a/src/Logger/SALOME_Logger_Server.hxx b/src/Logger/SALOME_Logger_Server.hxx index 4b1441bd1..4b000c50c 100644 --- a/src/Logger/SALOME_Logger_Server.hxx +++ b/src/Logger/SALOME_Logger_Server.hxx @@ -29,7 +29,6 @@ public: virtual ~Logger(); //put message into one special place for all servers void putMessage(const char* message); - void ping(); private: //if m_putIntoFile is true all messages will be put into special //otherwise all messages will be put into terminal via cout diff --git a/src/Logger/SALOME_Trace.cxx b/src/Logger/SALOME_Trace.cxx index e3185daf6..ab5abd2b2 100644 --- a/src/Logger/SALOME_Trace.cxx +++ b/src/Logger/SALOME_Trace.cxx @@ -34,54 +34,28 @@ SALOME_Trace::SALOME_Trace() //Initialize the ORB CORBA::ORB_var orb = CORBA::ORB_init(argc,argv) ; - long TIMESleep = 250000000; - int NumberOfTries = 40; - int a; - timespec ts_req; - ts_req.tv_nsec=TIMESleep; - ts_req.tv_sec=0; - timespec ts_rem; - ts_rem.tv_nsec=0; - ts_rem.tv_sec=0; - CosNaming::NamingContext_var inc; - CORBA::Object_var theObj; - CORBA::Object_var obj; + //Get initial naming context + CORBA::Object_var theObj = orb->resolve_initial_references("NameService"); + //Narrow to NamingContext + CosNaming::NamingContext_var inc = CosNaming::NamingContext::_narrow(theObj); + CosNaming::Name name; name.length(1); name[0].id = CORBA::string_dup("Logger"); - for (int i = 1; i<=NumberOfTries; i++){ - if (i!=1) - a=nanosleep(&ts_req,&ts_rem); - try{ - if(!CORBA::is_nil(orb)) - theObj = orb->resolve_initial_references("NameService"); - if (!CORBA::is_nil(theObj)) - inc = CosNaming::NamingContext::_narrow(theObj); - } - catch( CORBA::COMM_FAILURE& ) - { - cout<<"SALOME_TRACE: CORBA::COMM_FAILURE: Unable to contact the Naming Service" <resolve(name); - m_pInterfaceLogger = SALOME_Logger::Logger::_narrow(obj); - if (!CORBA::is_nil(m_pInterfaceLogger)) - cout<<"SALOME_TRACE: Logger Server was found"<resolve(name); + + m_pInterfaceLogger = SALOME_Logger::Logger::_narrow(obj) ; + } - catch (const CosNaming::NamingContext::NotFound&) - { - // cout << "Caught exception: Naming Service can't found Logger"; - } - catch (CORBA::COMM_FAILURE&) - { - // cout << "Caught CORBA::SystemException CommFailure."; + catch (const CosNaming::NamingContext::NotFound&) + { +// cout << "Caught exception: Naming Service can't found Logger"; + } + catch (CORBA::COMM_FAILURE&) + { +// cout << "Caught CORBA::SystemException CommFailure."; } catch (CORBA::SystemException&) { diff --git a/src/ModuleCatalog/SALOME_ModuleCatalog_Server.cxx b/src/ModuleCatalog/SALOME_ModuleCatalog_Server.cxx index c76af7d3c..817f31b93 100644 --- a/src/ModuleCatalog/SALOME_ModuleCatalog_Server.cxx +++ b/src/ModuleCatalog/SALOME_ModuleCatalog_Server.cxx @@ -30,7 +30,6 @@ using namespace std; #include "SALOME_NamingService.hxx" #include "SALOME_ModuleCatalog_impl.hxx" #include "utilities.h" -# include "Utils_SINGLETON.hxx" //#define CHECKTIME #ifdef CHECKTIME @@ -47,77 +46,12 @@ int main(int argc,char **argv) CORBA::ORB_ptr orb = CORBA::ORB_init (argc, argv); // initialize POA - // - long TIMESleep = 250000000; - int NumberOfTries = 40; - int a; - timespec ts_req; - ts_req.tv_nsec=TIMESleep; - ts_req.tv_sec=0; - timespec ts_rem; - ts_rem.tv_nsec=0; - ts_rem.tv_sec=0; - CosNaming::NamingContext_var inc; - PortableServer::POA_var poa; - CORBA::Object_var theObj; - CORBA::Object_var obj; - CORBA::Object_var object; - SALOME_Logger::Logger_var log; - int MODULE_CATALOG=0; - const char * Env = getenv("USE_LOGGER"); - int EnvL =0; - if ((Env!=NULL) && (strlen(Env))) - EnvL=1; - CosNaming::Name name; - name.length(1); - name[0].id=CORBA::string_dup("Logger"); - PortableServer::POAManager_var mgr; - for (int i = 1; i<=NumberOfTries; i++){ - if (i!=1) - a=nanosleep(&ts_req,&ts_rem); - try{ - obj = orb->resolve_initial_references("RootPOA"); - if(!CORBA::is_nil(obj)) - poa = PortableServer::POA::_narrow(obj); - if(!CORBA::is_nil(poa)) - mgr = poa->the_POAManager(); - if(!CORBA::is_nil(orb)) - theObj = orb->resolve_initial_references("NameService"); - } - catch( CORBA::COMM_FAILURE& ) - { - MESSAGE( "Module Catalog Server: CORBA::COMM_FAILURE: Unable to contact the Naming Service" ) - } - if (!CORBA::is_nil(theObj)){ - inc = CosNaming::NamingContext::_narrow(theObj); - if(!CORBA::is_nil(inc)) { - MESSAGE( "Module Catalog Server: Naming Service was found" ) - if(EnvL==1){ - CORBA::ORB_var orb1 = CORBA::ORB_init(argc,argv) ; - SALOME_NamingService &NS = *SINGLETON_::Instance() ; - NS.init_orb( orb1 ) ; - for(int j=1; j<=NumberOfTries; j++){ - if (j!=1) - a=nanosleep(&ts_req, &ts_rem); - try{ - object = inc->resolve(name);} - catch(CosNaming::NamingContext::NotFound){ MESSAGE( "Logger Server wasn't found" ) } - catch(...){ MESSAGE( "Module Catalog Server: Unknown exception" ) } - if (!CORBA::is_nil(object)) - log = SALOME_Logger::Logger::_narrow(object); - if (!CORBA::is_nil(log)){ - MESSAGE( "Module Catalog Server: Logger Server was found" ) - log->ping(); - MODULE_CATALOG=1; - break; - } - }} - }} - if ((MODULE_CATALOG==1)||((EnvL==0)&&(!CORBA::is_nil(inc)))) - break; - } - - // + + CORBA::Object_var poaobj = orb->resolve_initial_references ("RootPOA"); + + PortableServer::POA_var poa = PortableServer::POA::_narrow (poaobj); + PortableServer::POAManager_var mgr = poa->the_POAManager(); + // Active catalog SALOME_ModuleCatalogImpl* Catalogue_i = new SALOME_ModuleCatalogImpl(argc, argv); diff --git a/src/NamingService/SALOME_NamingServicePy.py b/src/NamingService/SALOME_NamingServicePy.py index 8b41f25be..db2d75633 100644 --- a/src/NamingService/SALOME_NamingServicePy.py +++ b/src/NamingService/SALOME_NamingServicePy.py @@ -29,7 +29,6 @@ # $Header$ import sys -import time from omniORB import CORBA import CosNaming from string import * @@ -49,28 +48,15 @@ class SALOME_NamingServicePy_i: MESSAGE ( "SALOME_NamingServicePy_i::__init__" ) self._orb = orb # initialize root context and current context - ok = 0 - steps = 40 - while steps > 0 and ok == 0: - try: - obj =self._orb.resolve_initial_references("NameService") - self._root_context =obj._narrow(CosNaming.NamingContext) - self._current_context = self._root_context + obj =self._orb.resolve_initial_references("NameService") + self._root_context =obj._narrow(CosNaming.NamingContext) + self._current_context = self._root_context - if self._root_context is None : - #MESSAGE ( "Name Service Reference is invalid" ) - #sys.exit(1) - MESSAGE(" Name service not found") - else: - ok = 1 - except CORBA.COMM_FAILURE, ex: - MESSAGE(" Name service not found") - time.sleep(0.25) - steps = steps - 1 - if steps == 0: - MESSAGE ( "Name Service Reference is invalid" ) - sys.exit(1) + if self._root_context is None : + MESSAGE ( "Name Service Reference is invalid" ) + sys.exit(1) + #------------------------------------------------------------------------- def Register(self,ObjRef, Path): MESSAGE ( "SALOME_NamingServicePy_i::Register" ) diff --git a/src/OBJECT/SALOME_Actor.h b/src/OBJECT/SALOME_Actor.h index ea35d47ef..0a994e616 100644 --- a/src/OBJECT/SALOME_Actor.h +++ b/src/OBJECT/SALOME_Actor.h @@ -30,20 +30,17 @@ #define SALOME_ACTOR_H // SALOME Includes -#include "VTKViewer_Common.h" +#include "SALOME_Transform.h" #include "SALOME_InteractiveObject.hxx" #ifndef _Handle_SALOME_InteractiveObject_HeaderFile #include "Handle_SALOME_InteractiveObject.hxx" #endif -#include - -class SALOME_Transform; -class SALOME_TransformFilter; -class SALOME_PassThroughFilter; -extern int SALOME_POINT_SIZE; +#include +#include "VTKViewer_Common.h" -class SALOME_Actor : public vtkLODActor{ +class SALOME_Actor : public vtkLODActor +{ protected: //constructor should be protected due to first implementation of this class //it was abstract class @@ -105,9 +102,6 @@ class SALOME_Actor : public vtkLODActor{ virtual void SetMapper(vtkMapper* theMapper); virtual void SetTransform(SALOME_Transform* theTransform); - virtual void SetRepresentation(int theMode); - virtual int GetRepresentation(); - protected: vtkProperty *PreviewProperty; Standard_Boolean ispreselected; @@ -122,7 +116,5 @@ class SALOME_Actor : public vtkLODActor{ SALOME_Transform *myTransform; std::vector myPassFilter; SALOME_TransformFilter *myTransformFilter; - int myRepresentation; }; - #endif // SALOME_ACTOR_H diff --git a/src/Plot2d/Plot2d_ViewFrame.cxx b/src/Plot2d/Plot2d_ViewFrame.cxx index b5d094b9f..2c9c8d748 100644 --- a/src/Plot2d/Plot2d_ViewFrame.cxx +++ b/src/Plot2d/Plot2d_ViewFrame.cxx @@ -299,17 +299,7 @@ void Plot2d_ViewFrame::rename( const Handle(SALOME_InteractiveObject)& IObject, */ bool Plot2d_ViewFrame::isInViewer( const Handle(SALOME_InteractiveObject)& IObject ) { - if( getCurveByIO( IObject ) != NULL ) - return 1; - else{ - if(!IObject.IsNull()){ - QIntDictIterator it(myCurves); - for(; it.current();++it){ - if(it.current()->hasIO() && it.current()->getTableIO()->isSame(IObject)) - return 1; - }} - } - return 0; + return ( getCurveByIO( IObject ) != NULL ); } /*! Returns true if interactive object is presented in the viewer and displayed diff --git a/src/Registry/SALOME_Registry_Server.cxx b/src/Registry/SALOME_Registry_Server.cxx index e4aee0f7d..6cba1c7d8 100644 --- a/src/Registry/SALOME_Registry_Server.cxx +++ b/src/Registry/SALOME_Registry_Server.cxx @@ -74,133 +74,76 @@ int main( int argc , char **argv ) ASSERT(ptrSessionName) ; ASSERT(strlen( ptrSessionName )>0) ; const char *registryName = "Registry" ; - ORB_INIT &init = *SINGLETON_::Instance() ; - CORBA::ORB_var &orb = init( argc , argv ) ; - // - long TIMESleep = 250000000; - int NumberOfTries = 40; - int a; - timespec ts_req; - ts_req.tv_nsec=TIMESleep; - ts_req.tv_sec=0; - timespec ts_rem; - ts_rem.tv_nsec=0; - ts_rem.tv_sec=0; - CosNaming::NamingContext_var inc; - PortableServer::POA_var poa; - CORBA::Object_var theObj; - CORBA::Object_var obj; - CORBA::Object_var object; - SALOME_Logger::Logger_var log; - SALOME_NamingService &naming = *SINGLETON_::Instance() ; - Registry::Components_var varComponents; - int REGISTRY=0; - const char * Env = getenv("USE_LOGGER"); - int EnvL =0; - if ((Env!=NULL) && (strlen(Env))) - EnvL=1; - CosNaming::Name name; - name.length(1); - name[0].id=CORBA::string_dup("Logger"); - PortableServer::POAManager_var manager; - for (int i = 1; i<=NumberOfTries; i++){ - if (i!=1) - a=nanosleep(&ts_req,&ts_rem); - try{ - obj = orb->resolve_initial_references("RootPOA"); - if(!CORBA::is_nil(obj)) - poa = PortableServer::POA::_narrow(obj); - if(!CORBA::is_nil(poa)) - manager = poa->the_POAManager(); - if(!CORBA::is_nil(orb)) - theObj = orb->resolve_initial_references("NameService"); - if (!CORBA::is_nil(theObj)) - inc = CosNaming::NamingContext::_narrow(theObj); - } - catch( CORBA::COMM_FAILURE& ) - { - MESSAGE( "Registry Server: CORBA::COMM_FAILURE: Unable to contact the Naming Service" ) - } - if(!CORBA::is_nil(inc)) { - MESSAGE( "Registry Server: Naming Service was found" ) - if(EnvL==1){ - for(int j=1; j<=NumberOfTries; j++){ - if (j!=1) - a=nanosleep(&ts_req, &ts_rem); - try{ - object = inc->resolve(name); - } - catch(CosNaming::NamingContext::NotFound){ MESSAGE( "Registry Server: Logger Server wasn't found" ) } - catch(...){ MESSAGE( "Registry Server: Unknown exception" ) } - - if (!CORBA::is_nil(object)) - log = SALOME_Logger::Logger::_narrow(object); - if (!CORBA::is_nil(log)){ - MESSAGE( "Registry Server: Logger Server was found" ) - log->ping(); - REGISTRY=1; - break; - } - }} - } - if ((REGISTRY==1)||((EnvL==0)&&(!CORBA::is_nil(inc)))) - break; - } - // + + try - { - naming.init_orb( orb ) ; - RegistryService *ptrRegistry = SINGLETON_::Instance() ; - ptrRegistry->SessionName( ptrSessionName ) ; - varComponents = ptrRegistry->_this() ; - // The RegistryService must not already exist. - - try - { - CORBA::Object_var pipo = naming.Resolve( registryName ) ; - if (CORBA::is_nil(pipo) ) throw ServiceUnreachable() ; - MESSAGE("RegistryService servant already existing" ) ; - exit( EXIT_FAILURE ) ; - } - catch( const ServiceUnreachable &ex ) - { - } - catch( const CORBA::Exception &exx ) - { - } - string absoluteName = string("/") + registryName; - naming.Register( varComponents , absoluteName.c_str() ) ; - MESSAGE("On attend les requetes des clients") ; - try - { - // Activation du POA - MESSAGE("Activation du POA") ; - manager->activate() ; - - // Lancement de l'ORB - MESSAGE("Lancement de l'ORB") ; + { + ORB_INIT &init = *SINGLETON_::Instance() ; + CORBA::ORB_var &orb = init( argc , argv ) ; + + + SALOME_NamingService &naming = *SINGLETON_::Instance() ; + naming.init_orb( orb ) ; + + RegistryService *ptrRegistry = SINGLETON_::Instance() ; + ptrRegistry->SessionName( ptrSessionName ) ; + Registry::Components_var varComponents = ptrRegistry->_this() ; + + // The RegistryService must not already exist. + + try + { + CORBA::Object_var pipo = naming.Resolve( registryName ) ; + if (CORBA::is_nil(pipo) ) throw ServiceUnreachable() ; + MESSAGE("RegistryService servant already existing" ) ; + exit( EXIT_FAILURE ) ; + } + catch( const ServiceUnreachable &ex ) + { + } + catch( const CORBA::Exception &exx ) + { + } + string absoluteName = string("/") + registryName; + naming.Register( varComponents , absoluteName.c_str() ) ; + + + CORBA::Object_var poaObj = orb->resolve_initial_references( "RootPOA" ) ; + PortableServer::POA_var poa = PortableServer::POA::_narrow(poaObj) ; + PortableServer::POAManager_var manager = poa->the_POAManager() ; + + + MESSAGE("On attend les requetes des clients") ; + try + { + // Activation du POA + MESSAGE("Activation du POA") ; + manager->activate() ; + + // Lancement de l'ORB + MESSAGE("Lancement de l'ORB") ; #ifdef CHECKTIME - Utils_Timer timer; - timer.Start(); - timer.Stop(); - MESSAGE("SALOME_Registry_Server.cxx - orb->run()"); - timer.ShowAbsolute(); + Utils_Timer timer; + timer.Start(); + timer.Stop(); + MESSAGE("SALOME_Registry_Server.cxx - orb->run()"); + timer.ShowAbsolute(); #endif - orb->run() ; - } - catch( const CORBA::Exception &ex ) - { - MESSAGE("Erreur systeme") ; - return EXIT_FAILURE ; - } - - } + orb->run() ; + } + catch( const CORBA::Exception &ex ) + { + MESSAGE("Erreur systeme") ; + return EXIT_FAILURE ; + } + + } catch( const SALOME_Exception &ex ) - { - MESSAGE( "Communication Error : " << ex.what() ) - return EXIT_FAILURE ; - } - + { + MESSAGE( "Communication Error : " << ex.what() ) + return EXIT_FAILURE ; + } + END_OF( argv[0] ) ; return 0 ; } diff --git a/src/RessourcesCatalog/SALOME_RessourcesCatalog_Server.cxx b/src/RessourcesCatalog/SALOME_RessourcesCatalog_Server.cxx index 827efd482..519f0b845 100644 --- a/src/RessourcesCatalog/SALOME_RessourcesCatalog_Server.cxx +++ b/src/RessourcesCatalog/SALOME_RessourcesCatalog_Server.cxx @@ -31,7 +31,7 @@ using namespace std; #include "SALOME_NamingService.hxx" #include "SALOME_RessourcesCatalog_impl.hxx" #include "utilities.h" -# include "Utils_SINGLETON.hxx" + int main(int argc,char **argv) { try { @@ -42,80 +42,20 @@ int main(int argc,char **argv) CORBA::ORB_ptr orb = CORBA::ORB_init (argc, argv); // initialize POA - // - long TIMESleep = 250000000; - int NumberOfTries = 40; - int a; - timespec ts_req; - ts_req.tv_nsec=TIMESleep; - ts_req.tv_sec=0; - timespec ts_rem; - ts_rem.tv_nsec=0; - ts_rem.tv_sec=0; - CosNaming::NamingContext_var inc; - PortableServer::POA_var poa; - CORBA::Object_var theObj; - CORBA::Object_var obj; - CORBA::Object_var object; - SALOME_Logger::Logger_var log; - SALOME_NamingService &naming = *SINGLETON_::Instance() ; - int RESSOURCES_CATALOG=0; - const char * Env = getenv("USE_LOGGER"); - int EnvL =0; - if ((Env!=NULL) && (strlen(Env))) - EnvL=1; - CosNaming::Name name; - name.length(1); - name[0].id=CORBA::string_dup("Logger"); - PortableServer::POAManager_var mgr; - for (int i = 1; i<=NumberOfTries; i++){ - if (i!=1) - a=nanosleep(&ts_req,&ts_rem); - try{ - obj = orb->resolve_initial_references("RootPOA"); - if(!CORBA::is_nil(obj)) - poa = PortableServer::POA::_narrow(obj); - if(!CORBA::is_nil(poa)) - mgr = poa->the_POAManager(); - if(!CORBA::is_nil(orb)) - theObj = orb->resolve_initial_references("NameService"); - if (!CORBA::is_nil(theObj)) - inc = CosNaming::NamingContext::_narrow(theObj); - } - catch( CORBA::COMM_FAILURE& ) - { - MESSAGE( "Ressources Catalog: CORBA::COMM_FAILURE: Unable to contact the Naming Service" ) - } - if(!CORBA::is_nil(inc)) { - MESSAGE( "Ressources Catalog: Naming Service was found" ) - if(EnvL==1){ - for(int j=1; j<=NumberOfTries; j++){ - if (j!=1) - a=nanosleep(&ts_req, &ts_rem); - try{ - object = inc->resolve(name); - } - catch(CosNaming::NamingContext::NotFound){ MESSAGE( "Ressources Catalog: Logger Server wasn't found" ) } - catch(...){ MESSAGE( "Ressources Catalog: Unknown exception" ) } - if (!CORBA::is_nil(object)) - log = SALOME_Logger::Logger::_narrow(object); - if (!CORBA::is_nil(log)){ - MESSAGE( "Ressources Catalog: Loger Server was found" ) - log->ping(); - RESSOURCES_CATALOG=1; - break; - } - }} - } - if ((RESSOURCES_CATALOG==1)||((EnvL==0)&&(!CORBA::is_nil(inc)))) - break; - } - // + + CORBA::Object_var poaobj = orb->resolve_initial_references ("RootPOA"); + + PortableServer::POA_var poa = PortableServer::POA::_narrow (poaobj); + PortableServer::POAManager_var mgr = poa->the_POAManager(); + // Active catalog - + SALOME_RessourcesCatalogImpl* Catalogue_i = new SALOME_RessourcesCatalogImpl(argc, argv); poa->activate_object (Catalogue_i); + mgr->activate(); + + CORBA::Object_ptr myCata = Catalogue_i->_this(); // initialise Naming Service diff --git a/src/SALOMEDS/SALOMEDS_Server.cxx b/src/SALOMEDS/SALOMEDS_Server.cxx index 238dd2450..087ef8ff5 100644 --- a/src/SALOMEDS/SALOMEDS_Server.cxx +++ b/src/SALOMEDS/SALOMEDS_Server.cxx @@ -31,8 +31,7 @@ using namespace std; #include CORBA_SERVER_HEADER(SALOMEDS) #include "SALOMEDS_StudyManager_i.hxx" #include "utilities.h" -# include "Utils_SINGLETON.hxx" -#include "SALOME_NamingService.hxx" + //#define CHECKTIME #ifdef CHECKTIME #include @@ -54,80 +53,12 @@ int main(int argc, char** argv) // Initialise the ORB. CORBA::ORB_var orb = CORBA::ORB_init(argc, argv, "omniORB3"); omniORB::MaxMessageSize(100 * 1024 * 1024); - // Obtain a reference to the root POA. - // - long TIMESleep = 250000000; - int NumberOfTries = 40; - int a; - timespec ts_req; - ts_req.tv_nsec=TIMESleep; - ts_req.tv_sec=0; - timespec ts_rem; - ts_rem.tv_nsec=0; - ts_rem.tv_sec=0; - CosNaming::NamingContext_var inc; - PortableServer::POA_var poa; - CORBA::Object_var theObj; - CORBA::Object_var obj; - CORBA::Object_var object; - SALOME_Logger::Logger_var log; - int SALOMEDS=0; - const char * Env = getenv("USE_LOGGER"); - int EnvL =0; - if ((Env!=NULL) && (strlen(Env))) - EnvL=1; - CosNaming::Name name; - name.length(1); - name[0].id=CORBA::string_dup("Logger"); - PortableServer::POAManager_var pman; - for (int i = 1; i<=NumberOfTries; i++){ - if (i!=1) - a=nanosleep(&ts_req,&ts_rem); - try{ - obj = orb->resolve_initial_references("RootPOA"); - if(!CORBA::is_nil(obj)) - poa = PortableServer::POA::_narrow(obj); - if(!CORBA::is_nil(poa)) - pman = poa->the_POAManager(); - if(!CORBA::is_nil(orb)) - theObj = orb->resolve_initial_references("NameService"); - if (!CORBA::is_nil(theObj)){ - inc = CosNaming::NamingContext::_narrow(theObj); - if(!CORBA::is_nil(inc)) { - MESSAGE( "SalomeDS Server: Naming Service was found" ) - if(EnvL==1){ - CORBA::ORB_var orb1 = CORBA::ORB_init(argc,argv) ; - SALOME_NamingService &NS = *SINGLETON_::Instance() ; - NS.init_orb( orb1 ) ; - for(int j=1; j<=NumberOfTries; j++){ - if (j!=1) - a=nanosleep(&ts_req, &ts_rem); - try{ - object = inc->resolve(name);} - catch(CosNaming::NamingContext::NotFound){ MESSAGE( "SalomeDS Server: Logger Server wasn't found" ) } - catch(...){ MESSAGE( "SalomeDS Server: Unknown exception" ) } - if (!CORBA::is_nil(object)) - log = SALOME_Logger::Logger::_narrow(object); - if (!CORBA::is_nil(log)){ - MESSAGE( "SalomeDS Server: Logger Server was found" ) - log->ping(); - SALOMEDS=1; - break; - } - }} - }} - - } - catch( const SALOME_Exception &ex ) - { - MESSAGE( "Communication Error : " << ex.what() ) - return EXIT_FAILURE ; - } - if ((SALOMEDS==1)||((EnvL==0)&&(!CORBA::is_nil(inc)))) - break; - } - // + // Obtain a reference to the root POA. + CORBA::Object_var obj = orb->resolve_initial_references("RootPOA"); + PortableServer::POA_var poa = PortableServer::POA::_narrow(obj); + + // We allocate the objects on the heap. Since these are reference // counted objects, they will be deleted by the POA when they are no // longer needed. @@ -140,7 +71,7 @@ int main(int argc, char** argv) // Obtain a POAManager, and tell the POA to start accepting // requests on its objects. - pman = poa->the_POAManager(); + PortableServer::POAManager_var pman = poa->the_POAManager(); pman->activate(); #ifdef CHECKTIME diff --git a/src/SALOMEGUI/QAD_Message.cxx b/src/SALOMEGUI/QAD_Message.cxx index 4730b1ee8..a932028e2 100644 --- a/src/SALOMEGUI/QAD_Message.cxx +++ b/src/SALOMEGUI/QAD_Message.cxx @@ -111,9 +111,9 @@ void QAD_Message::mousePressEvent(QMouseEvent* event) id = popup->insertItem( tr( "EDIT_SELECTALL_CMD" ) ); idMap.insert(IdSelectAll, id); popup->setItemEnabled( idMap[ IdCopy ], hasMarkedText() ); - popup->setItemEnabled( idMap[ IdSelectAll ], !allSelected ); - popup->setItemEnabled( idMap[ IdClear ], textLine(1)!=myPrompt ); - + popup->setItemEnabled( idMap[ IdSelectAll ], + (bool)text().length() && !allSelected ); + int r = popup->exec( event->globalPos() ); delete popup; diff --git a/src/SALOMEGUI/QAD_PyEditor.cxx b/src/SALOMEGUI/QAD_PyEditor.cxx index 4dd3aa333..58407f6a0 100644 --- a/src/SALOMEGUI/QAD_PyEditor.cxx +++ b/src/SALOMEGUI/QAD_PyEditor.cxx @@ -278,17 +278,9 @@ void QAD_PyEditor::keyPressEvent( QKeyEvent *e ) } case Key_Up: { - // if Cntr+Key_Up event then move cursor up + // if Cntr+Key_Up event then scroll the commands stack up if (ctrlPressed) { - QMultiLineEdit::cursorUp( ); - } - // if Shift+Key_Up event then move cursor up and select the text - else if ( shftPressed && curLine > 0 ){ - setCursorPosition(curLine-1, curCol, true); - } - // scroll the commands stack up - else { - QString histLine = _currentPrompt; + QString histLine = _currentPrompt; if (! _isInHistory) { _isInHistory = true; @@ -305,21 +297,19 @@ void QAD_PyEditor::keyPressEvent( QKeyEvent *e ) endLine = numLines() -1; setCursorPosition(endLine, lineLength(endLine)); } + // if Shift+Key_Up event then move cursor up and select the text + else if ( shftPressed && curLine > 0 ){ + setCursorPosition(curLine-1, curCol, true); + } + // move cursor up + else { QMultiLineEdit::keyPressEvent( e ); } break; } case Key_Down: { - // if Cntr+Key_Down event then move cursor down + // if Cntr+Key_Down event then scroll the commands stack down if (ctrlPressed) { - QMultiLineEdit::cursorDown( ); - } - // if Shift+Key_Down event then move cursor down and select the text - else if ( shftPressed && curLine < endLine ) { - setCursorPosition(curLine+1, curCol, true); - } - // scroll the commands stack down - else { - QString histLine = _currentPrompt; + QString histLine = _currentPrompt; QString nextCommand = _interp->getNext(); if (nextCommand.compare(TOP_HISTORY_PY) != 0) { @@ -338,6 +328,13 @@ void QAD_PyEditor::keyPressEvent( QKeyEvent *e ) endLine = numLines() -1; setCursorPosition(endLine, lineLength(endLine)); } + // if Shift+Key_Down event then move cursor down and select the text + else if ( shftPressed && curLine < endLine ) { + setCursorPosition(curLine+1, curCol, true); + } + //move cursor down + else { QMultiLineEdit::keyPressEvent( e ); } + break; } case Key_Left: diff --git a/src/SALOMEGUI/SALOMEGUI_ActivateComponentDlg.cxx b/src/SALOMEGUI/SALOMEGUI_ActivateComponentDlg.cxx deleted file mode 100644 index 7e326d083..000000000 --- a/src/SALOMEGUI/SALOMEGUI_ActivateComponentDlg.cxx +++ /dev/null @@ -1,79 +0,0 @@ -// SALOME SALOMEGUI : implementation of desktop and GUI kernel -// -// Copyright (C) 2003 CEA/DEN, EDF R&D -// -// -// -// File : SALOMEGUI_ActivateComponentDlg.cxx -// Author : Michael Zorin (mzn) -// Module : SALOME - -using namespace std; -#include "SALOMEGUI_ActivateComponentDlg.h" - -#include -#include -#include -#include -#include - - -SALOMEGUI_ActivateComponentDlg::SALOMEGUI_ActivateComponentDlg ( QWidget * parent, const char * name, bool modal, WFlags f ) - : QDialog ( parent, "", TRUE, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu ) -{ - setSizeGripEnabled ( TRUE ) ; - setCaption( tr( "CAPTION" ) ); - - QVBoxLayout* m_vbL = new QVBoxLayout( this ); - m_vbL->setMargin( 11 ); m_vbL->setSpacing( 6 ); - - QLabel* m_lIcon = new QLabel (this, "m_lDescr"); - QPixmap pm = QMessageBox::standardIcon( QMessageBox::Information ); - m_lIcon->setPixmap( pm ); - m_lIcon->setScaledContents( false ); - m_lIcon->setAlignment( Qt::AlignCenter ); - - QLabel* m_lDescr = new QLabel (this, "m_lDescr"); - m_lDescr->setText ( tr ("ActivateComponent_DESCRIPTION") ); - m_lDescr->setAlignment( Qt::AlignCenter ); - m_lDescr->setMinimumHeight( m_lDescr->sizeHint().height()*5 ); - m_lDescr->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ) ); - - QHBoxLayout* m_hl1 = new QHBoxLayout(); - m_hl1->setMargin( 0 ); m_hl1->setSpacing( 6 ); - m_hl1->addWidget( m_lIcon ); - m_hl1->addWidget( m_lDescr ); - - m_pb1 = new QPushButton( tr ("NEW"), this ); - m_pb2 = new QPushButton( tr ("OPEN"), this ); - m_pb3 = new QPushButton( tr ("LOAD"), this ); - m_pb4 = new QPushButton( tr ("CANCEL"), this ); - - QGridLayout* m_hl2 = new QGridLayout(); - m_hl2->setMargin( 0 ); m_hl2->setSpacing( 6 ); - m_hl2->addWidget( m_pb1, 0, 0 ); - m_hl2->addWidget( m_pb2, 0, 1 ); - m_hl2->addWidget( m_pb3, 0, 2 ); - m_hl2->addColSpacing( 3, 10 ); - m_hl2->setColStretch( 3, 5 ); - m_hl2->addWidget( m_pb4, 0, 4 ); - - m_vbL->addLayout( m_hl1 ); - m_vbL->addLayout( m_hl2 ); - - connect( m_pb1, SIGNAL( clicked() ), this, SLOT( onButtonClicked() ) ); - connect( m_pb2, SIGNAL( clicked() ), this, SLOT( onButtonClicked() ) ); - connect( m_pb3, SIGNAL( clicked() ), this, SLOT( onButtonClicked() ) ); - connect( m_pb4, SIGNAL( clicked() ), this, SLOT( reject() ) ); -} - -void SALOMEGUI_ActivateComponentDlg::onButtonClicked() -{ - QPushButton* btn = ( QPushButton* )sender(); - if ( btn == m_pb1 ) - done( 1 ); - if ( btn == m_pb2 ) - done( 2 ); - if ( btn == m_pb3 ) - done( 3 ); -} diff --git a/src/SALOMEGUI/SALOMEGUI_ActivateComponentDlg.h b/src/SALOMEGUI/SALOMEGUI_ActivateComponentDlg.h deleted file mode 100644 index 17544d0a2..000000000 --- a/src/SALOMEGUI/SALOMEGUI_ActivateComponentDlg.h +++ /dev/null @@ -1,35 +0,0 @@ -// SALOME SALOMEGUI : implementation of desktop and GUI kernel -// -// Copyright (C) 2003 CEA/DEN, EDF R&D -// -// -// -// File : SALOMEGUI_ActivateComponentDlg.h -// Author : Michael ZORIN (mzn) -// Module : SALOME - -#ifndef SALOMEGUI_ActivateComponentDlg_H -#define SALOMEGUI_ActivateComponentDlg_H - -#include - -class SALOMEGUI_ActivateComponentDlg: public QDialog -{ - Q_OBJECT - -public: - SALOMEGUI_ActivateComponentDlg ( QWidget * parent = 0, const char * name = 0, bool modal = FALSE, WFlags f = 0 ) ; - ~SALOMEGUI_ActivateComponentDlg ( ) { }; - -private slots: - void onButtonClicked(); - -private: - QPushButton* m_pb1; - QPushButton *m_pb2; - QPushButton *m_pb3; - QPushButton *m_pb4; -}; - -#endif - diff --git a/src/SALOMEGUI/SALOMEGUI_ExternalBrowserDlg.cxx b/src/SALOMEGUI/SALOMEGUI_ExternalBrowserDlg.cxx deleted file mode 100644 index 9ad17ddc1..000000000 --- a/src/SALOMEGUI/SALOMEGUI_ExternalBrowserDlg.cxx +++ /dev/null @@ -1,134 +0,0 @@ -// File : SALOMEGUI_ExternalBrowserDlg.cxx -// Author : Nichael ZORIN -// Module : SALOME -// $Header: /dn05/salome/CVS/SALOME_ROOT/SALOME/src/SALOMEGUI/SALOMEGUI_ExternalBrowserDlg.cxx - -using namespace std; -#include "SALOMEGUI_ExternalBrowserDlg.h" - -#include -#include -#include -#include -#include - -#include "QAD_FileDlg.h" -#include "QAD_Tools.h" - -/* - * Constructs a modal SALOMEGUI_ExternalBowserDlg which is a child of 'parent' - * - */ - -SALOMEGUI_ExternalBrowserDlg::SALOMEGUI_ExternalBrowserDlg( QWidget* parent ) - : QDialog( parent, "SALOMEGUI_ExternalBrowserDlg", true, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu ) -{ - setCaption( tr( "MEN_EXTERNAL_BROWSER" ) ); - setSizeGripEnabled( true ); - - QGridLayout* TopLayout = new QGridLayout( this ); - TopLayout->setSpacing( 6 ); - TopLayout->setMargin( 11 ); - - QGroupBox* TopGroup = new QGroupBox( this, "TopGroup" ); - TopGroup->setColumnLayout(0, Qt::Vertical ); - TopGroup->layout()->setSpacing( 0 ); - TopGroup->layout()->setMargin( 0 ); - QGridLayout* TopGroupLayout = new QGridLayout( TopGroup->layout() ); - TopGroupLayout->setAlignment( Qt::AlignTop ); - TopGroupLayout->setSpacing( 6 ); - TopGroupLayout->setMargin( 11 ); - - QLabel* LabelApp = new QLabel( tr( "MEN_EXTERNAL_BROWSER_APP" ), TopGroup, "LabelApp" ); - TopGroupLayout->addWidget( LabelApp, 0, 0 ); - ApplicationLine = new QLineEdit( TopGroup ); - ApplicationLine->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) ); - ApplicationLine->setMinimumSize( 250, 0 ); - LabelApp->setBuddy(ApplicationLine); - TopGroupLayout->addWidget( ApplicationLine, 0, 1 ); - - QLabel* LabelParams = new QLabel( tr( "MEN_EXTERNAL_BROWSER_PARAMS" ), TopGroup, "LabelParams" ); - TopGroupLayout->addWidget( LabelParams, 1, 0 ); - ParametersLine = new QLineEdit( TopGroup ); - ParametersLine->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) ); - ParametersLine->setMinimumSize( 250, 0 ); - LabelParams->setBuddy(ParametersLine); - TopGroupLayout->addWidget( ParametersLine, 1, 1 ); - - browseButton = new QPushButton( tr( "MEN_EXTERNAL_BROWSER_BROWSE" ) , TopGroup, "browseButton" ); - TopGroupLayout->addWidget( browseButton, 0, 2 ); - - QGroupBox* GroupButtons = new QGroupBox( this, "GroupButtons" ); - GroupButtons->setGeometry( QRect( 10, 10, 381, 48 ) ); - GroupButtons->setColumnLayout(0, Qt::Vertical ); - GroupButtons->layout()->setSpacing( 0 ); - GroupButtons->layout()->setMargin( 0 ); - QGridLayout* GroupButtonsLayout = new QGridLayout( GroupButtons->layout() ); - GroupButtonsLayout->setAlignment( Qt::AlignTop ); - GroupButtonsLayout->setSpacing( 6 ); - GroupButtonsLayout->setMargin( 11 ); - - QPushButton* buttonOk = new QPushButton( tr( "BUT_OK" ), GroupButtons, "buttonOk" ); - buttonOk->setAutoDefault( TRUE ); - buttonOk->setDefault( TRUE ); - GroupButtonsLayout->addWidget( buttonOk, 0, 0 ); - GroupButtonsLayout->addItem( new QSpacerItem( 5, 5, QSizePolicy::Expanding, QSizePolicy::Minimum ), 0, 1 ); - QPushButton* buttonCancel = new QPushButton( tr( "BUT_CANCEL" ) , GroupButtons, "buttonCancel" ); - buttonCancel->setAutoDefault( TRUE ); - GroupButtonsLayout->addWidget( buttonCancel, 0, 2 ); - - TopLayout->addWidget( TopGroup, 0, 0 ); - TopLayout->addWidget( GroupButtons, 1, 0 ); - - // signals and slots connections - connect( browseButton, SIGNAL( clicked() ), this, SLOT( onButtonClicked() ) ); - connect( buttonOk, SIGNAL( clicked() ), this, SLOT( accept() ) ); - connect( buttonCancel, SIGNAL( clicked() ), this, SLOT( reject() ) ); - -} - -void SALOMEGUI_ExternalBrowserDlg::onButtonClicked() -{ - QStringList flt; - flt.append( "ALL Files(*)" ); - QString aDir = QAD_Tools::getDirFromPath ( ApplicationLine->text() ); - QFileInfo aFileInfo = QAD_FileDlg::getFileName (this, aDir, flt, tr( "MEN_EXTERNAL_BROWSER_CHOOSEAPP" ), true); - if(aFileInfo.exists()) - ApplicationLine->setText(aFileInfo.filePath()); -} - -void SALOMEGUI_ExternalBrowserDlg::setSettings(const QString& AppString, const QString& ParamsString) -{ - ApplicationLine->setText(AppString); - ParametersLine->setText(ParamsString); -} - -QString SALOMEGUI_ExternalBrowserDlg::getApp() -{ - return ApplicationLine->text(); -} - -QString SALOMEGUI_ExternalBrowserDlg::getParams() -{ - return ParametersLine->text(); -} - -void SALOMEGUI_ExternalBrowserDlg::accept() { - - QFileInfo aFile = QFileInfo(ApplicationLine->text()); - - if (aFile.isFile() && !aFile.isExecutable()) - QMessageBox::warning ( this, tr( "Error" ) , tr ( "MEN_EXTERNAL_BROWSER_NOTEXECUTABLE" )); - else - QDialog::accept(); -} - -/* - * Destroys the object and frees any allocated resources - */ -SALOMEGUI_ExternalBrowserDlg::~SALOMEGUI_ExternalBrowserDlg() -{ - // no need to delete child widgets, Qt does it all for us -} - - diff --git a/src/SALOMEGUI/SALOMEGUI_ExternalBrowserDlg.h b/src/SALOMEGUI/SALOMEGUI_ExternalBrowserDlg.h deleted file mode 100644 index 95156994b..000000000 --- a/src/SALOMEGUI/SALOMEGUI_ExternalBrowserDlg.h +++ /dev/null @@ -1,36 +0,0 @@ -// File : SALOMEGUI_ExternalBrowserDlg.h -// Author : Michael Zorin -// Module : SALOME -// $Header: /dn05/salome/CVS/SALOME_ROOT/SALOME/src/SALOMEGUI/SALOMEGUI_ExternalBrowserDlg.h - -#ifndef SALOMEGUI_EXTERNAL_BROWSER_DLG_H -#define SALOMEGUI_EXTERNAL_BROWSER_DLG_H - -#include -#include - -class SALOMEGUI_ExternalBrowserDlg : public QDialog -{ - Q_OBJECT - - public: - - SALOMEGUI_ExternalBrowserDlg( QWidget* parent = 0 ); - ~SALOMEGUI_ExternalBrowserDlg(); - void setSettings(const QString& AppString, const QString& ParamsString); - QString getApp(); - QString getParams(); - - private slots: - - void onButtonClicked(); - void accept(); - - private: - - QPushButton* browseButton; - QLineEdit* ApplicationLine; - QLineEdit* ParametersLine; -}; - -#endif // SALOMEGUI_EXTERNAL_BROWSER_DLG_H diff --git a/src/SALOME_SWIG/batchmode_salome.py b/src/SALOME_SWIG/batchmode_salome.py index 5ad16f165..f3a61bc76 100644 --- a/src/SALOME_SWIG/batchmode_salome.py +++ b/src/SALOME_SWIG/batchmode_salome.py @@ -68,133 +68,8 @@ def IDToObject(id): def IDToSObject(id): mySO = myStudy.FindObjectID(id); return mySO - - #-------------------------------------------------------------------------- - -def PersistentPresentation(theStudy, theSO, theWithID): - # put the sobject's content (with subchildren) to the string - aResult = "" - attrs = theSO.GetAllAttributes() - aLen = len(attrs) - anUncopied = 0 - for a in range(0,aLen): - attr = attrs[a] - if isinstance(attr,SALOMEDS._objref_AttributeTreeNode): - anUncopied += 1 - elif isinstance(attr,SALOMEDS._objref_AttributeTarget): - anUncopied += 1 - elif isinstance(attr,SALOMEDS._objref_AttributeReal) or \ - isinstance(attr,SALOMEDS._objref_AttributeInteger) or \ - isinstance(attr,SALOMEDS._objref_AttributeName) or \ - isinstance(attr,SALOMEDS._objref_AttributeComment) or \ - isinstance(attr,SALOMEDS._objref_AttributePersistentRef) or \ - isinstance(attr,SALOMEDS._objref_AttributeLocalID) or \ - isinstance(attr,SALOMEDS._objref_AttributeUserID): - aResult += " attribute value: " + str(attr.Value()) - elif isinstance(attr,SALOMEDS._objref_AttributeIOR): - aResult += " attribute: IOR" - elif isinstance(attr,SALOMEDS._objref_AttributeSequenceOfReal) or \ - isinstance(attr,SALOMEDS._objref_AttributeSequenceOfInteger): - aResult += " Sequence: " + str(attr.CorbaSequence()) - elif isinstance(attr,SALOMEDS._objref_AttributeDrawable): - aResult += " Drawable: " + str(attr.IsDrawable()) - elif isinstance(attr,SALOMEDS._objref_AttributeSelectable): - aResult += " Selectable: " + str(attr.IsSelectable()) - elif isinstance(attr,SALOMEDS._objref_AttributeExpandable): - aResult += " Expandable: " + str(attr.IsExpandable()) - elif isinstance(attr,SALOMEDS._objref_AttributeOpened): - aResult += " Opened: " + str(attr.IsOpened()) - elif isinstance(attr,SALOMEDS._objref_AttributeTextColor): - aResult += " TextColor: " + str(attr.TextColor()) - elif isinstance(attr,SALOMEDS._objref_AttributeTextHighlightColor): - aResult += " TextHighlightColor: " + str(attr.TextHighlightColor()) - elif isinstance(attr,SALOMEDS._objref_AttributePixMap): - aResult += " PixMap: " + str(attr.GetPixMap()) - elif isinstance(attr,SALOMEDS._objref_AttributeTableOfInteger) or \ - isinstance(attr,SALOMEDS._objref_AttributeTableOfReal): - aResult += " Table with title: " + attr.GetTitle() - elif isinstance(attr,SALOMEDS._objref_AttributePythonObject): - aResult += " PythonObject: " + attr.GetObject() - - if theWithID: - aResult = "sobject: " + theSO.GetID() + " nbattrs: " + str(aLen - anUncopied) + aResult + '\n' - else: - aResult = " nbattrs: " + str(aLen - anUncopied) + aResult + '\n' - anIter = theStudy.NewChildIterator(theSO) - while anIter.More(): - aResult += PersistentPresentation(theStudy, anIter.Value(), theWithID) - anIter.Next() - return aResult - #-------------------------------------------------------------------------- -def GetTree(theSO): - # returns the document list tree (as list) - aResult = [theSO.GetID()] - anIter = myStudy.NewChildIterator(theSO) - while anIter.More(): - aResult += GetTree(anIter.Value()) - anIter.Next() - return aResult - - #-------------------------------------------------------------------------- - -def CheckCopyPaste(theSO, theInfo ,theComponentPaste): - aRoot = theSO - while aRoot.GetID() != "0:": - aRoot = aRoot.GetFather() - aTree = GetTree(aRoot) - aStudyPersist = PersistentPresentation(myStudy, aRoot, 1) - - if not myStudyManager.CanCopy(theSO): - raise RuntimeError, " for "+theInfo+" returns false" - - if not myStudyManager.Copy(theSO): - raise RuntimeError, " for "+theInfo+" returns false" - - - if not myStudyManager.CanPaste(theSO): - raise RuntimeError, " for "+theInfo+" returns false" - - # check: before paste study is not changed check - if aStudyPersist != PersistentPresentation(myStudy, aRoot, 1): - raise RuntimeError, "Study is changed before Paste calling for "+theInfo - - aSObj = theSO - if theComponentPaste: - aSObj = theSO.GetFatherComponent() - theInfo = theInfo + "(paste for component)" - if not myStudyManager.Paste(aSObj): - raise RuntimeError, " for "+theInfo+" returns false" - aNewTree = GetTree(aRoot) - aLen = len(aTree) - for a in range(0,aLen): - if aTree[a] != aNewTree[a]: - return myStudy.FindObjectID(aNewTree[a]) - - if aLen < len(aNewTree): - return myStudy.FindObjectID(aNewTree[aLen]) - - raise RuntimeError, "After Copy calling the tree is not changed" - - #-------------------------------------------------------------------------- -def FindFileInDataDir(filename): - import os - datadir = os.getenv("DATA_DIR") - if datadir is not None: - import string - dirs = string.split(datadir, ":") - for dir in dirs: - file = dir + "/" + filename - if os.path.exists(file): - return file; - datadir = os.getenv("SALOME_ROOT_DIR") + "/data/" - file = datadir + filename - if os.path.exists(file): - return file; - - return None - #-------------------------------------------------------------------------- # initialise the ORB orb = CORBA.ORB_init([''], CORBA.ORB_ID) diff --git a/src/SALOME_SWIG/salome_test.py b/src/SALOME_SWIG/salome_test.py index 6b056326d..8550a196a 100644 --- a/src/SALOME_SWIG/salome_test.py +++ b/src/SALOME_SWIG/salome_test.py @@ -280,7 +280,7 @@ import os dir= os.getenv("SALOME_ROOT_DIR") if dir == None: raise RuntimeError, "SALOME_ROOT_DIR is not defined" -xmlfile = dir +"/data/GraphEssai.xml" +xmlfile = dir +"/../SALOME_ROOT/SuperVisionTest/resources/GraphEssai.xml" print "Load dataflow from the file : " print xmlfile print @@ -418,7 +418,7 @@ import VISU import visu_gui medFile = "pointe.med" -medFile = os.getenv('SALOME_ROOT_DIR') + '/data/' + medFile +medFile = os.getenv('SALOME_ROOT_DIR') + '/../SALOME_ROOT/data/' + medFile print "Load ", medFile studyCurrent = salome.myStudyName @@ -433,23 +433,28 @@ try: med_obj = visu_gui.visu.getMedObjectFromStudy() print "med_obj - ", med_obj - myField1 = visu_gui.visu.getFieldObjectFromStudy(2,1) - aMeshName = "maa1" + myField = visu_gui.visu.getFieldObjectFromStudy(2,1) + aMeshName = "FILED_DOUBLE_MESH" anEntity = VISU.NODE - aTimeStampId = -1 - - myResult1 = myVisu.ImportMedField(myField1) - aMesh1 = myVisu.MeshOnEntity(myResult1, aMeshName, anEntity); + aTimeStampId = 0 - aScalarMap1= myVisu.ScalarMapOnField(myResult1, aMeshName, anEntity, myField1.getName(), aTimeStampId) - - myResult2 = myVisu.ImportFile(medFile); - aMesh2 = myVisu.MeshOnEntity(myResult2, aMeshName, anEntity); + myResult1 = myVisu.ImportMedField(myField) + aMesh1 = myVisu.MeshOnEntity(myResult1, aMeshName, anEntity); - aTimeStampId = 3 - aScalarMap2= myVisu.ScalarMapOnField(myResult2, aMeshName, anEntity, myField1.getName(), aTimeStampId) - - sg.updateObjBrowser(0) + aScalarMap1= myVisu.ScalarMapOnField(myResult1, aMeshName, anEntity, myField.getName(), aTimeStampId) + if(myField.getNumberOfComponents() > 1) : + aVectors = myVisu.VectorsOnField(myResult1, aMeshName, anEntity, myField.getName(), aTimeStampId) + + myResult2 = myVisu.ImportFile(medFile) + aMeshName = "maa1" + anEntity = VISU.NODE + aMesh2 = myVisu.MeshOnEntity(myResult2, aMeshName, anEntity) + + aScalarMap2 = myVisu.ScalarMapOnField(myResult2, aMeshName, anEntity, myField.getName(), aTimeStampId) + if(myField.getNumberOfComponents() > 1) : + aCutPlanes = myVisu.CutPlanesOnField(myResult2, aMeshName, anEntity, myField.getName(), aTimeStampId) + + sg.updateObjBrowser(0) else : print "We have no permission to rewrite medFile, so readStructFileWithFieldType can't open this file"; else : print "We have no permission to read medFile, it will not be opened"; diff --git a/src/VTKViewer/VTKViewer_InteractorStyleSALOME.cxx b/src/VTKViewer/VTKViewer_InteractorStyleSALOME.cxx index b0cfe0abb..d9eb3a75c 100644 --- a/src/VTKViewer/VTKViewer_InteractorStyleSALOME.cxx +++ b/src/VTKViewer/VTKViewer_InteractorStyleSALOME.cxx @@ -31,7 +31,6 @@ using namespace std; #include "VTKViewer_RenderWindow.h" #include -#include "QAD_Config.h" #include "QAD_Application.h" #include "QAD_Desktop.h" @@ -52,7 +51,6 @@ using namespace std; #include #include #include -#include //VRV: porting on Qt 3.0.5 @@ -146,71 +144,6 @@ void VTKViewer_InteractorStyleSALOME::PanXY(int x, int y, int oldX, int oldY) this->Interactor->Render(); } -//---------------------------------------------------------------------------- -void VTKViewer_InteractorStyleSALOME::ControlLblSize(double aOldScale, double aNewScale) { - m_Triedron->InitTraversal(); - vtkActor *ac = m_Triedron->GetNextActor(); - bool IsConeActor = true; - while(!(ac==NULL)) { - float aMaxXRange; - float aMaxYRange; - float aMaxZRange; - if(ac->IsA("vtkFollower")) { - float aScale[3]; - ac->GetScale(aScale); - - float aPosition[3]; - ac->GetPosition(aPosition); - - float aPercent = (aOldScale-aNewScale)/aOldScale; - ac->SetScale(aScale[0]*(1-aPercent),aScale[1]*(1-aPercent),aScale[2]*(1-aPercent)); - - //Set new position - float aLength = ac->GetLength(); - if (aPosition[0]!=0) { - //x - aPosition[0] = aMaxXRange; - } else if (aPosition[1]!=0) { - //y - aPosition[1] = aMaxYRange; - } else if (aPosition[2]!=0) { - //z - aPosition[2] = aMaxZRange; - } - ac->SetPosition(aPosition); - - IsConeActor = true; - } - else { - if (IsConeActor) { - //coneActor is the first in the list (see m_Triedron->AddItem(...) in VTKViewer_ViewFrame::AddVector(...)) - IsConeActor = false; - - float aPosition[3]; - ac->GetPosition(aPosition); - - if (aPosition[0]!=0) { - //x - float* aXRange = ac->GetXRange(); - if (aXRange[0] < aXRange[1]) aMaxXRange = aXRange[1]; - else aMaxXRange = aXRange[0]; - } else if (aPosition[1]!=0) { - //y - float* aYRange = ac->GetYRange(); - if (aYRange[0] < aYRange[1]) aMaxYRange = aYRange[1]; - else aMaxYRange = aYRange[0]; - } else if (aPosition[2]!=0) { - //z - float* aZRange = ac->GetZRange(); - if (aZRange[0] < aZRange[1]) aMaxZRange = aZRange[1]; - else aMaxZRange = aZRange[0]; - } - } - } - ac = m_Triedron->GetNextActor(); - } -} - //---------------------------------------------------------------------------- void VTKViewer_InteractorStyleSALOME::DollyXY(int dx, int dy) { @@ -228,14 +161,9 @@ void VTKViewer_InteractorStyleSALOME::DollyXY(int dx, int dy) cam = this->CurrentRenderer->GetActiveCamera(); if (cam->GetParallelProjection()) { - double aOldScale = cam->GetParallelScale(); cam->SetParallelScale(cam->GetParallelScale()/zoomFactor); - double aNewScale = cam->GetParallelScale(); - - // for controlling label size - ControlLblSize(aOldScale,aNewScale); } - else + else { cam->Dolly(zoomFactor); this->CurrentRenderer->ResetCameraClippingRange(); @@ -1390,7 +1318,6 @@ void VTKViewer_InteractorStyleSALOME::Place(const int theX, const int theY) }*/ //VTKViewer_RenderWindow* aRW = dynamic_cast(this->Interactor->GetRenderWindow()); if (myGUIWindow) myGUIWindow->update(); - } diff --git a/src/VTKViewer/VTKViewer_InteractorStyleSALOME.h b/src/VTKViewer/VTKViewer_InteractorStyleSALOME.h index a8a9aa206..510224997 100644 --- a/src/VTKViewer/VTKViewer_InteractorStyleSALOME.h +++ b/src/VTKViewer/VTKViewer_InteractorStyleSALOME.h @@ -99,7 +99,6 @@ class VTKViewer_InteractorStyleSALOME : public QObject, public vtkInteractorStyl public: bool eventFilter(QObject* object, QEvent* event); - void ControlLblSize(double aOldScale, double aNewScale); void startZoom(); void startPan(); void startGlobalPan(); diff --git a/src/VTKViewer/VTKViewer_RenderWindow.cxx b/src/VTKViewer/VTKViewer_RenderWindow.cxx index 6072e344b..3ae42c55b 100644 --- a/src/VTKViewer/VTKViewer_RenderWindow.cxx +++ b/src/VTKViewer/VTKViewer_RenderWindow.cxx @@ -67,8 +67,7 @@ VTKViewer_RenderWindow::VTKViewer_RenderWindow(QWidget *parent, const char *name } VTKViewer_RenderWindow::~VTKViewer_RenderWindow() { - myRW->Delete(); //BUG SAL2954, Commented by SRN, to avoid problems when using rlogin - // Uncommented because of bug SAL3913 + //myRW->Delete(); //BUG SAL2954, Commented by SRN, to avoid problems when using rlogin } void VTKViewer_RenderWindow::paintEvent(QPaintEvent* theEvent) { diff --git a/src/VTKViewer/VTKViewer_RenderWindowInteractor.cxx b/src/VTKViewer/VTKViewer_RenderWindowInteractor.cxx index 4099a3fcd..6d049b67e 100644 --- a/src/VTKViewer/VTKViewer_RenderWindowInteractor.cxx +++ b/src/VTKViewer/VTKViewer_RenderWindowInteractor.cxx @@ -156,14 +156,14 @@ void VTKViewer_RenderWindowInteractor::Initialize() { Edge_Actor = vtkActor::New(); Edge_Actor->PickableOff(); Edge_Actor->GetProperty()->SetColor(1,0,0); + Edge_Actor->GetProperty()->SetRepresentationToSurface(); Edge_Actor->GetProperty()->SetLineWidth(5); - Edge_Actor->GetProperty()->SetRepresentationToWireframe(); Point_Actor = vtkActor::New(); Point_Actor->PickableOff(); Point_Actor->GetProperty()->SetColor(1,1,0); + Point_Actor->GetProperty()->SetRepresentationToSurface(); Point_Actor->GetProperty()->SetPointSize(5); - Point_Actor->GetProperty()->SetRepresentationToPoints(); return ; } @@ -912,12 +912,12 @@ QColor VTKViewer_RenderWindowInteractor::GetColor(const Handle(SALOME_Interactiv // GEOM actor float r,g,b; anActor->GetColor(r,g,b); - return QColor(int(r*255),int(g*255),int(b*255)); + return QColor(r*255,g*255,b*255); } else { float color[3]; anActor->GetProperty()->GetColor(color); - return QColor(int(color[0]*255),int(color[1]*255),int(color[2]*255)); + return QColor(color[0]*255,color[1]*255,color[2]*255); } } } @@ -1063,12 +1063,7 @@ static void CellCreateMapper(vtkPolyData *theSourcePolyData, vtkPolyDataMapper* int aPartId = ite.Key(); if(0 > aPartId || aPartId >= aNbOfParts) break; theSourcePolyData->GetCellPoints(aPartId,ptIds); - vtkCell* aCell = theSourcePolyData->GetCell(aPartId); - aPolyData->InsertNextCell(aCell->GetCellType(),ptIds); - for (int i = 0, iEnd = aCell->GetNumberOfEdges(); i < iEnd; i++){ - vtkCell* anEdgeCell = aCell->GetEdge(i); - aPolyData->InsertNextCell(VTK_LINE,anEdgeCell->GetPointIds()); - } + aPolyData->InsertNextCell(theSourcePolyData->GetCellType(aPartId),ptIds); } ptIds->Delete(); theMapper->SetInput(aPolyData); diff --git a/src/VTKViewer/VTKViewer_VectorText.cxx b/src/VTKViewer/VTKViewer_VectorText.cxx deleted file mode 100644 index ae19d948d..000000000 --- a/src/VTKViewer/VTKViewer_VectorText.cxx +++ /dev/null @@ -1,1747 +0,0 @@ -/*========================================================================= - - Program: Visualization Toolkit - Module: $RCSfile$ - Language: C++ - Date: $Date$ - Version: $Revision$ - - Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen - All rights reserved. - See Copyright.txt or http://www.kitware.com/Copyright.htm for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. See the above copyright notice for more information. - -=========================================================================*/ -// VTKViewer_VectorText.cxx is a copy of vtkVectorText.cxx file. -// Purpose of copying: to remove linking to libHybrid.so VTK library - -#include "VTKViewer_VectorText.h" - -#include "vtkCellArray.h" -#include "vtkObjectFactory.h" -#include "vtkPoints.h" -#include "vtkPolyData.h" - -vtkCxxRevisionMacro(VTKViewer_VectorText, "$Revision$"); -vtkStandardNewMacro(VTKViewer_VectorText); - -char *VTK_VECTOR_TEXT_33 = (char *) "11 0.438482 " -"0.28000 -0.07186 0.43164 -0.07143 0.27689 0.07714 0.43472 0.07714 0.32000 0.20134 " -"0.40000 0.20243 0.31429 0.20550 0.27277 0.76857 0.43848 0.76857 0.27693 1.02571 " -"0.43429 1.02615 7 2 1 3 2 0 1 7 6 5 6 4 5 8 " -"7 5 7 8 9 10 9 8 " -; - -char *VTK_VECTOR_TEXT_34 = (char *) "21 0.615625 " -"0.25714 0.63563 0.32571 0.63563 0.50286 0.63642 0.25143 0.63946 0.33143 0.63840 " -"0.33462 0.64286 0.49673 0.64286 0.57714 0.63757 0.58093 0.64286 0.21335 0.84286 " -"0.36680 0.84286 0.46177 0.84286 0.61522 0.84286 0.21295 1.02000 0.46134 1.02000 " -"0.61563 1.02000 0.36571 1.02307 0.46550 1.02571 0.21714 1.02615 0.36000 1.02723 " -"0.61143 1.02615 17 3 5 9 7 6 2 4 5 1 6 8 12 0 1 5 6 " -"12 11 3 0 5 7 8 6 11 12 14 13 9 10 10 9 5 15 14 12 19 " -"18 10 18 13 10 17 14 20 14 15 20 16 19 10 " -; - -char *VTK_VECTOR_TEXT_35 = (char *) "43 0.974539 " -"0.22286 -0.09100 0.32571 -0.09236 0.56832 -0.08857 0.67429 -0.09201 0.28193 0.22000 " -"0.39470 0.22000 0.63009 0.22000 0.15385 0.23143 0.27429 0.22723 0.40571 0.22723 " -"0.62286 0.22723 0.74857 0.22680 0.97454 0.23143 0.15385 0.33429 0.97454 0.33429 " -"0.30344 0.34000 0.65201 0.34000 0.77084 0.34000 0.42286 0.34010 0.42034 0.34571 " -"0.36041 0.60286 0.70748 0.60286 0.82034 0.60286 0.47429 0.60626 0.15385 0.61429 " -"0.35429 0.61009 0.70286 0.60951 0.82857 0.61009 0.97454 0.61429 0.15385 0.71714 " -"0.37714 0.72134 0.50286 0.72191 0.72571 0.72134 0.85143 0.72156 0.97143 0.72025 " -"0.38605 0.72857 0.49823 0.72857 0.73335 0.72857 0.84613 0.72857 0.45143 1.04160 " -"0.55735 1.04286 0.80000 1.04243 0.90521 1.04286 43 6 2 3 5 0 1 0 5 4 18 " -"9 10 11 6 3 4 9 8 13 8 15 17 6 11 9 4 5 13 7 8 17 " -"12 14 8 9 15 15 19 20 16 6 17 12 17 11 18 10 16 10 6 16 21 " -"16 17 18 19 9 15 9 19 20 30 25 23 20 19 34 33 28 29 24 25 29 " -"25 30 27 21 22 33 21 27 20 23 30 22 21 17 33 27 28 31 26 32 35 " -"30 23 32 38 37 31 35 23 21 32 26 26 31 23 32 21 38 41 37 38 36 " -"35 31 38 21 33 40 39 36 42 41 38 39 35 36 " -; - -char *VTK_VECTOR_TEXT_36 = (char *) "73 0.921518 " -"0.52571 -0.22882 0.59429 -0.22991 0.52000 -0.09942 0.60571 -0.09385 0.40571 -0.07057 " -"0.72730 -0.06571 0.33143 -0.03465 0.80571 -0.01813 0.51429 0.01891 0.52152 0.02571 " -"0.60571 0.02014 0.84571 0.02168 0.25669 0.04286 0.66857 0.03800 0.44571 0.04535 " -"0.70984 0.06571 0.74535 0.10571 0.74857 0.11079 0.74902 0.11143 0.37057 0.12857 " -"0.90538 0.12857 0.20823 0.15143 0.35748 0.16286 0.77395 0.16857 0.35429 0.17310 " -"0.35177 0.18000 0.78134 0.21429 0.92152 0.21429 0.19580 0.22571 0.33480 0.25429 " -"0.77395 0.29429 0.91177 0.32286 0.76000 0.32921 0.72571 0.36972 0.89355 0.37429 " -"0.64690 0.40857 0.65143 0.40706 0.64000 0.41109 0.60571 0.41986 0.52109 0.43714 " -"0.85714 0.43270 0.38857 0.49216 0.79429 0.48902 0.72571 0.52437 0.30454 0.54571 " -"0.60260 0.56286 0.52043 0.58571 0.26286 0.59570 0.46857 0.59800 0.39429 0.65095 " -"0.22857 0.67295 0.36823 0.70000 0.75429 0.77624 0.21907 0.78571 0.35891 0.78571 " -"0.89184 0.79714 0.37714 0.85001 0.72571 0.86144 0.87470 0.86571 0.24571 0.89016 " -"0.68571 0.90956 0.44000 0.92036 0.60571 0.94469 0.83179 0.94571 0.28000 0.94629 " -"0.51429 0.94891 0.34286 1.00607 0.75429 1.01579 0.38286 1.02784 0.52043 1.06571 " -"0.60260 1.06571 0.52260 1.12286 0.60043 1.12286 75 3 8 2 2 8 4 19 12 6 13 11 15 9 8 10 3 2 1 8 " -"3 10 5 13 10 15 11 16 7 13 5 4 14 6 2 0 1 5 10 3 12 " -"22 21 14 4 8 13 7 11 11 18 16 20 23 18 18 17 16 20 18 11 19 " -"6 14 28 21 29 26 23 20 12 19 22 25 22 24 21 22 25 21 25 29 26 " -"27 30 27 26 20 31 32 30 31 30 27 40 33 32 37 43 38 34 32 31 38 " -"39 9 40 32 34 38 9 10 43 33 42 37 36 43 39 38 43 42 33 40 35 " -"36 37 33 43 36 39 45 46 48 41 39 45 39 43 41 48 44 47 51 50 46 " -"62 65 48 39 46 44 49 47 49 44 48 54 53 50 51 47 49 53 56 59 53 " -"54 56 66 64 56 55 58 52 58 57 52 54 50 51 59 56 64 67 60 63 60 " -"57 63 66 61 68 61 66 56 68 65 69 65 62 69 62 46 45 63 57 58 62 " -"60 67 68 61 65 71 70 72 70 62 67 62 70 69 71 69 70 " -; - -char *VTK_VECTOR_TEXT_37 = (char *) "81 1.409911 " -"0.46713 -0.11143 0.57143 -0.11215 1.19429 -0.11252 1.10286 -0.10252 1.26444 -0.09429 " -"1.05143 -0.07759 1.31429 -0.06384 1.14857 -0.01538 1.18857 -0.01807 0.98857 -0.01364 " -"1.22286 -0.00771 1.36784 -0.00286 1.11302 0.00286 1.26436 0.03143 1.07787 0.04857 " -"0.95748 0.05429 1.39681 0.06571 1.28680 0.09429 1.05866 0.14000 1.40991 0.14571 " -"0.94134 0.15143 0.94134 0.21429 1.29295 0.21429 1.06134 0.23714 1.40723 0.23714 " -"0.95748 0.30000 1.39387 0.30000 1.07787 0.30571 1.27429 0.30371 1.09561 0.33429 " -"1.23429 0.35465 1.36616 0.36286 1.13143 0.36327 1.16571 0.37277 1.20571 0.36899 " -"1.00045 0.38571 1.32000 0.41543 1.06857 0.44498 1.24571 0.45681 0.48000 0.46420 " -"1.15429 0.46723 0.38857 0.47462 0.55016 0.48286 0.60000 0.51330 0.30286 0.52704 " -"0.43429 0.56177 0.47429 0.55907 0.26857 0.57284 0.50857 0.56943 0.65355 0.57429 " -"0.39873 0.58000 0.55007 0.60857 0.24530 0.62571 0.36359 0.62571 0.68252 0.64286 " -"0.56680 0.64857 0.23050 0.69429 0.34437 0.71714 0.57866 0.72286 0.69563 0.72286 " -"0.22705 0.79143 0.34705 0.81429 0.69295 0.81429 0.56891 0.85429 0.67959 0.87714 " -"0.24530 0.88286 0.36359 0.88286 0.38132 0.91143 0.54286 0.90975 0.52000 0.93179 " -"0.65465 0.93429 0.41714 0.94041 0.47429 0.94950 0.29143 0.96914 0.60571 0.99258 " -"0.32000 0.99868 0.38286 1.03395 0.53714 1.03184 1.06857 1.04249 1.17287 1.04286 " -"0.48000 1.04395 79 0 1 78 10 4 6 2 8 3 9 14 15 4 " -"10 8 3 7 5 7 3 8 10 6 13 12 5 7 5 12 9 4 8 2 13 " -"16 17 17 19 22 14 9 12 15 18 20 11 13 6 13 11 16 17 16 19 18 " -"15 14 21 20 18 21 23 25 22 26 28 23 21 18 24 22 19 25 27 35 35 " -"29 37 22 24 26 28 31 30 27 25 23 31 28 26 27 29 35 36 30 31 38 " -"34 30 38 33 34 37 32 40 32 33 40 38 30 36 32 37 29 40 33 38 42 " -"46 39 47 53 52 48 43 51 39 46 41 41 50 44 56 57 60 45 41 46 42 " -"48 46 48 42 43 50 41 45 53 47 44 51 49 55 54 55 49 53 44 50 49 " -"51 43 55 54 58 59 58 54 57 56 52 57 52 53 60 61 65 58 62 63 57 " -"61 60 62 64 63 65 66 73 66 65 61 73 66 75 58 59 62 63 64 68 70 " -"69 68 67 75 66 70 68 64 76 71 72 75 67 76 74 69 70 71 76 67 69 " -"77 72 72 77 80 77 69 74 76 72 80 79 78 1 " -; - -char *VTK_VECTOR_TEXT_38 = (char *) "76 1.126291 " -"0.58857 -0.08966 1.03429 -0.09235 0.48000 -0.08395 0.66286 -0.07673 0.40000 -0.05914 " -"0.72000 -0.05641 0.98286 -0.05473 0.35429 -0.03393 0.78857 -0.01678 1.12629 0.00857 " -"0.29143 0.02168 0.52571 0.02991 0.57714 0.02764 0.62286 0.03756 0.46857 0.04645 " -"0.87429 0.05495 0.69714 0.07393 0.42132 0.08286 1.04571 0.07868 0.24486 0.08857 " -"0.75011 0.11714 0.22327 0.14000 0.37927 0.14571 0.78349 0.16286 0.96893 0.16286 " -"0.96571 0.16717 0.96457 0.16857 0.95937 0.18000 0.35580 0.22571 0.20991 0.25429 " -"0.36319 0.28857 0.86286 0.29600 1.02437 0.31143 0.22645 0.32857 0.40418 0.36286 " -"0.40571 0.36454 0.41330 0.37429 1.05421 0.40857 0.28418 0.42571 0.92000 0.44119 " -"0.53714 0.46770 0.37143 0.50250 0.66758 0.54000 0.46406 0.55714 0.78704 0.62571 " -"0.59429 0.63146 0.37714 0.68444 0.69296 0.70000 0.85355 0.71714 0.35681 0.73429 " -"0.50200 0.75143 0.49756 0.76286 0.49502 0.76857 0.72891 0.76857 0.86966 0.76857 " -"0.34748 0.82000 0.73295 0.82000 0.48764 0.82571 0.87236 0.83143 0.49714 0.86089 " -"0.35849 0.87143 0.71429 0.87650 0.52000 0.89555 0.69714 0.89846 0.37964 0.91714 " -"0.84657 0.91714 0.55429 0.92073 0.65714 0.92498 0.60000 0.93277 0.81868 0.95714 " -"0.42857 0.97582 0.76571 1.00436 0.51429 1.02723 0.72000 1.02723 0.59429 1.04437 " -"0.64571 1.04395 78 7 17 10 3 13 0 " -"2 14 4 6 18 15 17 7 4 9 18 " -"6 9 6 1 8 16 5 0 12 2 " -"17 4 14 2 11 14 12 0 13 13 5 " -"16 15 24 20 16 8 20 13 3 5 " -"2 12 11 10 17 19 21 28 29 15 20 " -"8 20 24 23 40 23 31 24 25 26 " -"19 22 21 31 23 27 22 19 17 18 24 " -"15 28 21 22 29 30 33 31 32 39 " -"23 24 26 30 29 28 23 26 27 33 30 " -"38 32 31 27 38 36 41 38 34 36 " -"34 38 30 36 34 35 39 32 37 42 40 " -"31 40 41 36 42 44 47 45 43 40 " -"40 43 41 50 46 43 50 49 46 45 40 " -"42 48 53 47 45 42 47 49 52 55 " -"53 48 56 50 43 45 57 60 55 52 50 " -"51 49 50 52 48 47 44 54 56 48 " -"56 65 61 60 59 64 59 60 57 65 56 " -"58 52 57 55 64 59 70 58 56 54 " -"59 62 70 68 74 72 65 69 61 70 66 " -"72 63 71 67 63 61 69 70 62 66 " -"67 73 68 71 63 69 73 67 71 68 72 " -"66 74 68 75 75 68 73 " -; - -char *VTK_VECTOR_TEXT_39 = (char *) "10 0.364197 " -"0.25143 0.63563 0.24571 0.63946 0.32571 0.63757 0.32950 0.64286 0.21034 0.83714 " -"0.36379 0.83714 0.20991 1.02000 0.36420 1.02000 0.21408 1.02571 0.36000 1.02615 8 1 0 3 " -"2 3 0 1 3 4 7 6 4 5 4 " -"3 7 4 5 8 6 9 6 7 9 " -; - -char *VTK_VECTOR_TEXT_40 = (char *) "19 0.595731 " -"0.50857 -0.39522 0.59429 -0.39447 0.44000 -0.30784 0.51787 -0.24857 0.32530 -0.09429 " -"0.43748 -0.05429 0.26899 0.06571 0.38134 0.20286 0.23580 0.27714 0.37605 0.38000 " -"0.23848 0.41429 0.39320 0.53429 0.27177 0.59714 0.43748 0.71143 0.47216 0.80286 " -"0.36086 0.82000 0.45714 0.97936 0.59573 1.04286 0.50857 1.04395 17 2 3 4 0 3 2 3 " -"0 1 6 4 5 3 5 4 6 7 8 7 6 5 9 10 8 9 8 7 10 " -"11 12 10 9 11 12 13 15 12 11 13 14 15 13 16 15 14 17 18 16 17 " -"16 14 " -; - -char *VTK_VECTOR_TEXT_41 = (char *) "19 0.598482 " -"0.24000 -0.39447 0.33143 -0.39258 0.40616 -0.28857 0.31641 -0.24857 0.48784 -0.14000 " -"0.39681 -0.05429 0.55538 0.03143 0.45295 0.20286 0.59580 0.23714 0.59848 0.37429 " -"0.45823 0.38000 0.44723 0.49429 0.56252 0.59714 0.41714 0.64134 0.47343 0.82000 " -"0.34857 0.83301 0.37714 0.97936 0.23855 1.04286 0.32571 1.04395 17 0 1 3 2 3 1 3 " -"4 5 3 2 4 5 6 7 6 5 4 7 8 10 8 9 10 11 10 9 8 " -"7 6 11 12 13 13 14 15 12 11 9 14 13 12 15 16 17 16 15 14 16 " -"18 17 " -; - -char *VTK_VECTOR_TEXT_42 = (char *) "34 0.685300 " -"0.33143 0.58250 0.33714 0.58223 0.53714 0.58250 0.54286 0.58194 0.36213 0.61429 " -"0.25587 0.63714 0.25266 0.64286 0.62655 0.64286 0.25393 0.64857 0.43429 0.73293 " -"0.44000 0.73049 0.36715 0.78000 0.50714 0.78000 0.35429 0.78613 0.63429 0.80816 " -"0.19309 0.82571 0.68389 0.82571 0.19177 0.83143 0.68530 0.83143 0.38857 0.86213 " -"0.39523 0.86571 0.48000 0.86242 0.47660 0.86571 0.34657 0.88286 0.58857 0.90823 " -"0.22286 0.92522 0.22857 0.92848 0.64571 0.92816 0.65143 0.92675 0.49295 1.02000 " -"0.38134 1.03714 0.38550 1.04286 0.49143 1.04021 0.48571 1.04437 32 2 12 10 8 4 11 " -"8 5 4 8 6 5 4 0 1 2 3 " -"12 0 4 5 12 9 10 9 11 4 " -"19 11 21 14 24 12 26 25 17 16 18 " -"14 13 23 15 19 21 20 11 19 13 " -"33 31 30 24 21 12 12 21 9 21 11 " -"9 26 17 23 12 3 7 27 24 18 " -"13 19 23 23 17 15 20 21 22 18 24 " -"14 28 27 18 33 30 20 29 20 22 " -"29 33 20 32 33 29 " -; - -char *VTK_VECTOR_TEXT_43 = (char *) "20 0.952768 " -"0.52836 0.10571 0.64878 0.10571 0.52420 0.11143 0.65295 0.11143 0.52420 0.39714 " -"0.65295 0.39714 0.22857 0.40546 0.52000 0.40329 0.66286 0.40437 0.95168 0.40857 " -"0.22437 0.52286 0.95277 0.52286 0.22857 0.52900 0.52311 0.53429 0.65403 0.53429 " -"0.94857 0.52900 0.52528 0.82571 0.65186 0.82571 0.53143 0.82991 0.64571 0.82991 18 1 2 0 1 3 2 " -"4 2 3 5 4 3 12 6 7 14 4 " -"8 9 15 8 8 4 5 9 11 15 " -"12 7 13 6 12 10 7 4 13 14 8 " -"15 17 19 18 14 13 4 17 18 16 " -"17 16 13 17 13 14 " -; - -char *VTK_VECTOR_TEXT_44 = (char *) "23 0.432768 " -"0.30286 -0.28607 0.30857 -0.28726 0.33714 -0.27355 0.36571 -0.25275 0.27329 -0.23714 " -"0.38670 -0.23143 0.30286 -0.21582 0.39914 -0.21429 0.32115 -0.19714 0.41355 -0.18571 " -"0.33800 -0.16857 0.42327 -0.15714 0.34605 -0.14571 0.43277 -0.10000 0.35580 -0.08286 " -"0.35472 -0.07714 0.28571 -0.07295 0.34857 -0.07295 0.28000 -0.06878 0.27957 0.07714 " -"0.43168 0.07714 0.28571 0.08134 0.42857 0.08025 21 0 6 4 0 " -"1 2 0 2 6 3 6 2 8 5 10 5 7 10 6 5 8 5 6 3 10 " -"7 12 9 12 7 12 13 14 11 12 9 12 11 13 18 17 19 17 21 19 15 " -"14 13 15 13 17 21 17 22 17 20 22 18 16 17 20 17 13 " -; - -char *VTK_VECTOR_TEXT_45 = (char *) "8 0.606146 " -"0.19118 0.26000 0.19429 0.25689 0.60000 0.25580 0.60615 0.26000 0.19118 0.38571 " -"0.60615 0.38571 0.19429 0.38882 0.60000 0.38991 6 6 1 2 6 0 " -"1 6 2 7 6 4 0 7 2 3 " -"5 7 3 " -; - -char *VTK_VECTOR_TEXT_46 = (char *) "13 0.432768 " -"0.28571 -0.07295 0.42286 -0.07295 0.42857 -0.07186 0.27848 -0.06571 0.28000 -0.06878 " -"0.43277 -0.06571 0.27848 0.07143 0.43277 0.07143 0.27957 0.07714 0.43168 0.07714 " -"0.28571 0.08134 0.42286 0.08134 0.42857 0.08025 11 0 " -"3 4 3 0 1 8 6 10 5 1 2 3 1 5 6 3 5 6 7 11 6 " -"5 7 10 6 11 9 12 11 9 11 7 " -; - -char *VTK_VECTOR_TEXT_47 = (char *) "5 0.562348 " -"0.14389 -0.08857 0.14857 -0.09256 0.25004 -0.08857 0.56235 1.04286 0.46286 1.04358 3 2 0 1 4 0 2 3 " -"4 2 " -; - -char *VTK_VECTOR_TEXT_48 = (char *) "53 0.926804 " -"0.53714 -0.09009 0.59429 -0.09009 0.66857 -0.07673 0.43429 -0.06723 0.73143 -0.05070 " -"0.34286 -0.00972 0.80571 0.01025 0.54857 0.02152 0.61714 0.02891 0.30241 0.03714 " -"0.65714 0.04645 0.46857 0.05007 0.42473 0.08857 0.70286 0.08454 0.26645 0.10000 " -"0.86943 0.11143 0.39955 0.12286 0.73800 0.13429 0.23748 0.18000 0.37034 0.19714 " -"0.76252 0.20286 0.91236 0.26000 0.21866 0.26571 0.35621 0.26571 0.77823 0.28857 " -"0.34437 0.40286 0.92680 0.40286 0.20420 0.40857 0.78705 0.54000 0.20723 0.58000 " -"0.92420 0.58571 0.35277 0.64286 0.22177 0.69429 0.76571 0.72437 0.89966 0.74000 " -"0.37756 0.76286 0.74498 0.79143 0.26073 0.82571 0.85927 0.84857 0.42473 0.85429 " -"0.70439 0.85429 0.46286 0.88902 0.66286 0.89007 0.30241 0.90000 0.51009 0.91143 " -"0.58286 0.91823 0.80725 0.92857 0.77714 0.95829 0.38350 0.98000 0.71429 0.99927 " -"0.46286 1.01681 0.65714 1.01959 0.53714 1.02991 53 2 8 1 0 7 3 5 16 9 2 10 8 0 " -"1 8 7 0 8 12 16 5 11 3 7 3 12 5 15 20 17 11 12 3 13 " -"6 17 6 13 4 9 16 14 10 4 13 14 19 18 4 10 2 15 17 6 19 " -"14 16 21 24 20 23 18 19 22 25 27 24 26 28 23 22 18 21 20 15 26 " -"24 21 22 23 25 29 27 25 29 31 32 28 30 33 31 29 25 30 28 26 32 " -"35 37 46 40 36 30 34 33 32 31 35 43 39 48 43 37 35 38 36 33 38 " -"33 34 42 40 49 48 41 50 39 43 35 47 40 46 46 36 38 41 44 50 45 " -"52 44 42 51 45 41 48 39 49 40 47 50 44 52 52 45 51 42 49 51 " -; - -char *VTK_VECTOR_TEXT_49 = (char *) "11 0.708571 " -"0.58286 -0.07186 0.70857 -0.07186 0.30857 0.62908 0.31429 0.62657 0.38286 0.65641 " -"0.30785 0.75143 0.57714 0.77731 0.47429 0.85616 0.56384 0.94000 0.62857 1.02915 " -"0.70857 1.02882 9 6 0 1 2 4 5 7 5 4 2 3 4 6 " -"8 7 6 7 4 10 8 6 10 6 1 10 9 8 " -; - -char *VTK_VECTOR_TEXT_50 = (char *) "43 0.914286 " -"0.18857 -0.06878 0.91429 -0.06878 0.18748 -0.04286 0.19849 0.00857 0.91429 0.05164 " -"0.38142 0.06000 0.22943 0.07714 0.46286 0.15868 0.30286 0.17832 0.38286 0.25813 " -"0.58413 0.43143 0.78286 0.44454 0.67543 0.52286 0.85355 0.53429 0.72045 0.58000 " -"0.89756 0.62571 0.75470 0.64286 0.35168 0.70000 0.91236 0.70000 0.77295 0.71143 " -"0.21403 0.71714 0.77295 0.74571 0.22605 0.79143 0.37143 0.79804 0.90244 0.80857 " -"0.75429 0.81228 0.38902 0.83143 0.24359 0.84286 0.73143 0.84689 0.42454 0.87143 " -"0.86607 0.88857 0.68000 0.89070 0.28000 0.90629 0.49143 0.90823 0.58857 0.91866 " -"0.82857 0.93555 0.31597 0.94571 0.37714 0.98784 0.76000 0.98657 0.44571 1.01470 " -"0.69143 1.01470 0.53714 1.02991 0.62857 1.02723 41 3 2 0 3 5 6 1 5 0 5 " -"3 0 1 4 5 6 5 8 7 8 5 9 8 7 9 7 10 11 10 7 10 " -"11 12 12 11 14 16 15 18 16 18 19 13 14 11 14 13 16 21 24 25 15 " -"16 13 21 19 18 23 27 22 17 23 22 24 21 18 27 23 32 17 22 20 31 " -"42 34 30 28 25 26 32 23 40 31 38 35 28 30 36 32 26 29 36 26 34 " -"41 33 33 37 29 36 29 37 33 39 37 30 25 24 28 38 31 38 28 35 39 " -"33 41 31 40 42 41 34 42 " -; - -char *VTK_VECTOR_TEXT_51 = (char *) "68 0.927232 " -"0.52571 -0.09009 0.63429 -0.08395 0.45143 -0.07756 0.37143 -0.04498 0.74286 -0.04771 " -"0.30857 0.00132 0.81714 0.00439 0.54286 0.02152 0.60000 0.02420 0.64661 0.03714 " -"0.27429 0.03952 0.46857 0.04073 0.42857 0.06759 0.70857 0.07561 0.88213 0.08286 " -"0.23429 0.10772 0.38812 0.11714 0.74535 0.11714 0.91109 0.14571 0.77823 0.19143 " -"0.20764 0.20857 0.92723 0.22571 0.34286 0.23215 0.78437 0.27143 0.92723 0.27714 " -"0.75429 0.36430 0.89927 0.38571 0.72571 0.40132 0.86857 0.43270 0.67429 0.43927 " -"0.48000 0.45284 0.48571 0.44966 0.54857 0.46152 0.60000 0.46109 0.83429 0.46686 " -"0.72693 0.52286 0.49034 0.55714 0.49714 0.56395 0.78857 0.56473 0.58286 0.57109 " -"0.82857 0.60921 0.67429 0.61616 0.70400 0.64857 0.85294 0.65429 0.72680 0.70571 " -"0.87009 0.72286 0.35429 0.72298 0.22175 0.74571 0.72991 0.76286 0.72151 0.80286 " -"0.86244 0.80857 0.38857 0.82064 0.69143 0.85832 0.84571 0.85587 0.26241 0.87143 " -"0.43429 0.87829 0.64571 0.89641 0.48571 0.90723 0.29330 0.91714 0.60571 0.91252 " -"0.53143 0.91823 0.80384 0.92286 0.36000 0.97750 0.73143 0.98213 0.44571 1.01681 " -"0.65714 1.01470 0.52000 1.02991 0.60000 1.02723 66 3 11 " -"5 9 8 1 1 8 0 4 9 1 " -"9 4 13 7 0 8 6 13 4 17 13 " -"6 2 11 3 2 0 7 5 16 10 " -"12 5 11 10 16 15 11 2 7 16 5 " -"12 17 14 19 14 17 6 20 15 22 " -"19 18 23 22 15 16 14 18 19 21 23 " -"18 23 26 25 23 21 24 26 28 25 " -"30 32 36 25 34 27 35 32 33 35 29 " -"27 25 28 34 29 35 33 26 23 24 " -"37 36 32 39 32 35 35 27 34 37 32 " -"39 30 31 32 39 35 41 38 41 35 " -"38 42 41 40 42 38 42 40 44 40 43 " -"44 44 43 48 45 48 43 47 46 54 " -"49 48 50 50 48 45 49 53 52 63 52 " -"61 53 49 50 46 51 54 58 54 51 " -"58 55 62 62 55 64 66 57 60 61 52 " -"53 55 58 51 59 67 60 52 63 56 " -"56 65 59 55 57 64 64 57 66 65 56 " -"63 67 66 60 67 59 65 " -; - -char *VTK_VECTOR_TEXT_52 = (char *) "18 0.920000 " -"0.64571 -0.07295 0.64000 -0.06878 0.77143 -0.06878 0.77403 0.18571 0.16265 0.19143 " -"0.63429 0.18882 0.92000 0.19408 0.15891 0.31143 0.91735 0.31143 0.29653 0.31714 " -"0.63740 0.31714 0.77714 0.31403 0.16571 0.32228 0.16616 0.32286 0.63429 0.79380 " -"0.77186 1.02000 0.66857 1.02282 0.76571 1.02420 18 2 1 0 1 3 5 1 2 " -"3 3 10 5 9 4 5 4 9 7 " -"6 11 3 8 11 6 7 9 13 15 16 " -"14 9 5 10 7 13 12 13 14 16 " -"11 10 3 14 13 9 14 10 11 15 17 " -"16 15 14 11 " -; - -char *VTK_VECTOR_TEXT_53 = (char *) "54 0.932946 " -"0.52571 -0.09009 0.61714 -0.08665 0.44571 -0.07673 0.73143 -0.05179 0.35429 -0.03759 " -"0.78914 -0.01429 0.30286 0.00241 0.53714 0.02152 0.62857 0.03184 0.84115 0.03714 " -"0.46857 0.03927 0.66286 0.04645 0.26286 0.04921 0.42286 0.06759 0.71429 0.08439 " -"0.88045 0.09429 0.23343 0.10000 0.38812 0.10571 0.74535 0.12286 0.35748 0.16857 " -"0.77294 0.18000 0.91681 0.18000 0.20420 0.20857 0.34286 0.22376 0.78705 0.23714 " -"0.93295 0.27143 0.79009 0.31714 0.93252 0.33429 0.77714 0.38420 0.91681 0.42000 " -"0.34857 0.43034 0.75641 0.43143 0.23088 0.44857 0.72000 0.47868 0.40000 0.48400 " -"0.68000 0.50784 0.86902 0.51714 0.46857 0.52437 0.53143 0.53848 0.57714 0.53848 " -"0.58857 0.53621 0.60000 0.53580 0.82286 0.56972 0.38494 0.59714 0.77714 0.60535 " -"0.48571 0.64244 0.69714 0.64327 0.56571 0.65848 0.61714 0.65848 0.43891 0.87714 " -"0.44571 0.88395 0.88043 0.88857 0.88043 1.00857 0.33714 1.01182 52 7 1 " -"8 7 0 1 7 2 0 2 10 4 " -"6 13 12 3 8 1 3 11 8 10 2 " -"7 4 13 6 11 3 14 19 16 12 " -"3 5 14 9 14 5 10 13 4 22 19 " -"23 18 15 20 17 12 13 15 14 9 " -"14 15 18 19 12 17 25 26 24 20 21 " -"24 21 20 15 22 16 19 25 24 21 " -"26 25 27 29 28 26 29 26 27 43 37 " -"45 36 31 29 34 32 30 31 36 33 " -"31 28 29 32 34 43 48 47 41 45 38 " -"47 42 33 36 41 39 40 38 39 47 " -"37 38 45 47 39 41 44 33 42 43 34 " -"37 46 33 44 35 46 41 33 46 35 " -"46 48 41 32 43 53 43 49 53 49 50 " -"53 53 50 52 50 51 52 " -; - -char *VTK_VECTOR_TEXT_54 = (char *) "70 0.927232 " -"0.55429 -0.09009 0.66857 -0.08034 0.43429 -0.06213 0.75429 -0.04607 0.34857 -0.00972 " -"0.81143 -0.00439 0.59429 0.02152 0.51339 0.03143 0.85188 0.04286 0.67429 0.04645 " -"0.46286 0.05579 0.27384 0.07714 0.41714 0.09597 0.73143 0.09597 0.89355 0.11714 " -"0.38771 0.14000 0.91177 0.16857 0.77294 0.17429 0.22816 0.18571 0.36530 0.19714 " -"0.78705 0.24857 0.92680 0.25429 0.35320 0.26000 0.78665 0.30571 0.20420 0.31143 " -"0.35320 0.31143 0.92723 0.31714 0.36657 0.37429 0.77395 0.37429 0.75429 0.41841 " -"0.39179 0.42571 0.89756 0.44286 0.72000 0.46418 0.43429 0.47258 0.19891 0.50571 " -"0.33714 0.50495 0.48000 0.50213 0.66857 0.50086 0.86241 0.50571 0.55429 0.52134 " -"0.61143 0.51866 0.80403 0.56857 0.42286 0.58821 0.74286 0.60943 0.34134 0.63143 " -"0.50857 0.62823 0.68000 0.63252 0.57714 0.64134 0.21563 0.66000 0.77714 0.74697 " -"0.37502 0.75714 0.90966 0.76286 0.25673 0.80286 0.41901 0.83143 0.73143 0.85191 " -"0.45143 0.86686 0.87343 0.87714 0.30036 0.88286 0.68000 0.89514 0.50286 0.90086 " -"0.51429 0.90530 0.52000 0.90784 0.60571 0.91866 0.83846 0.92857 0.35429 0.94384 " -"0.40571 0.98150 0.76000 0.99229 0.49143 1.01748 0.68571 1.02041 0.56571 1.02991 70 " -"2 10 4 6 1 9 3 5 13 0 7 " -"2 3 9 1 1 6 0 9 3 13 " -"7 0 6 10 2 7 20 26 23 4 12 " -"11 13 8 17 4 10 12 11 19 18 " -"17 21 20 15 11 12 11 15 19 16 17 " -"14 18 22 24 8 14 17 8 13 5 " -"24 35 34 22 18 19 20 21 26 28 23 " -"26 21 17 16 24 27 35 24 22 25 " -"28 31 29 31 28 26 24 25 27 32 41 " -"37 30 35 27 34 44 48 35 33 42 " -"43 37 41 46 39 40 32 29 38 38 29 " -"31 33 35 30 33 36 42 42 36 45 " -"45 39 47 36 39 45 37 46 40 41 32 " -"38 46 37 43 47 39 46 44 34 35 " -"48 50 52 48 44 50 49 56 54 57 53 " -"64 57 52 50 54 66 58 51 56 49 " -"62 69 61 53 57 50 61 59 60 59 65 " -"55 65 64 55 58 68 62 55 64 53 " -"66 54 63 63 54 56 65 59 67 69 62 " -"68 67 59 61 69 67 61 68 58 66 " -; - -char *VTK_VECTOR_TEXT_55 = (char *) "17 0.923788 " -"0.37143 -0.07186 0.50286 -0.07186 0.36723 -0.06571 0.37335 0.02000 0.52991 0.11143 " -"0.40379 0.18571 0.59787 0.35143 0.47387 0.41429 0.66857 0.51873 0.53355 0.55143 " -"0.63384 0.72857 0.80893 0.76286 0.74359 0.88286 0.21714 0.88546 0.92379 0.91143 " -"0.21403 1.00857 0.92311 1.00857 15 3 0 1 2 0 3 3 4 5 4 3 1 6 7 5 6 5 4 9 " -"7 6 10 9 8 8 9 6 10 11 12 11 10 8 15 13 12 12 14 16 15 " -"12 16 11 14 12 " -; - -char *VTK_VECTOR_TEXT_56 = (char *) "83 0.926804 " -"0.53143 -0.08966 0.62857 -0.08665 0.45143 -0.07605 0.73714 -0.05641 0.38857 -0.05343 " -"0.34286 -0.02616 0.79429 -0.02250 0.28571 0.02445 0.58857 0.02152 0.50857 0.02823 " -"0.85258 0.03143 0.66937 0.04286 0.45143 0.05070 0.71429 0.07296 0.41143 0.07868 " -"0.24000 0.09016 0.89927 0.10571 0.37669 0.12286 0.76613 0.14000 0.21462 0.15714 " -"0.35849 0.16286 0.92109 0.17429 0.78705 0.22000 0.34437 0.22571 0.20420 0.27143 " -"0.92680 0.27143 0.78437 0.28286 0.34748 0.28857 0.77143 0.32947 0.91470 0.33429 " -"0.21714 0.34118 0.37502 0.36286 0.73296 0.39143 0.89057 0.39143 0.24359 0.40286 " -"0.41883 0.41429 0.69143 0.42722 0.27275 0.44286 0.85714 0.43841 0.46286 0.44371 " -"0.50286 0.45748 0.63429 0.45470 0.58286 0.46420 0.80507 0.48286 0.33143 0.49007 " -"0.40456 0.52286 0.72693 0.52286 0.32000 0.57616 0.54857 0.57580 0.62286 0.58319 " -"0.82082 0.58571 0.49714 0.58657 0.66286 0.60073 0.28527 0.61429 0.44571 0.61582 " -"0.70439 0.63714 0.85759 0.63714 0.25756 0.67143 0.72657 0.67143 0.39849 0.68286 " -"0.87470 0.68286 0.74134 0.72857 0.38705 0.73429 0.88109 0.76857 0.24764 0.77429 " -"0.73395 0.79714 0.39470 0.80286 0.87177 0.82000 0.71641 0.83714 0.27216 0.86571 " -"0.44000 0.87296 0.84486 0.88286 0.66286 0.89179 0.48000 0.90086 0.61714 0.91184 " -"0.54286 0.91823 0.31846 0.93429 0.80571 0.93555 0.38286 0.98616 0.72000 0.99800 " -"0.43429 1.01008 0.53143 1.02991 0.61714 1.02723 85 0 " -"9 2 12 4 2 1 8 0 6 11 3 5 14 7 9 0 8 8 1 11 4 " -"12 5 13 11 6 1 3 11 12 2 9 5 12 14 13 10 18 7 17 15 10 " -"13 6 15 20 19 7 14 17 18 16 22 16 18 10 20 15 17 19 23 24 16 " -"21 22 22 25 26 23 19 20 24 27 30 25 22 21 27 24 23 31 34 30 31 " -"37 34 29 28 26 31 30 27 29 26 25 33 28 29 28 33 32 36 32 43 37 " -"31 44 40 45 39 44 39 45 43 32 38 35 44 31 42 48 40 44 35 39 41 " -"46 42 36 46 41 32 33 38 48 42 49 46 36 43 48 45 40 42 46 49 51 " -"45 48 49 46 52 47 54 53 52 46 55 53 59 57 45 54 47 45 51 54 50 " -"55 46 59 53 54 50 58 55 58 50 61 57 62 64 61 63 65 56 61 50 57 " -"59 62 60 61 56 64 66 69 63 67 65 64 62 66 63 61 60 71 68 65 76 " -"69 66 72 68 77 71 65 67 76 70 78 70 76 66 74 82 75 80 78 70 79 " -"72 77 74 72 79 80 73 75 80 75 81 68 71 77 73 80 70 82 81 75 82 " -"74 79 " -; - -char *VTK_VECTOR_TEXT_57 = (char *) "72 0.927232 " -"0.50286 -0.09009 0.56000 -0.09009 0.42857 -0.07673 0.64571 -0.07395 0.36000 -0.04771 " -"0.74286 -0.02616 0.28759 0.01429 0.51429 0.02152 0.57143 0.02420 0.80115 0.02571 " -"0.47429 0.02891 0.42857 0.05007 0.64000 0.04943 0.24930 0.07714 0.39314 0.08286 " -"0.85229 0.10000 0.70902 0.11143 0.37057 0.12286 0.22177 0.17429 0.34857 0.18947 " -"0.75109 0.19714 0.89395 0.20286 0.75429 0.20739 0.75681 0.21429 0.90966 0.27143 " -"0.50286 0.30152 0.42857 0.31605 0.61714 0.31462 0.37714 0.33787 0.70286 0.35759 " -"0.78705 0.37429 0.32000 0.37846 0.58286 0.42152 0.50286 0.42891 0.63429 0.43184 " -"0.78286 0.43630 0.92723 0.43714 0.26286 0.44350 0.45143 0.45107 0.68571 0.45750 " -"0.41587 0.47714 0.23787 0.48857 0.74498 0.52286 0.36359 0.55143 0.21522 0.55714 " -"0.92680 0.56286 0.76571 0.57009 0.34437 0.63143 0.77823 0.63714 0.20462 0.69429 " -"0.77866 0.69429 0.91236 0.70000 0.35429 0.74118 0.76571 0.76404 0.21756 0.77429 " -"0.38286 0.80921 0.87343 0.82571 0.40759 0.84286 0.72571 0.84118 0.24527 0.84857 " -"0.69143 0.87527 0.84000 0.88221 0.47429 0.89641 0.28571 0.90975 0.63429 0.90784 " -"0.54857 0.91866 0.33143 0.95527 0.76000 0.96331 0.39629 0.99714 0.68571 1.00437 " -"0.49714 1.02723 0.57714 1.02991 72 3 8 1 2 11 4 0 7 2 " -"8 3 12 4 14 6 0 1 8 6 17 " -"13 10 2 7 7 0 8 5 12 3 " -"12 5 16 2 10 11 4 11 14 5 9 " -"16 18 13 19 16 15 20 15 23 20 " -"6 14 17 13 17 19 21 23 15 22 20 " -"23 23 24 30 16 9 15 23 21 24 " -"25 32 26 27 32 25 38 28 26 43 41 " -"37 34 29 39 33 26 32 29 34 27 " -"30 36 35 34 32 27 36 30 24 28 38 " -"31 31 38 37 35 39 29 38 26 33 " -"39 35 42 42 35 36 40 37 38 44 41 " -"43 42 36 46 44 47 49 43 37 40 " -"48 46 45 36 45 46 51 50 48 52 54 " -"49 47 44 43 50 51 53 51 48 45 " -"59 54 52 59 55 63 52 49 47 53 61 " -"58 56 53 51 55 59 52 53 56 61 " -"66 63 57 55 57 63 62 68 57 58 67 " -"60 67 58 61 68 66 57 60 69 64 " -"68 62 70 60 67 69 64 71 65 65 70 " -"62 70 65 71 64 69 71 " -; - -char *VTK_VECTOR_TEXT_58 = (char *) "14 0.432768 " -"0.28571 -0.07295 0.42857 -0.07186 0.28000 -0.06878 0.43277 -0.06571 0.27957 0.07714 " -"0.28571 0.08134 0.42857 0.08025 0.27957 0.57429 0.28571 0.57009 0.43168 0.57429 " -"0.27848 0.71714 0.43277 0.71714 0.28265 0.72286 0.42857 0.72329 10 " -"2 5 4 2 0 5 0 3 5 6 5 " -"3 0 1 3 7 8 10 10 11 13 " -"9 10 8 12 10 13 11 10 9 " -; - -char *VTK_VECTOR_TEXT_59 = (char *) "18 0.432768 " -"0.30857 -0.28726 0.36571 -0.25275 0.27323 -0.23714 0.39543 -0.22000 0.32384 -0.19143 " -"0.33756 -0.16857 0.42327 -0.15714 0.43277 -0.10000 0.35472 -0.07714 0.28571 -0.07295 " -"0.34857 -0.07295 0.28000 -0.06878 0.27957 0.07714 0.43168 0.07714 0.27957 0.57429 " -"0.43168 0.57429 0.28265 0.72286 0.42857 0.72329 14 2 1 4 5 4 3 0 1 " -"2 5 6 8 3 4 1 6 5 3 " -"6 7 8 11 10 12 12 10 13 8 7 " -"10 11 9 10 13 10 7 17 16 15 " -"15 16 14 " -; - -char *VTK_VECTOR_TEXT_60 = (char *) "11 0.952690 " -"0.94857 0.09939 0.95269 0.10571 0.95236 0.22571 0.22894 0.40857 0.38919 0.46571 " -"0.38919 0.47143 0.22748 0.52857 0.23192 0.53429 0.95098 0.70571 0.95216 0.83143 " -"0.94857 0.83523 9 4 0 2 5 7 6 4 3 0 0 1 2 7 " -"8 10 4 5 3 5 6 3 8 9 10 7 5 8 " -; - -char *VTK_VECTOR_TEXT_61 = (char *) "12 0.952768 " -"0.22857 0.23975 0.94857 0.23975 0.22437 0.35714 0.95277 0.35714 0.22857 0.36329 " -"0.94857 0.36329 0.22857 0.57385 0.94857 0.57385 0.22437 0.58000 0.95277 0.58000 " -"0.22857 0.69740 0.94857 0.69740 8 0 4 " -"2 0 1 5 4 0 5 3 5 1 " -"11 7 9 10 6 7 10 7 11 8 6 " -"10 " -; - -char *VTK_VECTOR_TEXT_62 = (char *) "11 0.952360 " -"0.23429 0.09914 0.22857 0.10169 0.22748 0.22571 0.23192 0.23143 0.95116 0.40857 " -"0.79073 0.46571 0.79073 0.47143 0.95236 0.52857 0.22897 0.70571 0.22857 0.83287 " -"0.23429 0.83563 9 1 0 2 3 2 0 3 0 5 4 7 5 4 " -"5 0 6 5 7 6 10 8 8 10 9 10 6 7 " -; - -char *VTK_VECTOR_TEXT_63 = (char *) "45 0.918074 " -"0.47429 -0.07186 0.62021 -0.07143 0.47118 0.07714 0.62329 0.07714 0.49979 0.19714 " -"0.62021 0.19714 0.49563 0.20286 0.49563 0.27714 0.63681 0.31714 0.50816 0.34571 " -"0.65714 0.36350 0.53669 0.41429 0.70857 0.42384 0.57868 0.47143 0.82857 0.53597 " -"0.86902 0.58571 0.73258 0.62000 0.90437 0.65429 0.76086 0.66000 0.77522 0.70000 " -"0.91580 0.70000 0.34857 0.71338 0.21034 0.73429 0.77866 0.75143 0.91807 0.76857 " -"0.22605 0.80857 0.76571 0.80375 0.38286 0.82144 0.73714 0.85191 0.25098 0.87143 " -"0.89143 0.86730 0.43597 0.88857 0.86812 0.90571 0.67429 0.90616 0.48571 0.91800 " -"0.62857 0.92538 0.29296 0.93429 0.54857 0.93277 0.81143 0.96670 0.35429 0.98821 " -"0.76571 0.99800 0.44571 1.02891 0.69714 1.02680 0.53143 1.04395 0.60000 1.04437 41 2 1 3 2 0 1 7 6 4 7 4 5 8 9 7 11 10 13 8 " -"7 5 8 10 11 9 8 11 13 12 16 12 13 10 14 16 12 14 15 16 16 " -"15 18 17 18 15 17 23 19 17 19 18 20 23 17 29 27 36 26 32 28 21 " -"25 22 26 23 24 27 29 25 24 23 20 36 31 39 28 40 33 30 26 24 35 " -"44 37 31 36 27 27 25 21 31 34 41 42 33 40 28 38 40 39 31 41 38 " -"28 32 26 30 32 42 35 33 41 34 43 43 37 44 34 37 43 44 35 42 " -; - -char *VTK_VECTOR_TEXT_64 = (char *) "114 1.632597 " -"0.92571 -0.39563 1.16571 -0.38109 0.74857 -0.37236 0.65143 -0.34613 1.33143 -0.33070 " -"0.54286 -0.29914 0.86286 -0.27866 1.06286 -0.28134 1.45650 -0.26000 0.73714 -0.25387 " -"1.21143 -0.25387 0.43429 -0.22384 0.62286 -0.21216 1.32144 -0.20857 1.55582 -0.17429 " -"0.53714 -0.16099 0.52571 -0.15258 0.53143 -0.15669 0.33714 -0.11650 1.45143 -0.11561 " -"0.46286 -0.09260 0.80000 -0.07295 1.20571 -0.07252 1.09714 -0.06891 0.71429 -0.06252 " -"1.49714 -0.06187 1.63260 -0.06000 0.29629 -0.04857 1.29714 -0.04498 0.90857 -0.03629 " -"1.03384 -0.02571 0.62857 -0.01582 0.40486 -0.00857 0.59429 0.01873 1.41143 0.03296 " -"0.82857 0.03907 0.77714 0.04327 1.01143 0.04414 1.20000 0.05050 1.16989 0.06571 " -"1.25143 0.06086 0.90857 0.06821 0.72000 0.07561 0.54771 0.09429 1.15580 0.09429 " -"0.24420 0.10000 0.35748 0.11143 0.96000 0.10725 0.68527 0.11714 1.33841 0.11714 " -"1.51579 0.15714 0.66177 0.17429 1.41355 0.20286 1.03514 0.20857 0.65295 0.23143 " -"0.22437 0.23714 0.51277 0.23714 0.33563 0.24857 1.45355 0.27714 1.07177 0.31143 " -"1.58478 0.31143 0.65966 0.32857 1.48319 0.36857 0.53184 0.39714 0.23277 0.40286 " -"0.34478 0.40857 1.60420 0.42571 1.08420 0.44286 0.71514 0.48857 0.25184 0.49429 " -"1.49295 0.49429 0.57229 0.50000 1.60109 0.52857 1.05714 0.54144 0.75846 0.55143 " -"0.38645 0.55714 1.47681 0.58571 1.01143 0.59527 0.81714 0.60331 1.58605 0.60857 " -"1.12878 0.61429 0.65714 0.62418 0.86286 0.62319 0.96571 0.62151 0.92571 0.62991 " -"0.42857 0.64350 1.44571 0.66730 0.32359 0.67714 1.06048 0.68286 0.74857 0.69641 " -"1.15429 0.71588 1.28235 0.71714 1.00571 0.71800 0.82857 0.73109 0.92000 0.74152 " -"1.52657 0.75143 0.51275 0.75714 0.37669 0.76286 1.38286 0.76132 0.59493 0.82571 " -"1.30857 0.82821 1.45561 0.84857 0.47429 0.87296 0.73143 0.89681 1.18286 0.89580 " -"1.08571 0.92395 1.37143 0.92400 0.92000 0.93580 0.58286 0.95188 1.30857 0.96371 " -"0.71429 1.00899 1.18286 1.01470 0.92000 1.04437 1.01143 1.04395 114 0 6 2 1 7 0 6 0 7 " -"7 1 10 2 9 3 3 12 5 9 2 " -"6 10 4 13 4 10 1 15 5 12 " -"5 15 11 13 8 19 12 3 9 8 13 " -"4 11 20 18 11 15 16 17 16 15 " -"14 19 8 26 25 14 20 11 16 22 38 " -"23 25 19 14 23 39 30 30 39 37 " -"27 46 45 18 32 27 32 18 20 21 36 " -"24 35 29 41 24 42 31 29 35 21 " -"22 28 40 38 22 40 34 49 40 33 31 " -"48 36 21 35 37 47 41 33 48 43 " -"43 51 56 44 37 39 34 40 28 47 37 " -"53 50 52 34 38 39 23 52 49 34 " -"37 44 53 27 32 46 42 24 36 48 31 " -"42 37 41 29 45 57 55 53 44 59 " -"51 54 56 52 50 58 58 60 62 43 48 " -"51 45 46 57 56 61 63 64 55 57 " -"91 80 44 60 58 50 62 66 70 56 54 " -"61 44 80 67 59 44 67 71 63 61 " -"64 65 69 67 80 73 65 64 57 66 62 " -"60 68 71 61 71 68 81 69 75 87 " -"72 70 66 74 81 68 77 73 80 70 79 " -"76 75 69 65 83 77 88 87 85 97 " -"81 74 89 89 78 93 86 76 79 70 72 " -"79 74 78 89 88 77 80 75 85 87 " -"82 84 94 91 90 80 86 95 98 78 82 " -"93 92 83 88 93 82 94 84 83 92 " -"94 84 92 97 96 102 95 86 79 102 99 " -"108 95 101 98 96 97 85 96 99 102 " -"98 101 100 103 108 99 100 109 104 106 100 " -"101 108 103 110 105 113 107 100 106 109 " -"104 111 105 107 112 110 111 104 109 113 105 " -"111 112 107 113 107 110 103 " -; - -char *VTK_VECTOR_TEXT_65 = (char *) "13 1.155731 " -"0.14455 -0.07143 1.00000 -0.07252 1.15573 -0.07143 0.29143 -0.07103 0.40981 0.25429 " -"0.86857 0.25754 0.45714 0.37713 0.82478 0.38000 0.45462 0.38571 0.58538 0.73429 " -"0.63429 0.90068 0.56000 1.02454 0.71429 1.02644 13 5 " -"1 2 0 8 11 6 4 5 12 10 7 0 3 4 0 4 8 6 5 7 6 " -"8 4 7 5 2 8 9 11 9 10 11 12 7 2 11 10 12 " -; - -char *VTK_VECTOR_TEXT_66 = (char *) "48 1.081090 " -"0.25714 -0.07186 0.78286 -0.06723 0.86857 -0.04899 0.93714 -0.02045 1.00725 0.03714 " -"0.39957 0.06000 0.73143 0.05621 0.80571 0.06891 1.04213 0.08857 0.87555 0.10571 " -"1.06437 0.14000 0.91070 0.15143 1.08109 0.22000 0.93295 0.22571 0.93252 0.26571 " -"1.07177 0.32286 0.90857 0.34064 1.04616 0.38571 0.86857 0.38686 0.79429 0.42252 " -"0.39957 0.43143 1.01296 0.43143 0.69714 0.43563 0.97143 0.46686 0.88197 0.51143 " -"0.40571 0.56437 0.72000 0.56705 0.39848 0.57429 0.96956 0.58571 0.80571 0.58930 " -"0.84686 0.62000 0.99641 0.62571 0.86943 0.65429 1.02437 0.70571 0.88420 0.71143 " -"1.02665 0.76857 0.87429 0.79232 1.01673 0.82000 0.84000 0.84984 0.77714 0.88538 " -"0.98607 0.88857 0.39957 0.89429 0.71429 0.89580 0.93143 0.95296 0.85714 0.99756 " -"0.80000 1.01470 0.25714 1.02615 0.70857 1.02680 50 1 6 0 2 7 1 " -"0 20 46 7 2 9 1 7 6 20 27 " -"46 9 4 11 4 9 3 2 3 9 " -"11 10 13 8 11 4 10 11 8 12 13 " -"10 14 17 16 14 15 17 16 21 18 " -"14 13 12 15 14 12 23 18 21 5 0 " -"6 19 26 22 18 24 19 16 17 21 " -"24 18 23 26 19 29 19 24 29 25 22 " -"26 22 25 20 30 29 24 32 28 31 " -"28 32 30 32 31 34 0 5 20 34 35 " -"36 33 34 31 28 30 24 36 40 38 " -"38 44 39 35 37 36 34 33 35 25 27 " -"20 27 41 46 40 36 37 43 38 40 " -"39 45 42 42 47 41 38 43 44 45 39 " -"44 47 46 41 47 42 45 " -; - -char *VTK_VECTOR_TEXT_67 = (char *) "56 1.186046 " -"0.69143 -0.08966 0.80000 -0.08705 0.60000 -0.07823 0.50857 -0.05070 0.93143 -0.05216 " -"0.45714 -0.02486 1.00000 -0.01473 0.39597 0.02000 0.69714 0.03563 0.74857 0.03563 " -"0.62286 0.04899 0.82286 0.04899 1.08000 0.05597 0.57143 0.06784 0.88000 0.07229 " -"0.32571 0.10064 0.93143 0.10759 0.49143 0.11901 1.13800 0.14000 0.45600 0.15714 " -"0.28930 0.16286 0.99641 0.18571 0.41502 0.22571 1.18605 0.27714 0.24319 0.28857 " -"1.04571 0.31105 0.38244 0.32857 0.22748 0.36286 0.36723 0.44286 0.21866 0.52857 " -"0.36991 0.55714 0.22705 0.60857 1.02857 0.69469 0.40657 0.71143 1.16694 0.72857 " -"0.26286 0.74089 0.44187 0.78000 1.13927 0.80857 0.97143 0.80914 0.48000 0.82725 " -"0.31750 0.84286 0.93714 0.85011 0.53143 0.86784 0.89143 0.88331 1.07582 0.90571 " -"0.64000 0.91252 0.64571 0.91335 0.65714 0.91563 0.38286 0.91868 0.78857 0.91823 " -"1.00571 0.96902 0.50286 0.99756 0.93143 1.01070 0.58286 1.02680 0.70286 1.04705 " -"0.80000 1.04437 54 " -"1 9 0 0 8 2 14 6 16 4 14 " -"11 24 20 22 7 17 15 2 10 3 " -"8 10 2 9 1 11 0 9 8 4 11 " -"1 3 13 5 12 16 6 10 13 3 " -"5 13 7 7 13 17 22 20 15 16 12 " -"21 14 4 6 19 15 17 23 25 18 " -"22 15 19 25 21 18 18 21 12 27 28 " -"29 27 24 26 26 24 22 28 27 26 " -"29 30 31 30 29 28 33 35 31 35 33 " -"40 33 31 30 34 37 32 48 42 51 " -"36 40 33 40 36 48 38 44 41 44 38 " -"37 32 37 38 48 39 42 36 39 48 " -"54 53 47 45 51 42 49 43 52 50 41 " -"44 47 45 46 41 50 43 45 53 51 " -"49 54 47 53 45 47 49 55 54 55 49 " -"52 52 43 50 " -; - -char *VTK_VECTOR_TEXT_68 = (char *) "34 1.167232 " -"0.26286 -0.07186 0.70286 -0.07252 0.80000 -0.06109 0.89714 -0.03355 0.99555 0.02571 " -"0.40528 0.06000 0.72571 0.05891 1.03582 0.06571 0.79547 0.07143 0.88000 0.10893 " -"1.08150 0.12857 0.92115 0.14571 0.96657 0.21429 1.13966 0.26571 0.99470 0.28857 " -"1.16420 0.39714 1.01823 0.43714 1.16723 0.52857 1.01823 0.53429 1.15277 0.64286 " -"1.00000 0.65848 0.97714 0.72375 1.11216 0.77429 0.94286 0.78057 0.87429 0.84902 " -"1.06607 0.85429 0.81714 0.87865 0.40528 0.89429 0.69143 0.89807 0.97714 0.94616 " -"0.90857 0.98657 0.81143 1.01580 0.26286 1.02615 0.70286 1.02680 34 2 6 1 5 0 1 " -"8 3 9 3 8 2 0 27 32 6 2 " -"8 5 1 6 4 7 11 4 9 3 " -"9 4 11 11 10 12 11 7 10 13 14 " -"12 14 15 16 13 12 10 16 17 18 " -"14 13 15 18 19 20 17 16 15 18 17 " -"19 22 21 20 21 22 23 29 24 23 " -"22 20 19 26 24 30 0 5 27 25 23 " -"22 29 23 25 30 24 29 26 31 28 " -"31 26 30 33 32 27 28 33 27 33 28 " -"31 " -; - -char *VTK_VECTOR_TEXT_69 = (char *) "15 1.080000 " -"0.26857 -0.07186 1.08000 -0.06878 1.08000 0.05164 0.41100 0.06000 0.41100 0.42571 " -"1.01143 0.43100 1.01563 0.55143 0.41714 0.55866 1.01143 0.55757 0.40991 0.56857 " -"0.41100 0.89429 1.05143 0.89957 1.05563 1.02000 0.26857 1.02615 1.05143 1.02615 13 0 4 13 1 3 0 1 2 3 0 " -"3 4 7 5 8 5 7 4 6 8 5 4 9 13 7 9 4 9 10 13 11 " -"14 10 14 13 10 12 14 11 " -; - -char *VTK_VECTOR_TEXT_70 = (char *) "12 1.005714 " -"0.26857 -0.07186 0.40571 -0.07186 0.40991 0.42000 0.41714 0.42723 0.92615 0.43143 " -"0.92615 0.55143 0.41714 0.55563 0.40991 0.56286 0.41100 0.89429 1.00571 0.90265 " -"1.00571 1.02307 0.26857 1.02615 10 0 2 " -"11 2 7 11 2 0 1 6 4 5 " -"4 6 3 3 6 2 7 2 6 7 8 " -"11 11 8 10 8 9 10 " -; - -char *VTK_VECTOR_TEXT_71 = (char *) "60 1.234286 " -"0.82286 -0.08966 0.65714 -0.07866 0.93143 -0.07335 0.56571 -0.05387 1.05143 -0.03355 " -"0.48000 -0.01514 1.12000 0.00073 0.74286 0.03866 0.83429 0.04177 0.38857 0.05044 " -"0.65143 0.05470 0.92571 0.06319 1.23260 0.07714 0.34857 0.09302 0.54286 0.10150 " -"1.03429 0.11229 0.50286 0.13044 1.09252 0.15714 0.44421 0.19714 0.27429 0.21629 " -"0.24252 0.31143 0.39320 0.31143 0.77714 0.36243 1.09143 0.35773 0.22748 0.39714 " -"0.37605 0.40286 0.77295 0.48286 0.77714 0.48900 1.23429 0.48900 0.22437 0.51143 " -"0.37295 0.51714 0.23320 0.59143 0.39748 0.65429 1.09143 0.68617 1.08571 0.69099 " -"0.42073 0.71714 1.21977 0.72286 0.27387 0.73429 1.06286 0.75301 0.30645 0.80286 " -"0.47616 0.80286 1.02286 0.82127 1.18498 0.82571 0.54286 0.86150 0.34857 0.86629 " -"0.94286 0.88371 1.14857 0.88793 0.61143 0.89580 0.86286 0.91184 0.40168 0.92286 " -"0.70857 0.91866 0.80000 0.92134 1.09714 0.94384 0.45714 0.96436 0.53714 1.00498 " -"1.00000 1.00371 0.93714 1.02613 0.62857 1.03252 0.73714 1.04705 0.84571 1.04395 58 0 7 1 14 5 3 5 14 " -"9 2 8 0 1 10 3 0 8 7 " -"8 2 11 18 13 9 17 6 12 10 1 " -"7 4 11 2 13 18 19 23 17 12 " -"15 6 17 4 6 15 16 9 14 11 4 " -"15 14 3 10 19 21 20 18 9 16 " -"30 31 29 23 27 22 25 24 20 22 27 " -"26 21 19 18 25 20 21 23 28 27 " -"28 23 12 29 24 25 30 29 25 31 32 " -"37 38 33 36 37 32 39 32 31 30 " -"35 39 32 34 33 38 39 40 44 38 46 " -"41 38 42 46 40 39 35 44 40 49 " -"53 43 54 43 49 40 42 38 36 43 47 " -"54 52 41 46 41 52 45 43 53 49 " -"54 47 57 50 57 47 45 56 48 55 45 " -"52 48 59 51 57 50 58 50 51 58 " -"56 45 55 58 51 59 59 48 56 " -; - -char *VTK_VECTOR_TEXT_72 = (char *) "16 1.125714 " -"0.26857 -0.07186 0.40571 -0.07186 0.98857 -0.07295 0.98286 -0.06878 1.12571 -0.06878 " -"0.40991 0.43714 0.41714 0.44437 0.97714 0.44329 0.41714 0.57277 0.97714 0.57385 " -"0.40991 0.58000 0.98550 1.02571 1.12571 1.02307 0.26857 1.02615 0.40571 1.02615 " -"1.12000 1.02723 14 4 9 7 0 5 13 5 10 13 " -"5 0 1 8 7 9 9 4 11 10 5 " -"8 6 8 5 4 3 2 7 8 6 " -"14 13 10 12 15 11 3 4 7 4 12 " -"11 " -; - -char *VTK_VECTOR_TEXT_73 = (char *) "4 0.428571 " -"0.42592 -0.07143 0.28571 -0.06878 0.28836 1.02571 0.42857 1.02307 2 1 3 2 3 1 0 " -; - -char *VTK_VECTOR_TEXT_74 = (char *) "27 0.790089 " -"0.45143 -0.09009 0.50857 -0.09009 0.37714 -0.07756 0.58404 -0.07714 0.33143 -0.06086 " -"0.64000 -0.05641 0.26489 -0.01429 0.71429 -0.00117 0.46286 0.03866 0.53714 0.04706 " -"0.74902 0.04857 0.41714 0.04899 0.57772 0.06571 0.21143 0.06772 0.37016 0.07714 " -"0.34498 0.11143 0.77252 0.11143 0.62371 0.11714 0.18705 0.16286 0.32462 0.17429 " -"0.64420 0.22571 0.79009 0.23143 0.18546 0.23714 0.31472 0.25429 0.64836 1.02571 " -"0.78857 1.02307 0.78286 1.02723 25 10 " -"12 7 4 2 11 0 1 8 3 8 1 11 2 8 0 8 2 8 3 9 9 " -"3 12 4 14 6 7 12 5 3 5 12 6 15 13 12 10 17 14 4 11 13 " -"19 18 6 14 15 22 19 23 17 16 20 13 15 19 16 17 10 22 18 19 21 " -"20 16 20 21 24 25 26 24 21 25 24 " -; - -char *VTK_VECTOR_TEXT_75 = (char *) "17 1.155019 " -"0.25714 -0.07186 0.39429 -0.07186 1.15502 -0.07143 0.97143 -0.07140 0.89527 0.28857 " -"0.89143 0.29371 0.89098 0.29429 0.39848 0.30000 0.57714 0.47913 0.40000 0.49126 " -"0.68956 0.56857 0.68571 0.57371 0.68527 0.57429 1.13216 1.02571 0.25714 1.02615 " -"0.39429 1.02615 0.94857 1.02680 15 0 9 14 0 7 9 3 10 8 3 6 10 9 8 16 4 5 6 7 " -"0 1 3 4 6 16 8 12 10 11 12 4 3 2 8 10 12 9 7 8 13 " -"16 12 15 14 9 " -; - -char *VTK_VECTOR_TEXT_76 = (char *) "7 0.941339 " -"0.25714 -0.07186 0.93714 -0.07186 0.94134 0.04857 0.39957 0.06000 0.93714 0.05472 " -"0.25714 1.02615 0.39429 1.02615 5 3 0 1 0 3 5 2 4 1 3 1 4 6 5 3 " -; - -char *VTK_VECTOR_TEXT_77 = (char *) "19 1.302857 " -"0.39164 -0.07143 0.71429 -0.07186 1.17143 -0.07295 0.25714 -0.06878 0.84000 -0.06947 " -"1.16571 -0.06878 1.30286 -0.06878 0.78286 0.09751 0.78857 0.09751 1.16000 0.83018 " -"0.40000 0.84467 0.52151 0.88286 0.52000 0.88739 0.51748 0.89429 0.47580 1.02000 " -"0.25979 1.02571 1.11429 1.02285 1.30286 1.02307 0.46857 1.02680 17 3 10 15 5 6 9 6 " -"5 2 1 11 10 4 8 1 1 7 11 9 16 8 1 8 7 9 8 4 10 " -"18 15 13 11 12 10 3 0 10 13 18 16 9 17 10 11 13 13 14 18 6 " -"17 9 " -; - -char *VTK_VECTOR_TEXT_78 = (char *) "14 1.125714 " -"0.26286 -0.07186 0.39429 -0.07186 0.98286 -0.07295 1.12571 -0.06878 0.98286 0.17231 " -"0.72045 0.31143 0.71678 0.31714 0.72000 0.31207 0.40000 0.78092 0.99122 1.02571 " -"1.12571 1.02307 0.26286 1.02615 0.40571 1.02644 1.12000 1.02723 12 " -"0 8 11 8 0 1 4 3 9 3 4 " -"2 4 5 2 6 7 5 12 6 4 " -"4 6 5 6 12 8 10 13 9 8 12 " -"11 3 10 9 " -; - -char *VTK_VECTOR_TEXT_79 = (char *) "63 1.267054 " -"0.70286 -0.08966 0.77714 -0.08966 0.61143 -0.07605 0.89714 -0.06823 0.97143 -0.04073 " -"0.49143 -0.03229 1.05650 0.00857 0.42286 0.01107 0.70857 0.03605 0.77143 0.03605 " -"0.63429 0.04899 0.84571 0.04899 1.12725 0.07143 0.35044 0.07714 0.92716 0.08286 " -"0.54857 0.08535 0.49143 0.12704 1.17465 0.13429 1.01296 0.15143 0.28571 0.17016 " -"0.43955 0.18571 1.21184 0.20286 0.40784 0.23714 1.08086 0.26000 1.24613 0.30000 " -"0.23109 0.31143 1.10665 0.34571 0.36764 0.36857 0.21295 0.43143 1.11848 0.43714 " -"1.26705 0.43714 0.36193 0.51143 1.11848 0.51714 0.21563 0.54571 0.36991 0.59143 " -"1.25522 0.61429 1.09966 0.63714 0.23236 0.64857 1.23681 0.68857 1.07070 0.71714 " -"0.41143 0.73016 0.26645 0.75143 1.20486 0.76857 0.45561 0.79714 1.02286 0.79270 " -"0.98857 0.82956 0.31429 0.83650 1.16045 0.84286 0.53143 0.86150 0.92000 0.87800 " -"0.35582 0.88857 0.63429 0.90764 0.85143 0.90613 1.10286 0.90956 0.71429 0.92134 " -"0.79429 0.91866 0.43493 0.95714 1.04000 0.95964 0.52000 1.00498 0.96000 1.00327 " -"0.89714 1.02613 0.63429 1.03866 0.77714 1.04705 63 0 8 2 1 9 0 8 10 2 2 10 5 9 1 11 5 " -"16 7 11 3 14 3 11 1 3 4 14 6 14 4 7 16 13 10 15 5 0 " -"9 8 16 5 15 14 6 18 13 20 19 12 18 6 18 17 23 17 21 23 20 " -"22 19 18 12 17 23 21 26 25 19 22 13 16 20 25 27 28 27 25 22 21 " -"24 26 30 29 26 32 35 36 30 26 24 33 34 37 32 29 30 28 31 33 31 " -"28 27 34 33 31 36 38 39 35 32 30 41 37 34 38 42 39 41 40 46 35 " -"38 36 39 47 44 40 43 46 53 45 44 46 43 50 45 57 49 40 41 34 56 " -"50 43 49 59 52 48 56 43 57 45 53 53 44 47 56 48 58 39 42 47 58 " -"51 61 59 49 57 51 58 48 55 52 60 62 54 55 59 60 52 61 54 62 54 " -"61 51 62 55 60 " -; - -char *VTK_VECTOR_TEXT_80 = (char *) "31 1.098661 " -"0.26286 -0.07186 0.40000 -0.07186 0.40420 0.36857 0.41143 0.37580 0.73714 0.37621 " -"0.88571 0.40034 0.98343 0.44857 0.41143 0.50420 0.72571 0.50420 0.40420 0.51143 " -"1.04045 0.51143 0.82947 0.52286 0.88571 0.55296 0.91678 0.58571 1.08252 0.59714 " -"0.93966 0.63143 1.09866 0.68286 0.94966 0.72857 0.93355 0.79143 1.08530 0.80857 " -"0.90857 0.83270 0.86857 0.86893 1.05927 0.87143 0.40528 0.89429 0.82286 0.88899 " -"0.74857 0.89807 1.02439 0.92286 0.96000 0.97641 0.89143 1.00538 0.26286 1.02615 " -"0.74286 1.02680 31 0 9 29 0 2 9 2 7 9 7 3 8 12 11 5 5 11 4 4 " -"8 3 3 7 2 2 0 1 11 8 4 13 12 6 10 13 6 6 12 5 14 " -"15 10 15 14 17 13 10 15 16 17 14 17 19 18 19 17 16 18 19 20 20 " -"27 21 22 20 19 9 23 29 30 25 24 25 30 23 27 20 26 20 22 26 28 " -"24 21 28 21 27 30 29 23 30 24 28 " -; - -char *VTK_VECTOR_TEXT_81 = (char *) "66 1.276398 " -"1.23429 -0.15444 1.13714 -0.11188 0.76571 -0.09009 0.64571 -0.08437 0.84000 -0.08034 " -"0.58286 -0.07034 1.27640 -0.06000 0.93143 -0.05470 0.46857 -0.02322 1.00000 -0.02293 " -"0.38857 0.03330 0.76000 0.03563 0.68000 0.03866 0.83547 0.04857 1.09814 0.04857 " -"0.61714 0.05177 0.87591 0.06571 0.55429 0.07800 0.80000 0.10784 0.49143 0.12132 " -"0.30857 0.12350 0.74115 0.12857 0.98286 0.13189 1.17355 0.14571 0.42857 0.19207 " -"0.86857 0.19927 0.26286 0.20486 1.05355 0.22000 0.77714 0.23134 0.39277 0.26000 " -"1.23177 0.27714 0.23387 0.28286 1.08823 0.30571 0.36420 0.36286 0.20991 0.40286 " -"0.35580 0.43714 1.25866 0.43714 1.11009 0.44286 0.20723 0.51714 1.25252 0.58000 " -"0.36420 0.59714 1.09823 0.60857 0.23470 0.67714 0.38857 0.68947 1.21184 0.73429 " -"1.05143 0.73841 0.42902 0.76857 0.28821 0.80286 1.00571 0.80413 1.17188 0.81429 " -"0.96000 0.84670 0.51429 0.85473 0.34473 0.88286 1.12000 0.88413 0.57714 0.89070 " -"0.88571 0.89070 0.64571 0.91252 0.76571 0.92093 0.42857 0.95759 1.03429 0.95864 " -"0.50286 0.99927 0.96571 0.99800 0.60000 1.03252 0.86857 1.03184 0.69714 1.04705 " -"0.77143 1.04665 66 0 6 1 " -"13 7 16 14 9 1 9 16 7 3 15 " -"5 16 9 14 11 4 13 11 2 4 " -"7 13 4 12 3 11 2 11 3 15 3 " -"12 5 17 8 8 19 10 10 19 20 " -"14 1 6 5 15 17 20 29 26 19 8 " -"17 21 18 28 22 16 14 16 25 18 " -"22 14 27 24 20 19 16 22 25 26 29 " -"31 18 25 28 14 23 27 27 30 32 " -"30 27 23 31 33 34 20 24 29 37 32 " -"30 33 31 29 34 33 38 36 37 30 " -"35 38 33 37 39 41 38 40 42 37 36 " -"39 41 44 45 40 38 35 42 43 47 " -"44 41 39 46 47 43 43 42 40 47 46 " -"52 45 49 48 59 50 48 52 51 58 " -"53 48 49 61 50 59 50 61 55 58 51 " -"60 51 52 46 49 45 44 59 48 53 " -"57 64 56 60 54 62 55 63 57 51 54 " -"60 54 56 62 62 56 64 63 55 61 " -"63 65 57 57 65 64 " -; - -char *VTK_VECTOR_TEXT_82 = (char *) "46 1.225355 " -"0.26857 -0.07186 0.40571 -0.07186 1.05143 -0.07215 1.22359 -0.07143 1.22535 -0.06571 " -"1.17465 0.01429 1.17143 0.01936 1.17098 0.02000 0.84571 0.24343 1.00571 0.27650 " -"0.76571 0.34698 0.91832 0.37429 0.73143 0.37678 0.40991 0.40857 0.68000 0.40437 " -"0.41714 0.41580 0.62286 0.41538 0.84226 0.42571 0.92571 0.44706 0.99429 0.47502 " -"1.07582 0.54000 0.41714 0.54420 0.40991 0.55143 0.80000 0.54764 0.88000 0.56538 " -"1.11641 0.60286 0.94286 0.60439 0.96784 0.63714 1.13823 0.67714 0.98966 0.69429 " -"0.99277 0.74571 1.14134 0.75143 0.97143 0.81493 1.12823 0.82000 0.93143 0.86115 " -"1.10498 0.87714 0.89143 0.88498 0.40991 0.90000 0.41714 0.90723 0.78857 0.90723 " -"1.07011 0.92857 1.01714 0.97579 0.97143 0.99865 0.87429 1.02109 0.26857 1.02615 " -"0.80571 1.02723 46 2 9 8 3 5 2 0 37 " -"44 5 7 2 5 6 7 3 4 5 " -"2 7 9 18 23 17 11 8 9 8 11 " -"10 0 22 37 11 17 10 21 16 23 " -"21 15 16 23 10 17 19 24 18 23 18 " -"24 23 12 10 15 21 13 0 21 22 " -"16 14 23 23 14 12 20 26 19 26 20 " -"27 24 19 26 27 25 29 28 30 29 " -"31 30 28 25 27 20 30 33 32 28 29 " -"25 33 30 31 32 40 34 35 32 33 " -"0 1 13 0 13 21 41 34 40 43 36 " -"42 38 39 45 32 35 40 42 34 41 " -"34 42 36 36 43 39 44 38 45 43 45 " -"39 37 38 44 " -; - -char *VTK_VECTOR_TEXT_83 = (char *) "69 1.081090 " -"0.71429 -0.08966 0.53714 -0.07866 0.82286 -0.07101 0.46286 -0.05959 0.38857 -0.02616 " -"0.94286 -0.01678 0.33714 0.01044 0.64000 0.03866 0.73143 0.04177 1.00571 0.03883 " -"0.56000 0.05177 0.28527 0.06571 0.50857 0.06930 0.83587 0.07143 1.04086 0.08857 " -"0.88127 0.10000 0.43429 0.11330 0.24486 0.13429 0.92613 0.15714 1.07177 0.16286 " -"0.38771 0.16857 0.94134 0.21429 0.36319 0.22571 0.21563 0.23714 1.08109 0.26571 " -"0.21403 0.27714 0.93294 0.27714 0.34857 0.28916 0.91011 0.31714 1.06816 0.32857 " -"0.84000 0.36943 1.04486 0.38000 0.76571 0.39673 0.98286 0.45241 0.53143 0.45748 " -"0.42857 0.49343 0.92571 0.49070 0.37143 0.52535 0.82857 0.53109 0.31044 0.58000 " -"0.53143 0.60899 0.43429 0.65616 0.26244 0.67143 0.39891 0.71143 0.90857 0.71084 " -"0.25295 0.72286 1.04615 0.72286 0.39320 0.76857 0.40359 0.80857 1.03109 0.81429 " -"0.26327 0.82000 0.87429 0.81493 0.45143 0.86956 0.82286 0.87258 0.28930 0.88286 " -"0.98812 0.90000 0.50857 0.90041 0.76571 0.90151 0.57714 0.91563 0.67429 0.91866 " -"0.95443 0.94000 0.35429 0.96099 0.89143 0.98784 0.40000 0.99188 0.83429 1.01470 " -"0.50286 1.03184 0.74857 1.03823 0.57143 1.04437 0.67429 1.04705 67 2 " -"8 0 0 7 1 6 4 16 6 16 11 0 8 7 7 10 1 8 2 13 5 " -"15 13 1 10 3 10 12 3 9 15 5 4 3 12 15 14 18 5 13 2 14 " -"15 9 16 4 12 21 24 26 18 19 21 11 20 17 20 11 16 17 22 23 19 " -"18 14 22 17 20 25 23 27 23 22 27 24 21 19 26 31 28 28 33 30 24 " -"29 26 30 38 32 26 29 31 34 32 38 33 28 31 34 40 35 33 36 30 39 " -"43 42 38 30 36 41 37 35 40 34 38 37 41 39 41 35 40 50 48 54 39 " -"41 43 44 46 49 45 42 43 45 47 50 48 50 47 60 51 55 47 45 43 51 " -"60 53 54 48 61 44 49 51 55 51 49 48 52 61 56 63 52 57 66 59 61 " -"52 63 63 56 65 62 53 60 53 64 57 53 62 64 59 66 58 65 58 67 58 " -"65 56 66 57 64 67 58 68 68 58 66 " -; - -char *VTK_VECTOR_TEXT_84 = (char *) "8 1.045714 " -"0.54286 -0.07186 0.68000 -0.07186 0.53757 0.89429 0.68528 0.89429 0.17714 0.90265 " -"1.04571 0.90265 0.17979 1.02571 1.04571 1.02307 6 0 3 2 3 0 " -"1 6 4 2 6 3 7 6 2 3 " -"3 5 7 " -; - -char *VTK_VECTOR_TEXT_85 = (char *) "32 1.126804 " -"0.65714 -0.09009 0.77143 -0.08705 0.53143 -0.07034 0.85714 -0.07101 0.47429 -0.05070 " -"0.94286 -0.03629 0.38286 0.00704 1.02286 0.02445 0.65714 0.04437 0.78857 0.05320 " -"0.33669 0.06000 0.58286 0.05748 0.84000 0.06823 0.52000 0.08535 1.07070 0.08857 " -"0.89714 0.10154 0.46857 0.13025 1.09966 0.15714 0.29143 0.15866 0.94899 0.17429 " -"0.43177 0.19714 0.27320 0.24286 0.97252 0.26000 1.12680 0.33429 0.26437 0.34000 " -"0.40991 0.34000 0.98134 0.34571 0.98550 1.02571 1.12571 1.02307 0.26857 1.02615 " -"0.40571 1.02615 1.12000 1.02723 30 3 9 1 10 20 18 8 0 " -"1 0 11 2 7 15 5 0 8 11 " -"8 1 9 9 3 12 13 4 2 5 12 " -"3 15 7 19 16 10 6 12 5 15 " -"4 13 6 13 2 11 21 18 20 13 16 " -"6 19 17 22 17 19 14 7 14 19 " -"10 16 20 25 24 21 23 26 22 23 22 " -"17 25 21 20 24 25 29 30 29 25 " -"28 31 27 26 23 27 23 28 27 " -; - -char *VTK_VECTOR_TEXT_86 = (char *) "8 1.148571 " -"0.57714 -0.07025 0.72571 -0.06947 0.64571 0.06079 0.65143 0.06062 0.15429 1.02560 " -"0.30286 1.02531 1.00571 1.02531 1.14857 1.02560 6 0 2 4 3 2 " -"0 3 7 6 1 3 0 3 1 7 " -"2 5 4 " -; - -char *VTK_VECTOR_TEXT_87 = (char *) "14 1.568063 " -"0.45143 -0.07186 0.60000 -0.07017 1.13143 -0.06912 1.27429 -0.06912 0.52571 0.09707 " -"1.20000 0.09787 1.13673 0.38000 0.86857 0.88103 0.16571 1.02562 0.78286 1.02446 " -"1.42857 1.02446 1.56806 1.02571 0.30857 1.02615 0.95429 1.02615 12 " -"2 6 7 6 2 5 1 4 0 7 9 " -"4 11 10 5 3 5 2 8 0 4 " -"13 7 6 9 7 13 7 4 1 11 5 " -"3 12 8 4 " -; - -char *VTK_VECTOR_TEXT_88 = (char *) "14 1.141168 " -"0.15194 -0.07143 1.14117 -0.07143 0.32000 -0.07106 0.97143 -0.07140 0.65143 0.37795 " -"0.74607 0.49429 0.56517 0.50000 0.74286 0.49909 0.74219 0.50000 0.65714 0.61727 " -"0.20016 1.02571 0.96000 1.02568 1.11260 1.02571 0.36571 1.02644 12 " -"0 2 6 3 5 4 5 6 4 5 8 " -"6 5 3 1 5 7 8 4 6 2 " -"9 6 8 12 11 8 6 13 10 13 6 " -"9 11 9 8 " -; - -char *VTK_VECTOR_TEXT_89 = (char *) "12 1.145205 " -"0.71164 -0.07143 0.57143 -0.06878 0.56891 0.39143 0.71787 0.39714 0.65143 0.51441 " -"0.43179 0.85429 0.42857 0.85936 0.42812 0.86000 0.15284 1.02571 0.32000 1.02535 " -"0.98286 1.02464 1.14521 1.02571 10 3 2 " -"1 3 1 0 4 2 3 2 9 8 " -"11 10 4 5 2 4 5 6 7 2 7 " -"9 2 5 7 11 4 3 " -; - -char *VTK_VECTOR_TEXT_90 = (char *) "11 1.040000 " -"0.17714 -0.07186 1.04000 -0.06878 1.04000 0.05164 0.17395 0.06000 0.34602 0.06000 " -"0.84777 0.89429 0.24000 0.89957 1.02395 0.90000 0.23580 1.02000 1.02286 1.02307 " -"0.24000 1.02615 9 0 4 3 1 4 0 1 2 4 3 4 5 5 " -"7 9 4 7 5 5 10 6 10 5 9 6 10 8 " -; - -char *VTK_VECTOR_TEXT_91 = (char *) "8 0.541339 " -"0.24528 -0.37429 0.54025 -0.37429 0.54025 -0.27143 0.38227 -0.26571 0.38286 0.91454 " -"0.54134 0.92286 0.24836 1.02571 0.53714 1.02615 6 0 4 6 3 1 " -"2 1 3 0 0 3 4 5 7 4 " -"6 4 7 " -; - -char *VTK_VECTOR_TEXT_92 = (char *) "5 0.564685 " -"0.46286 -0.09182 0.56000 -0.09256 0.56469 -0.08857 0.14713 1.04286 0.24571 1.04358 3 0 4 3 0 2 4 0 " -"1 2 " -; - -char *VTK_VECTOR_TEXT_93 = (char *) "9 0.465968 " -"0.17100 -0.37429 0.46597 -0.37429 0.17100 -0.27143 0.32571 -0.26723 0.33295 -0.26000 " -"0.33143 0.91201 0.17143 0.91979 0.16991 1.02000 0.46286 1.02615 7 2 0 3 1 " -"3 0 1 4 3 5 4 1 7 6 8 5 8 6 8 5 1 " -; - -char *VTK_VECTOR_TEXT_94 = (char *) "11 0.817005 " -"0.18389 0.44857 0.18857 0.44458 0.32000 0.44686 0.68571 0.44746 0.81143 0.44445 " -"0.81700 0.44857 0.49714 0.88224 0.50286 0.88224 0.44571 1.04090 0.55429 1.04168 " -"0.45143 1.04437 9 0 2 6 0 6 8 7 3 5 4 5 3 2 " -"0 1 10 7 9 10 8 6 10 6 7 9 7 5 " -; - -char *VTK_VECTOR_TEXT_95 = (char *) "4 1.011860 " -"0.11957 -0.37429 1.01186 -0.37429 0.11957 -0.28857 1.01186 -0.28857 2 2 1 3 2 0 1 " -; - -char *VTK_VECTOR_TEXT_96 = (char *) "11 0.486571 " -"0.38857 0.82420 0.48000 0.82420 0.48403 0.82571 0.37714 0.82989 0.38286 0.82575 " -"0.48657 0.83143 0.21296 1.02571 0.38771 1.02571 0.21412 1.03143 0.38286 1.03106 " -"0.37714 1.03295 9 5 1 2 0 3 4 3 10 6 0 1 5 7 " -"3 0 8 6 10 7 0 5 3 7 10 10 7 9 " -; - -char *VTK_VECTOR_TEXT_97 = (char *) "70 0.929303 " -"0.44000 -0.09009 0.50286 -0.08966 0.36571 -0.07756 0.57143 -0.07907 0.92716 -0.07143 " -"0.79429 -0.07106 0.92930 -0.06571 0.62857 -0.06151 0.30857 -0.05514 0.27429 -0.03258 " -"0.68000 -0.03629 0.90748 -0.00857 0.48000 0.01580 0.53143 0.01621 0.42768 0.02571 " -"0.76571 0.02129 0.22073 0.03143 0.61804 0.03714 0.89866 0.03714 0.37130 0.06000 " -"0.20613 0.06571 0.68000 0.07330 0.34538 0.10000 0.71429 0.10809 0.19580 0.11714 " -"0.89295 0.13429 0.33907 0.15714 0.74538 0.16857 0.20319 0.19714 0.36000 0.20914 " -"0.75580 0.22000 0.40000 0.24371 0.22812 0.25429 0.44571 0.26041 0.66286 0.29891 " -"0.28000 0.31258 0.75848 0.31714 0.75429 0.32399 0.33714 0.34657 0.38857 0.36538 " -"0.68571 0.41320 0.75772 0.43714 0.35289 0.48286 0.22093 0.50000 0.22857 0.49470 " -"0.89252 0.50571 0.75580 0.51143 0.22857 0.53547 0.37800 0.54571 0.74286 0.55301 " -"0.88680 0.56286 0.71429 0.58893 0.41714 0.59330 0.42228 0.59714 0.25800 0.60286 " -"0.42286 0.59759 0.65143 0.61959 0.48000 0.62193 0.86498 0.62571 0.53143 0.62950 " -"0.59429 0.62950 0.28187 0.63714 0.84571 0.65486 0.33714 0.68436 0.80571 0.69007 " -"0.37915 0.70571 0.72571 0.72538 0.45714 0.72966 0.54286 0.74152 0.62286 0.74152 70 " -"3 13 1 5 4 15 4 11 15 19 8 " -"2 13 3 7 13 0 1 14 0 12 " -"20 22 24 0 14 2 12 0 13 13 7 " -"17 11 4 6 19 2 14 17 10 21 " -"7 10 17 11 18 15 16 22 20 8 19 " -"9 15 23 21 15 21 10 23 25 27 " -"9 19 16 19 22 16 23 15 25 24 26 " -"28 27 25 30 25 15 18 30 25 36 " -"32 28 26 26 24 22 29 32 26 39 38 " -"31 38 35 29 32 29 35 31 38 29 " -"39 34 40 33 39 31 39 33 34 36 41 " -"37 40 37 41 37 40 34 41 36 25 " -"41 45 46 43 44 47 47 48 54 48 47 " -"44 50 49 46 41 25 45 50 46 45 " -"42 48 44 49 64 51 52 53 55 52 65 " -"63 65 52 55 52 61 48 52 63 61 " -"58 49 50 49 58 62 69 60 56 49 62 " -"64 54 48 61 57 67 65 57 65 55 " -"51 66 56 69 59 60 66 51 64 68 67 " -"57 59 69 57 69 68 57 69 56 66 " -; - -char *VTK_VECTOR_TEXT_98 = (char *) "49 0.932518 " -"0.61143 -0.09009 0.50286 -0.07823 0.36000 -0.07186 0.24000 -0.06878 0.72000 -0.06213 " -"0.45714 -0.05914 0.77143 -0.03188 0.36571 0.01806 0.59429 0.02193 0.83543 0.02571 " -"0.52000 0.02823 0.66857 0.04645 0.46857 0.05179 0.42704 0.08857 0.72956 0.10000 " -"0.88784 0.10571 0.39216 0.14000 0.75641 0.14000 0.91470 0.18000 0.37462 0.19143 " -"0.78665 0.23714 0.36152 0.28857 0.93252 0.29429 0.79236 0.36857 0.93252 0.37429 " -"0.36420 0.38000 0.77294 0.47714 0.39216 0.50000 0.90899 0.50000 0.42473 0.55143 " -"0.73143 0.55546 0.88657 0.55714 0.45883 0.58571 0.67429 0.60498 0.50857 0.61641 " -"0.63429 0.62252 0.56571 0.62991 0.37714 0.64118 0.83429 0.63841 0.37315 0.64857 " -"0.80571 0.66686 0.74286 0.70784 0.46857 0.71355 0.68571 0.72899 0.56571 0.74109 " -"0.61714 0.74152 0.24265 1.02571 0.37143 1.02307 0.36571 1.02723 49 3 25 46 5 1 10 5 12 7 8 0 4 11 6 14 11 " -"4 6 0 8 1 2 7 3 8 4 11 10 1 8 21 3 19 12 13 7 12 " -"5 10 14 9 17 9 14 6 17 15 20 16 7 13 15 18 20 15 17 9 3 " -"7 19 22 20 18 20 22 23 28 26 23 22 24 23 25 3 21 30 43 33 39 " -"46 25 28 23 24 27 39 25 26 31 30 7 16 19 31 26 28 37 32 42 39 " -"27 37 40 30 38 29 37 27 38 30 31 35 33 43 32 34 42 35 45 36 37 " -"29 32 42 34 36 45 35 43 43 30 41 41 30 40 36 45 44 42 36 44 47 " -"48 46 39 47 46 " -; - -char *VTK_VECTOR_TEXT_99 = (char *) "58 0.894057 " -"0.53143 -0.08966 0.59429 -0.08966 0.45714 -0.07673 0.68000 -0.07294 0.72571 -0.05343 " -"0.37714 -0.04331 0.33714 -0.01543 0.78857 -0.01011 0.58286 0.02152 0.29143 0.03016 " -"0.49625 0.03143 0.62857 0.03034 0.83107 0.03714 0.45714 0.04943 0.69270 0.06571 " -"0.26241 0.07143 0.85714 0.07873 0.40457 0.09429 0.72722 0.10571 0.37629 0.14000 " -"0.74437 0.14000 0.22899 0.14571 0.37184 0.15143 0.36930 0.15714 0.88571 0.15295 " -"0.89406 0.19714 0.76571 0.21540 0.21034 0.22571 0.34705 0.25429 0.20420 0.36286 " -"0.34478 0.36857 0.21673 0.45429 0.36252 0.47143 0.75429 0.47269 0.88058 0.48857 " -"0.88319 0.49429 0.38371 0.52286 0.23849 0.52857 0.72000 0.55200 0.86437 0.55714 " -"0.43025 0.58000 0.69714 0.58127 0.28527 0.61429 0.47429 0.60943 0.48571 0.61387 " -"0.83473 0.61429 0.49143 0.61641 0.63429 0.62041 0.54857 0.62950 0.58857 0.62991 " -"0.81296 0.64286 0.32168 0.65429 0.35429 0.67964 0.76571 0.68535 0.44571 0.72327 " -"0.67429 0.72816 0.53714 0.74109 0.60000 0.74109 56 2 13 5 0 8 2 11 4 14 " -"1 8 0 3 11 1 15 23 21 2 10 " -"13 11 8 1 11 3 4 7 14 4 " -"10 2 8 14 7 18 17 6 13 6 5 " -"13 17 15 9 18 12 20 7 12 18 " -"17 9 6 16 20 12 24 20 16 19 15 " -"17 15 19 23 23 19 22 27 28 29 " -"26 20 24 26 24 25 21 28 27 28 21 " -"23 29 30 31 28 30 29 31 32 37 " -"39 38 33 34 39 33 32 31 30 37 32 " -"36 55 49 47 37 36 42 51 42 36 " -"34 35 39 45 41 38 52 40 43 46 43 " -"44 50 41 45 56 49 57 40 51 36 " -"51 40 52 45 38 39 52 43 54 47 41 " -"53 54 46 48 56 48 49 53 41 50 " -"54 48 56 54 43 46 57 49 55 55 47 " -"53 " -; - -char *VTK_VECTOR_TEXT_100 = (char *) "48 0.885714 " -"0.51429 -0.09009 0.56571 -0.08966 0.62857 -0.07673 0.76571 -0.07186 0.88571 -0.06878 " -"0.41143 -0.06486 0.67429 -0.05641 0.36000 -0.03669 0.30286 0.01025 0.76000 0.01806 " -"0.53714 0.02152 0.49714 0.02891 0.60571 0.02891 0.68127 0.07143 0.41714 0.07561 " -"0.23787 0.10571 0.71579 0.11143 0.38241 0.11714 0.74135 0.16286 0.21395 0.16857 " -"0.74286 0.16739 0.74538 0.17429 0.34605 0.20286 0.76420 0.27714 0.19277 0.28857 " -"0.33295 0.28857 0.19277 0.36286 0.76152 0.38571 0.33563 0.39714 0.73355 0.50000 " -"0.22135 0.51143 0.36784 0.51714 0.69714 0.55841 0.42286 0.58686 0.26857 0.60793 " -"0.63429 0.60943 0.48571 0.62151 0.56571 0.62950 0.74857 0.64048 0.75269 0.64857 " -"0.30857 0.65582 0.65714 0.71355 0.40571 0.71756 0.50286 0.74109 0.55429 0.74152 " -"0.75693 1.02571 0.88571 1.02307 0.88000 1.02723 48 0 11 5 12 6 13 " -"1 2 12 7 14 8 10 0 1 14 7 " -"5 10 1 12 6 12 2 0 10 11 " -"8 17 15 9 16 13 14 5 11 4 9 " -"3 6 9 13 9 4 18 16 9 18 " -"15 22 19 17 8 14 22 15 17 20 18 " -"21 21 18 4 19 25 24 21 4 23 " -"25 19 22 26 24 25 26 28 30 39 27 " -"4 26 25 28 39 38 29 29 38 32 " -"27 39 29 30 31 34 32 38 35 31 30 " -"28 40 34 31 36 42 33 23 4 27 " -"35 41 37 33 40 31 40 33 42 41 35 " -"38 42 36 43 37 43 36 44 37 41 " -"37 44 43 46 47 45 39 4 45 4 46 " -"45 " -; - -char *VTK_VECTOR_TEXT_101 = (char *) "65 0.934539 " -"0.54857 -0.09009 0.61143 -0.09009 0.45714 -0.07462 0.71429 -0.07101 0.40571 -0.05641 " -"0.77714 -0.04331 0.33714 -0.01543 0.82857 -0.00670 0.29714 0.02154 0.56000 0.02152 " -"0.60571 0.02193 0.49714 0.03563 0.68159 0.04286 0.88150 0.05429 0.45714 0.05514 " -"0.26286 0.06636 0.72000 0.06759 0.40457 0.10000 0.91216 0.11143 0.77229 0.13429 " -"0.37057 0.15143 0.22034 0.15714 0.36613 0.16286 0.92834 0.16286 0.36359 0.16857 " -"0.91429 0.16966 0.79429 0.18111 0.35177 0.20286 0.20462 0.22571 0.33866 0.28286 " -"0.34286 0.28900 0.93454 0.29429 0.19848 0.35714 0.93295 0.39714 0.34857 0.40134 " -"0.78857 0.40134 0.34134 0.40857 0.79580 0.40857 0.20462 0.41429 0.35429 0.47261 " -"0.22327 0.49429 0.91429 0.48975 0.77143 0.50661 0.38857 0.54057 0.74857 0.54629 " -"0.40725 0.56286 0.25714 0.57001 0.71429 0.58154 0.87070 0.58571 0.45143 0.59759 " -"0.68000 0.60498 0.29296 0.62000 0.49143 0.61681 0.63429 0.62252 0.54857 0.62950 " -"0.59429 0.62991 0.33311 0.66000 0.81143 0.65543 0.77143 0.68607 0.41143 0.70930 " -"0.72000 0.71355 0.45714 0.72605 0.66857 0.73050 0.54286 0.74152 0.60000 0.74152 65 0 9 11 10 " -"1 3 10 3 12 5 12 3 17 8 6 10 0 1 0 11 2 4 14 6 0 " -"10 9 7 16 5 5 16 12 14 2 11 16 7 19 14 4 2 15 8 17 26 " -"18 25 17 6 14 15 27 21 7 13 19 23 25 18 20 15 17 26 19 18 18 " -"19 13 24 20 22 15 20 24 15 24 27 21 27 28 28 29 32 33 37 35 29 " -"28 27 32 29 38 35 34 30 40 39 46 33 35 30 31 33 30 36 38 29 36 " -"29 34 37 41 42 40 38 36 30 34 29 39 40 36 41 37 33 46 43 51 51 " -"49 56 42 48 44 48 42 41 44 48 47 49 51 45 43 46 39 56 49 59 50 " -"62 53 57 47 48 64 55 53 45 51 43 55 63 54 58 47 57 62 50 60 59 " -"52 61 59 49 52 47 60 50 61 54 63 60 47 58 61 52 54 64 53 62 55 " -"64 63 " -; - -char *VTK_VECTOR_TEXT_102 = (char *) "24 0.617143 " -"0.28000 -0.07186 0.40571 -0.07186 0.27472 0.61429 0.41100 0.61429 0.16571 0.61957 " -"0.56000 0.61957 0.56420 0.71714 0.16571 0.72329 0.27472 0.72857 0.41100 0.72857 " -"0.56000 0.72329 0.41034 0.83143 0.27580 0.86000 0.43429 0.89555 0.28613 0.91714 " -"0.46286 0.91294 0.50286 0.92134 0.60000 0.91830 0.31107 0.96857 0.34286 1.00099 " -"0.38857 1.02784 0.61714 1.03086 0.46286 1.04395 0.52571 1.04437 22 0 3 2 " -"3 0 1 4 8 7 9 3 5 2 3 " -"8 5 6 10 4 2 8 9 8 3 " -"8 11 12 11 8 9 12 11 14 9 5 " -"10 13 19 18 13 18 14 13 14 11 " -"23 15 16 15 23 22 21 23 17 15 20 " -"13 19 13 20 20 15 22 23 16 17 " -; - -char *VTK_VECTOR_TEXT_103 = (char *) "71 0.892518 " -"0.46857 -0.39295 0.56571 -0.39563 0.66286 -0.37959 0.35429 -0.36200 0.74286 -0.34616 " -"0.28571 -0.31868 0.80368 -0.30000 0.50857 -0.28437 0.62286 -0.27395 0.44571 -0.27101 " -"0.23387 -0.24286 0.84657 -0.24286 0.69200 -0.23714 0.38171 -0.23143 0.72150 -0.20286 " -"0.87177 -0.18000 0.34916 -0.15714 0.74899 -0.14000 0.22286 -0.13957 0.50857 -0.07295 " -"0.56000 -0.07295 0.43429 -0.05959 0.65143 -0.05070 0.37143 -0.03355 0.69714 -0.02527 " -"0.89252 -0.00857 0.74857 0.01873 0.75042 0.02000 0.75756 0.02000 0.75429 0.02333 " -"0.29143 0.03381 0.53143 0.03866 0.57143 0.03907 0.47429 0.05216 0.64000 0.05787 " -"0.41714 0.08704 0.68000 0.08439 0.23216 0.12857 0.38036 0.12857 0.72784 0.14000 " -"0.35277 0.18571 0.20530 0.20857 0.75538 0.20857 0.19320 0.28286 0.33295 0.29429 " -"0.76991 0.35714 0.19277 0.37429 0.33563 0.40857 0.75109 0.47143 0.35109 0.47714 " -"0.21143 0.47832 0.72784 0.52286 0.23787 0.55143 0.39044 0.55143 0.69868 0.56286 " -"0.66286 0.59393 0.27107 0.60857 0.45143 0.60498 0.48571 0.62041 0.56571 0.62991 " -"0.57714 0.62764 0.58286 0.62723 0.76571 0.63477 0.32000 0.66384 0.68571 0.70213 " -"0.39429 0.71229 0.77408 0.72286 0.88878 0.72286 0.62857 0.72816 0.46857 0.73580 " -"0.56000 0.74152 71 1 7 0 8 4 12 2 8 1 0 " -"9 3 7 1 8 5 13 10 9 0 7 13 5 3 8 2 4 6 14 12 6 " -"12 4 11 15 17 11 14 6 13 3 9 14 11 17 10 16 18 16 10 13 17 " -"25 28 23 21 33 22 32 20 32 19 20 35 23 33 19 31 21 23 35 30 31 " -"19 32 32 22 34 26 29 36 17 15 25 33 21 31 26 36 24 24 34 22 26 " -"27 29 36 34 24 36 29 39 30 38 37 39 28 25 39 29 28 37 40 41 38 " -"40 37 30 35 38 39 25 42 44 46 43 44 43 41 44 41 40 42 25 45 67 " -"51 48 46 47 50 67 48 45 47 46 44 50 49 52 49 50 47 67 62 51 62 " -"54 51 56 52 49 54 62 55 55 64 61 60 61 59 53 56 49 56 53 63 63 " -"57 65 65 58 69 65 57 58 70 59 61 59 69 58 64 55 62 67 45 25 67 " -"66 62 63 53 57 68 70 61 59 70 69 64 68 61 " -; - -char *VTK_VECTOR_TEXT_104 = (char *) "27 0.889502 " -"0.24571 -0.07186 0.37143 -0.07186 0.76000 -0.07186 0.88571 -0.07186 0.37605 0.40286 " -"0.37756 0.40857 0.75538 0.46000 0.88950 0.47714 0.38899 0.48286 0.74538 0.51714 " -"0.88152 0.54571 0.42439 0.55143 0.72000 0.56914 0.47429 0.59355 0.68000 0.60331 " -"0.85996 0.61429 0.53143 0.61748 0.61143 0.62379 0.37714 0.63983 0.81714 0.67296 " -"0.45714 0.70045 0.77714 0.70213 0.50857 0.72437 0.68571 0.73538 0.58857 0.74152 " -"0.24571 1.02615 0.37143 1.02615 25 0 " -"4 25 4 18 25 6 2 3 9 6 7 7 6 3 18 8 11 18 11 13 9 " -"15 12 12 19 14 10 9 7 18 13 20 8 4 5 15 9 10 4 0 1 18 " -"4 8 17 24 16 19 21 14 14 23 17 20 16 22 16 20 13 19 12 15 17 " -"23 24 23 14 21 24 22 16 18 26 25 " -; - -char *VTK_VECTOR_TEXT_105 = (char *) "8 0.377143 " -"0.25143 -0.07186 0.37714 -0.07186 0.25143 0.72329 0.37714 0.72329 0.25143 0.87403 " -"0.37714 0.87403 0.25143 1.02615 0.37714 1.02615 4 3 2 0 3 0 " -"1 4 5 6 7 6 5 " -; - -char *VTK_VECTOR_TEXT_106 = (char *) "18 0.375625 " -"0.14857 -0.39563 0.22286 -0.39252 0.07383 -0.38000 0.26857 -0.37914 0.31429 -0.34989 " -"0.34036 -0.31714 0.18857 -0.27462 0.10286 -0.26950 0.36109 -0.26571 0.22331 -0.24857 " -"0.37563 -0.16857 0.24152 -0.16286 0.24571 0.72329 0.37143 0.72329 0.24571 0.87403 " -"0.37143 0.87403 0.24571 1.02615 0.37143 1.02615 14 1 6 0 3 6 1 4 6 " -"3 9 10 11 7 0 6 7 2 0 " -"9 5 8 5 9 4 6 4 9 9 8 " -"10 11 10 12 13 12 10 14 15 16 " -"17 16 15 " -; - -char *VTK_VECTOR_TEXT_107 = (char *) "15 0.897876 " -"0.37450 -0.07143 0.89788 -0.07143 0.24571 -0.06878 0.73714 -0.07035 0.38004 0.24286 " -"0.68421 0.25429 0.68045 0.26000 0.68000 0.26064 0.46857 0.32924 0.38286 0.40888 " -"0.57152 0.42571 0.69714 0.72283 0.86359 0.72286 0.24836 1.02571 0.37714 1.02307 13 2 9 13 4 2 0 5 8 3 5 " -"3 1 5 6 7 9 14 13 11 9 10 5 7 8 7 10 8 8 9 4 12 " -"11 10 9 8 10 2 4 9 " -; - -char *VTK_VECTOR_TEXT_108 = (char *) "4 0.371429 " -"0.36878 -0.07143 0.24000 -0.06878 0.24265 1.02571 0.37143 1.02307 2 1 3 2 3 1 0 " -; - -char *VTK_VECTOR_TEXT_109 = (char *) "45 1.318074 " -"0.24571 -0.07186 0.37143 -0.07186 0.72000 -0.07295 1.18857 -0.07186 1.31429 -0.07186 " -"0.71429 -0.06878 0.84571 -0.06878 0.37866 0.37429 0.84723 0.40286 0.85335 0.46000 " -"0.39109 0.48286 0.71277 0.48286 1.18437 0.48286 1.31807 0.52286 0.87787 0.53429 " -"0.41143 0.53493 1.17395 0.54000 0.43582 0.56857 0.68784 0.56857 1.14857 0.58403 " -"0.93143 0.59188 0.66286 0.59829 0.82857 0.60801 0.51009 0.61429 0.36571 0.61924 " -"0.63429 0.61470 1.09714 0.61580 1.29355 0.62000 0.56000 0.62420 1.00571 0.62152 " -"1.06286 0.62379 0.41311 0.67143 0.78857 0.66975 1.25561 0.67714 0.90857 0.68902 " -"0.74286 0.70784 1.20571 0.71355 0.35735 0.72286 0.24571 0.72329 0.50286 0.72498 " -"0.99429 0.73109 1.16000 0.73109 0.67429 0.73470 0.57714 0.74109 1.05143 0.74152 43 6 5 2 0 7 38 8 11 5 7 0 1 8 5 6 12 3 4 12 " -"13 16 9 11 8 15 17 24 11 22 18 22 20 34 11 9 22 14 22 9 13 " -"12 4 24 17 31 7 10 38 10 15 24 16 27 19 32 21 18 24 37 38 20 " -"22 14 10 24 38 27 16 13 31 23 39 26 41 30 30 40 29 32 18 22 41 " -"19 36 34 29 40 19 41 26 36 19 33 23 31 17 35 21 32 29 34 20 39 " -"28 43 33 19 27 43 28 42 25 42 28 28 39 23 42 25 21 42 21 35 44 " -"30 41 30 44 40 " -; - -char *VTK_VECTOR_TEXT_110 = (char *) "38 0.889911 " -"0.24571 -0.07186 0.37143 -0.07186 0.75429 -0.07186 0.88571 -0.07186 0.24152 -0.06571 " -"0.37563 -0.06571 0.75009 -0.06571 0.88991 -0.06571 0.37605 0.40286 0.37866 0.41429 " -"0.38134 0.44857 0.74665 0.48286 0.88950 0.48286 0.39849 0.51143 0.73229 0.54000 " -"0.88420 0.54000 0.43011 0.56286 0.46286 0.58893 0.69714 0.58725 0.87008 0.59143 " -"0.51580 0.61429 0.65143 0.61343 0.36571 0.62031 0.56571 0.62420 0.60571 0.62379 " -"0.61714 0.62152 0.62286 0.62109 0.83955 0.64857 0.40725 0.66571 0.79429 0.69179 " -"0.45714 0.70213 0.24152 0.71714 0.75429 0.71355 0.35735 0.72286 0.24571 0.72329 " -"0.52571 0.73050 0.68571 0.73538 0.58857 0.74152 36 1 4 0 " -"3 6 2 1 5 4 3 7 6 6 12 " -"11 11 15 14 6 7 12 22 16 28 " -"10 8 9 13 22 10 10 22 8 8 4 " -"5 15 11 12 8 22 4 14 15 19 " -"14 19 18 25 26 24 16 22 13 16 17 " -"28 30 28 17 27 18 19 32 23 24 " -"29 18 27 30 20 35 18 32 21 31 4 " -"22 20 30 17 32 26 21 32 24 26 " -"32 18 29 34 31 33 33 31 22 35 23 " -"37 23 35 20 36 23 32 37 23 36 " -; - -char *VTK_VECTOR_TEXT_111 = (char *) "65 0.938661 " -"0.53143 -0.08966 0.59429 -0.09009 0.69143 -0.07101 0.41143 -0.06213 0.76571 -0.03759 " -"0.34857 -0.02821 0.81714 -0.00099 0.29143 0.02154 0.54286 0.02193 0.60571 0.02420 " -"0.50857 0.02823 0.64571 0.03563 0.86331 0.04857 0.45143 0.05216 0.25714 0.06636 " -"0.70857 0.07330 0.89229 0.09429 0.40000 0.09597 0.22771 0.12286 0.38036 0.12286 " -"0.37714 0.12793 0.37669 0.12857 0.75473 0.12857 0.76657 0.15143 0.77101 0.16286 " -"0.77355 0.16857 0.92319 0.18000 0.20764 0.18571 0.34816 0.19714 0.78605 0.20857 " -"0.33563 0.26000 0.19320 0.28286 0.93823 0.28857 0.79848 0.29429 0.33295 0.36286 " -"0.93866 0.37429 0.19580 0.39714 0.79538 0.39714 0.35277 0.47143 0.92319 0.47143 " -"0.21184 0.48286 0.77143 0.48947 0.23216 0.54000 0.38742 0.54000 0.89927 0.54000 " -"0.74286 0.54057 0.71429 0.57275 0.42286 0.57813 0.87678 0.58000 0.27429 0.60984 " -"0.48571 0.61580 0.64571 0.61580 0.54286 0.62950 0.58857 0.62950 0.60000 0.62723 " -"0.60571 0.62680 0.83225 0.63714 0.31025 0.64857 0.34857 0.67864 0.75429 0.69641 " -"0.40000 0.70784 0.45143 0.72605 0.68571 0.72538 0.53714 0.74152 0.60000 0.74109 65 11 4 15 8 " -"0 1 17 7 5 11 2 4 2 9 1 8 1 9 0 8 10 0 10 3 2 " -"11 9 3 13 5 10 13 3 6 12 22 6 15 4 15 6 22 18 28 27 17 " -"5 13 14 19 18 16 23 22 19 7 17 7 19 14 18 19 21 24 23 25 25 " -"23 16 19 20 21 16 22 12 26 29 25 27 30 31 26 25 16 28 18 21 29 " -"26 33 30 27 28 31 34 36 33 32 35 26 32 33 34 31 30 33 35 37 40 " -"36 34 37 39 41 40 38 42 39 37 35 47 57 43 38 40 34 43 49 42 46 " -"45 56 39 44 41 41 48 45 43 57 49 41 44 48 43 42 38 57 47 58 54 " -"55 53 56 45 48 50 60 47 64 63 53 64 55 62 53 63 52 59 62 51 61 " -"60 50 64 53 55 51 62 55 52 61 50 59 46 56 61 52 63 46 59 51 58 " -"47 60 " -; - -char *VTK_VECTOR_TEXT_112 = (char *) "49 0.935625 " -"0.24571 -0.37740 0.37454 -0.37429 0.56000 -0.08966 0.66857 -0.07966 0.47429 -0.06657 " -"0.75429 -0.04331 0.37584 -0.00286 0.80571 -0.00704 0.38286 0.00159 0.59429 0.02152 " -"0.52000 0.02891 0.63429 0.02992 0.85964 0.05429 0.45143 0.06725 0.70857 0.07330 " -"0.39787 0.13429 0.39514 0.14000 0.39216 0.14571 0.76213 0.14571 0.90538 0.14571 " -"0.37462 0.19714 0.78327 0.20857 0.92680 0.22571 0.36379 0.27143 0.36152 0.28286 " -"0.79580 0.29429 0.93563 0.30000 0.36379 0.36857 0.79580 0.36857 0.92680 0.43714 " -"0.78286 0.45547 0.38286 0.47232 0.75429 0.52921 0.41714 0.54057 0.88571 0.56444 " -"0.44571 0.57582 0.69143 0.59964 0.51429 0.62213 0.65143 0.62213 0.36571 0.63051 " -"0.56571 0.63563 0.82704 0.64857 0.45714 0.70784 0.74857 0.70657 0.24571 0.72329 " -"0.36000 0.72329 0.51429 0.73177 0.69143 0.72899 0.62286 0.74152 49 0 1 6 0 24 44 3 9 2 2 10 4 3 11 9 4 " -"13 8 10 2 9 11 5 14 11 3 5 7 14 5 4 10 13 14 12 18 14 " -"7 12 0 20 24 15 8 13 8 15 6 19 18 12 18 19 21 21 22 25 24 " -"27 44 17 15 16 22 21 19 28 25 26 22 26 25 6 15 17 29 30 28 23 " -"24 20 20 6 17 29 28 26 30 34 32 27 31 44 0 6 20 31 39 44 32 " -"41 36 41 32 34 31 33 39 42 37 46 39 35 42 34 30 29 39 33 35 38 " -"47 40 35 37 42 47 38 43 40 46 37 43 36 41 39 45 44 46 40 48 48 " -"40 47 38 36 43 " -; - -char *VTK_VECTOR_TEXT_113 = (char *) "52 0.885714 " -"0.76000 -0.37740 0.88571 -0.37740 0.56571 -0.09009 0.45143 -0.07673 0.65143 -0.06784 " -"0.36000 -0.03188 0.70857 -0.03465 0.75580 -0.00286 0.74857 0.00454 0.29714 0.02418 " -"0.54286 0.02152 0.57714 0.02193 0.58857 0.02420 0.59429 0.02462 0.47429 0.03927 " -"0.64571 0.04371 0.43302 0.06571 0.70670 0.09429 0.23914 0.11143 0.38607 0.11714 " -"0.38286 0.12221 0.38241 0.12286 0.75008 0.17429 0.21101 0.19143 0.34748 0.20857 " -"0.76723 0.25429 0.19848 0.26000 0.76723 0.27143 0.33605 0.28286 0.76991 0.28857 " -"0.19580 0.37429 0.33866 0.40286 0.75429 0.45277 0.21101 0.47143 0.35429 0.47832 " -"0.73143 0.51301 0.39846 0.56286 0.69296 0.56857 0.25669 0.58571 0.45143 0.60902 " -"0.61714 0.62213 0.49143 0.62723 0.76571 0.62602 0.29330 0.63714 0.56571 0.63522 " -"0.72403 0.67143 0.36571 0.69641 0.66286 0.71355 0.77408 0.72286 0.88571 0.72329 " -"0.44571 0.72966 0.56000 0.74152 52 29 27 25 " -"49 42 32 22 7 25 3 13 11 2 13 " -"3 4 13 2 6 15 4 11 13 12 " -"3 14 5 13 4 15 10 3 11 15 6 " -"8 14 3 10 15 8 17 24 23 18 " -"5 16 9 17 8 22 14 16 5 9 19 " -"18 19 20 21 18 19 21 42 35 32 " -"7 22 8 16 19 9 49 48 42 7 0 " -"1 24 18 21 23 24 26 26 28 30 " -"28 26 24 30 31 33 34 33 31 31 30 " -"28 33 34 38 49 29 25 36 43 38 " -"49 25 7 35 42 37 37 45 40 45 37 " -"42 29 49 32 45 47 40 39 43 36 " -"46 39 50 40 47 44 43 39 46 36 38 " -"34 41 44 51 41 50 39 49 7 1 " -"50 41 51 51 44 47 " -; - -char *VTK_VECTOR_TEXT_114 = (char *) "24 0.667686 " -"0.24571 -0.07186 0.37143 -0.07186 0.24152 -0.06571 0.37563 -0.06571 0.37563 0.38000 " -"0.39748 0.50000 0.41964 0.54571 0.44740 0.57429 0.61714 0.57787 0.62286 0.57880 " -"0.48000 0.59294 0.57714 0.59395 0.51429 0.60134 0.36571 0.61385 0.41868 0.68857 " -"0.66769 0.69429 0.66542 0.70000 0.24152 0.71714 0.35735 0.72286 0.24571 0.72329 " -"0.46286 0.72436 0.60000 0.73109 0.51429 0.74109 0.55429 0.74109 22 1 2 0 " -"1 3 2 4 2 3 5 6 13 5 13 " -"17 21 11 15 2 4 17 4 5 17 " -"6 7 13 18 17 13 7 10 14 13 7 " -"14 14 12 20 11 21 12 9 15 11 " -"12 14 10 19 17 18 20 12 22 8 9 " -"11 21 15 16 22 12 23 23 12 21 " -; - -char *VTK_VECTOR_TEXT_115 = (char *) "63 0.849502 " -"0.56000 -0.09009 0.46286 -0.08705 0.65143 -0.07395 0.37143 -0.06723 0.70444 -0.05429 " -"0.33143 -0.04943 0.76057 -0.02000 0.28571 -0.01813 0.79582 0.01429 0.50286 0.02152 " -"0.55429 0.02152 0.56571 0.02379 0.57714 0.02420 0.24571 0.02636 0.64000 0.04200 " -"0.41714 0.04371 0.22200 0.06571 0.38286 0.06725 0.68384 0.07714 0.83580 0.08286 " -"0.69927 0.10000 0.34200 0.12286 0.84950 0.14000 0.71009 0.15714 0.19109 0.16286 " -"0.19370 0.16857 0.32000 0.18615 0.69864 0.19143 0.84723 0.20286 0.65714 0.22784 " -"0.83641 0.24286 0.80956 0.28857 0.34286 0.32371 0.75429 0.33641 0.30286 0.34421 " -"0.69143 0.36327 0.25714 0.38445 0.22645 0.43714 0.41143 0.44538 0.37587 0.46571 " -"0.35885 0.48286 0.21295 0.49429 0.69143 0.50460 0.34478 0.51714 0.81977 0.52286 " -"0.67514 0.55143 0.35216 0.56286 0.22034 0.56857 0.64000 0.59465 0.38286 0.59829 " -"0.79429 0.61016 0.24000 0.61573 0.42857 0.62041 0.58286 0.62252 0.48571 0.62991 " -"0.74689 0.67143 0.28571 0.67258 0.70286 0.70045 0.33714 0.70613 0.38857 0.72538 " -"0.61714 0.73050 0.47429 0.74109 0.54286 0.74109 61 2 12 0 10 1 12 12 2 14 14 4 6 7 17 13 0 " -"12 1 4 14 2 11 10 12 15 3 1 3 15 5 9 1 10 14 6 18 15 " -"1 9 17 5 15 6 8 18 5 17 7 21 16 13 16 21 24 18 8 20 23 " -"28 27 21 13 17 19 22 23 26 25 21 21 25 24 20 19 23 19 20 8 28 " -"23 22 27 33 29 28 30 27 31 27 30 27 31 33 29 38 32 35 29 33 29 " -"35 38 34 38 36 32 38 34 36 40 37 39 36 38 41 43 47 43 41 37 36 " -"39 40 50 45 42 43 37 40 47 46 51 46 47 43 53 60 54 45 57 48 52 " -"58 49 45 55 57 51 49 56 49 51 46 50 42 44 48 57 53 56 49 58 55 " -"45 50 52 59 58 59 52 61 52 54 61 60 53 57 61 54 62 62 54 60 " -; - -char *VTK_VECTOR_TEXT_116 = (char *) "24 0.551972 " -"0.42286 -0.08395 0.48000 -0.08437 0.55197 -0.07143 0.33714 -0.05914 0.29901 -0.02571 " -"0.28041 0.00857 0.44571 0.04816 0.44453 0.04857 0.53714 0.04344 0.44000 0.05008 " -"0.41057 0.07714 0.26748 0.10000 0.40152 0.11714 0.26597 0.61429 0.40260 0.61429 " -"0.17143 0.61957 0.53450 0.62000 0.53866 0.71714 0.53450 0.72286 0.17143 0.72329 " -"0.26597 0.72857 0.40260 0.72857 0.26748 0.91714 0.40000 0.99545 22 10 5 4 " -"6 7 9 10 4 3 10 3 9 8 6 " -"1 6 9 1 5 10 11 8 1 2 " -"0 9 3 11 12 13 0 1 9 10 12 " -"11 17 18 16 14 13 12 21 14 16 " -"18 21 16 22 20 23 20 13 14 15 20 " -"19 15 13 20 20 14 21 23 20 21 " -; - -char *VTK_VECTOR_TEXT_117 = (char *) "38 0.884197 " -"0.48571 -0.09009 0.53714 -0.09009 0.41714 -0.07673 0.77143 -0.07295 0.88000 -0.07186 " -"0.63518 -0.06571 0.76571 -0.06878 0.88420 -0.06571 0.34857 -0.04771 0.70857 -0.01846 " -"0.29901 -0.00857 0.27429 0.02730 0.52000 0.02723 0.56000 0.02764 0.47339 0.03714 " -"0.76000 0.03684 0.61714 0.04135 0.43943 0.05429 0.65143 0.05787 0.41330 0.07714 " -"0.25143 0.08437 0.69143 0.08704 0.39343 0.10571 0.38899 0.11714 0.71473 0.11714 " -"0.38645 0.12286 0.73294 0.15714 0.23848 0.17429 0.37563 0.17429 0.75009 0.26000 " -"0.23848 0.71714 0.37295 0.71714 0.75009 0.71714 0.88420 0.71714 0.24265 0.72286 " -"0.36878 0.72286 0.75429 0.72329 0.88000 0.72329 36 6 3 15 " -"3 7 15 3 4 7 8 17 10 2 14 " -"17 2 17 8 5 13 1 19 11 10 " -"9 16 5 12 1 13 0 12 2 12 0 " -"1 9 18 16 13 5 16 14 2 12 " -"11 22 20 21 18 9 15 21 9 21 15 " -"24 20 28 27 11 19 22 24 7 26 " -"19 10 17 24 15 7 25 22 23 20 22 " -"25 20 25 28 26 7 29 31 30 27 " -"33 29 7 34 31 35 34 30 31 31 27 " -"28 36 33 37 32 29 33 36 32 33 " -; - -char *VTK_VECTOR_TEXT_118 = (char *) "12 0.884203 " -"0.45714 -0.06947 0.58857 -0.07103 0.52000 0.09808 0.52571 0.09808 0.47580 0.23714 " -"0.16151 0.71714 0.88420 0.71714 0.16427 0.72286 0.30286 0.71951 0.74857 0.72090 " -"0.88145 0.72286 0.29714 0.72395 10 4 0 " -"2 0 4 5 3 2 0 1 3 0 " -"3 6 9 8 11 5 9 6 10 7 5 " -"11 8 5 4 3 1 6 " -; - -char *VTK_VECTOR_TEXT_119 = (char *) "14 1.231638 " -"0.39429 -0.07215 0.52571 -0.07215 0.97714 -0.07252 0.84571 -0.06947 0.45714 0.10650 " -"0.46286 0.10650 0.92000 0.12073 0.69143 0.52785 0.15122 0.72286 0.28571 0.72090 " -"0.62857 0.72243 0.76193 0.72286 1.23164 0.72286 1.10857 0.72329 12 " -"2 6 3 0 4 8 3 6 7 5 0 " -"1 12 13 6 5 4 0 7 10 5 " -"11 10 7 7 5 1 11 7 6 4 9 " -"8 12 6 2 " -; - -char *VTK_VECTOR_TEXT_120 = (char *) "17 0.882498 " -"0.15697 -0.07143 0.88073 -0.07143 0.15473 -0.06571 0.31429 -0.07035 0.72571 -0.07140 " -"0.88250 -0.06571 0.52000 0.22529 0.52571 0.22529 0.60332 0.33429 0.43534 0.34000 " -"0.51429 0.45005 0.17188 0.71714 0.86812 0.71714 0.17412 0.72286 0.86588 0.72286 " -"0.32571 0.72395 0.71429 0.72395 15 1 5 4 2 6 9 8 6 7 3 2 0 4 8 7 6 2 3 4 " -"5 8 8 10 6 10 9 6 15 11 9 16 10 8 15 9 10 12 16 8 13 " -"11 15 16 12 14 " -; - -char *VTK_VECTOR_TEXT_121 = (char *) "16 0.888063 " -"0.34286 -0.39563 0.24000 -0.38043 0.41714 -0.37641 0.45714 -0.34956 0.50436 -0.29429 " -"0.32000 -0.26680 0.22286 -0.25766 0.36652 -0.25429 0.54371 -0.22000 0.41293 -0.21429 " -"0.46848 -0.07714 0.53714 0.09292 0.16998 0.72286 0.30857 0.71999 0.76000 0.72246 " -"0.88806 0.72286 14 2 7 0 0 5 1 5 0 7 " -"6 1 5 3 7 2 7 3 9 3 4 " -"9 9 8 10 9 4 8 10 11 12 " -"11 15 14 11 8 15 11 10 8 11 13 " -"12 " -; - -char *VTK_VECTOR_TEXT_122 = (char *) "17 0.872768 " -"0.17714 -0.07295 0.86857 -0.07186 0.17143 -0.06878 0.87277 -0.06571 0.17146 0.03714 " -"0.34212 0.03714 0.87277 0.03714 0.34132 0.04286 0.44000 0.04327 0.86857 0.04329 " -"0.20571 0.61689 0.67062 0.62000 0.84991 0.64286 0.20152 0.71714 0.84991 0.71714 " -"0.20571 0.72329 0.84571 0.72329 15 2 0 4 0 1 9 0 5 4 1 3 9 5 0 8 5 7 4 0 " -"9 8 3 6 9 12 14 11 11 14 16 11 16 10 12 11 7 11 4 7 10 " -"15 13 15 10 16 " -; - -char *VTK_VECTOR_TEXT_123 = (char *) "39 0.611429 " -"0.61143 -0.39454 0.46857 -0.38420 0.40000 -0.34154 0.61143 -0.27975 0.35748 -0.27143 " -"0.52000 -0.26992 0.47787 -0.23143 0.46748 -0.19143 0.34134 -0.18000 0.46395 0.04286 " -"0.33563 0.05429 0.45184 0.14571 0.32109 0.16286 0.29143 0.21832 0.42286 0.22716 " -"0.25143 0.24943 0.18857 0.26528 0.39429 0.26698 0.31413 0.32286 0.18857 0.38615 " -"0.25143 0.40073 0.41188 0.40286 0.29143 0.42775 0.43514 0.44286 0.32823 0.49429 " -"0.45866 0.52286 0.34134 0.60286 0.46705 0.80857 0.34478 0.84857 0.47748 0.87143 " -"0.35748 0.91143 0.50286 0.90821 0.50793 0.91143 0.50857 0.91188 0.61143 0.92814 " -"0.40571 0.99511 0.46857 1.03294 0.53143 1.04437 0.61143 1.04329 37 0 3 5 6 2 5 2 6 4 0 5 1 2 " -"1 5 4 7 8 7 4 6 8 9 10 10 11 12 9 8 7 11 10 9 12 " -"17 13 12 14 17 14 12 11 18 15 13 16 15 20 18 13 17 16 20 19 15 " -"18 20 21 22 18 22 21 24 22 20 18 24 25 26 23 24 21 25 24 23 26 " -"27 28 27 26 25 28 29 30 29 28 27 30 29 35 31 32 33 36 31 33 31 " -"36 29 36 33 37 34 38 37 35 29 36 34 37 33 " -; - -char *VTK_VECTOR_TEXT_124 = (char *) "4 0.388571 " -"0.28571 -0.39454 0.38857 -0.39563 0.28571 1.04329 0.38857 1.04437 2 3 2 0 3 0 1 " -; - -char *VTK_VECTOR_TEXT_125 = (char *) "35 0.606299 " -"0.17714 -0.39454 0.31429 -0.38613 0.39429 -0.33832 0.17714 -0.27975 0.27429 -0.26784 " -"0.43681 -0.26000 0.31070 -0.23714 0.44950 -0.19714 0.32723 -0.15714 0.45295 0.04857 " -"0.33295 0.11714 0.46857 0.16404 0.35387 0.19714 0.51429 0.23258 0.56000 0.25681 " -"0.39429 0.26403 0.60630 0.26571 0.47702 0.32857 0.41714 0.36742 0.60571 0.38615 " -"0.54857 0.39927 0.50171 0.43143 0.36086 0.43714 0.46748 0.50000 0.32991 0.56857 " -"0.45252 0.78571 0.32723 0.80286 0.31748 0.87143 0.29143 0.90893 0.43470 0.91714 " -"0.17714 0.92814 0.41629 0.95714 0.36571 1.01107 0.32000 1.03294 0.17714 1.04329 33 4 3 0 2 4 1 6 7 8 1 4 0 2 6 4 5 " -"6 2 6 5 7 8 9 10 9 8 7 10 11 12 15 13 17 11 10 9 12 " -"11 15 13 14 17 13 15 11 20 17 14 20 14 16 19 20 16 21 17 20 17 " -"21 18 22 23 24 22 18 21 23 22 21 25 26 24 25 24 23 29 27 26 29 " -"26 25 27 31 28 31 27 29 32 28 31 28 33 30 33 34 30 33 28 32 " -; - -char *VTK_VECTOR_TEXT_126 = (char *) "25 0.971429 " -"0.73714 0.34462 0.20759 0.35143 0.21143 0.34662 0.81143 0.34723 0.66857 0.35756 " -"0.86857 0.36135 0.25143 0.38115 0.90857 0.38086 0.52000 0.41580 0.32571 0.42723 " -"0.97140 0.43143 0.37143 0.43866 0.42286 0.44093 0.79429 0.49009 0.21028 0.50000 " -"0.72571 0.49681 0.86286 0.50930 0.25714 0.54115 0.92571 0.54759 0.32571 0.57470 " -"0.50286 0.57621 0.96571 0.58154 0.97143 0.58073 0.38857 0.58680 0.44000 0.58723 23 1 17 14 8 4 15 13 5 7 6 1 2 5 " -"13 3 1 6 17 3 13 0 16 10 18 15 4 0 13 7 16 15 0 13 8 " -"20 12 12 20 11 9 17 6 10 16 7 17 9 19 22 21 18 11 20 24 11 " -"19 9 20 8 15 11 24 23 22 18 10 11 23 19 " -; - - -// Construct object with no string set and backing enabled. -VTKViewer_VectorText::VTKViewer_VectorText() -{ - this->Text = NULL; - - this->Letters[33] = VTK_VECTOR_TEXT_33; - this->Letters[34] = VTK_VECTOR_TEXT_34; - this->Letters[35] = VTK_VECTOR_TEXT_35; - this->Letters[36] = VTK_VECTOR_TEXT_36; - this->Letters[37] = VTK_VECTOR_TEXT_37; - this->Letters[38] = VTK_VECTOR_TEXT_38; - this->Letters[39] = VTK_VECTOR_TEXT_39; - this->Letters[40] = VTK_VECTOR_TEXT_40; - this->Letters[41] = VTK_VECTOR_TEXT_41; - this->Letters[42] = VTK_VECTOR_TEXT_42; - this->Letters[43] = VTK_VECTOR_TEXT_43; - this->Letters[44] = VTK_VECTOR_TEXT_44; - this->Letters[45] = VTK_VECTOR_TEXT_45; - this->Letters[46] = VTK_VECTOR_TEXT_46; - this->Letters[47] = VTK_VECTOR_TEXT_47; - this->Letters[48] = VTK_VECTOR_TEXT_48; - this->Letters[49] = VTK_VECTOR_TEXT_49; - this->Letters[50] = VTK_VECTOR_TEXT_50; - this->Letters[51] = VTK_VECTOR_TEXT_51; - this->Letters[52] = VTK_VECTOR_TEXT_52; - this->Letters[53] = VTK_VECTOR_TEXT_53; - this->Letters[54] = VTK_VECTOR_TEXT_54; - this->Letters[55] = VTK_VECTOR_TEXT_55; - this->Letters[56] = VTK_VECTOR_TEXT_56; - this->Letters[57] = VTK_VECTOR_TEXT_57; - this->Letters[58] = VTK_VECTOR_TEXT_58; - this->Letters[59] = VTK_VECTOR_TEXT_59; - this->Letters[60] = VTK_VECTOR_TEXT_60; - this->Letters[61] = VTK_VECTOR_TEXT_61; - this->Letters[62] = VTK_VECTOR_TEXT_62; - this->Letters[63] = VTK_VECTOR_TEXT_63; - this->Letters[64] = VTK_VECTOR_TEXT_64; - this->Letters[65] = VTK_VECTOR_TEXT_65; - this->Letters[66] = VTK_VECTOR_TEXT_66; - this->Letters[67] = VTK_VECTOR_TEXT_67; - this->Letters[68] = VTK_VECTOR_TEXT_68; - this->Letters[69] = VTK_VECTOR_TEXT_69; - this->Letters[70] = VTK_VECTOR_TEXT_70; - this->Letters[71] = VTK_VECTOR_TEXT_71; - this->Letters[72] = VTK_VECTOR_TEXT_72; - this->Letters[73] = VTK_VECTOR_TEXT_73; - this->Letters[74] = VTK_VECTOR_TEXT_74; - this->Letters[75] = VTK_VECTOR_TEXT_75; - this->Letters[76] = VTK_VECTOR_TEXT_76; - this->Letters[77] = VTK_VECTOR_TEXT_77; - this->Letters[78] = VTK_VECTOR_TEXT_78; - this->Letters[79] = VTK_VECTOR_TEXT_79; - this->Letters[80] = VTK_VECTOR_TEXT_80; - this->Letters[81] = VTK_VECTOR_TEXT_81; - this->Letters[82] = VTK_VECTOR_TEXT_82; - this->Letters[83] = VTK_VECTOR_TEXT_83; - this->Letters[84] = VTK_VECTOR_TEXT_84; - this->Letters[85] = VTK_VECTOR_TEXT_85; - this->Letters[86] = VTK_VECTOR_TEXT_86; - this->Letters[87] = VTK_VECTOR_TEXT_87; - this->Letters[88] = VTK_VECTOR_TEXT_88; - this->Letters[89] = VTK_VECTOR_TEXT_89; - this->Letters[90] = VTK_VECTOR_TEXT_90; - this->Letters[91] = VTK_VECTOR_TEXT_91; - this->Letters[92] = VTK_VECTOR_TEXT_92; - this->Letters[93] = VTK_VECTOR_TEXT_93; - this->Letters[94] = VTK_VECTOR_TEXT_94; - this->Letters[95] = VTK_VECTOR_TEXT_95; - this->Letters[96] = VTK_VECTOR_TEXT_96; - this->Letters[97] = VTK_VECTOR_TEXT_97; - this->Letters[98] = VTK_VECTOR_TEXT_98; - this->Letters[99] = VTK_VECTOR_TEXT_99; - this->Letters[100] = VTK_VECTOR_TEXT_100; - this->Letters[101] = VTK_VECTOR_TEXT_101; - this->Letters[102] = VTK_VECTOR_TEXT_102; - this->Letters[103] = VTK_VECTOR_TEXT_103; - this->Letters[104] = VTK_VECTOR_TEXT_104; - this->Letters[105] = VTK_VECTOR_TEXT_105; - this->Letters[106] = VTK_VECTOR_TEXT_106; - this->Letters[107] = VTK_VECTOR_TEXT_107; - this->Letters[108] = VTK_VECTOR_TEXT_108; - this->Letters[109] = VTK_VECTOR_TEXT_109; - this->Letters[110] = VTK_VECTOR_TEXT_110; - this->Letters[111] = VTK_VECTOR_TEXT_111; - this->Letters[112] = VTK_VECTOR_TEXT_112; - this->Letters[113] = VTK_VECTOR_TEXT_113; - this->Letters[114] = VTK_VECTOR_TEXT_114; - this->Letters[115] = VTK_VECTOR_TEXT_115; - this->Letters[116] = VTK_VECTOR_TEXT_116; - this->Letters[117] = VTK_VECTOR_TEXT_117; - this->Letters[118] = VTK_VECTOR_TEXT_118; - this->Letters[119] = VTK_VECTOR_TEXT_119; - this->Letters[120] = VTK_VECTOR_TEXT_120; - this->Letters[121] = VTK_VECTOR_TEXT_121; - this->Letters[122] = VTK_VECTOR_TEXT_122; - this->Letters[123] = VTK_VECTOR_TEXT_123; - this->Letters[124] = VTK_VECTOR_TEXT_124; - this->Letters[125] = VTK_VECTOR_TEXT_125; - this->Letters[126] = VTK_VECTOR_TEXT_126; - -} - -void VTKViewer_VectorText::Execute() -{ - vtkPolyData *output = this->GetOutput(); - vtkPoints *newPoints; - vtkCellArray *newPolys; - int ptOffset = 0; - int aPoint, i; - int pos = 0; - float xpos = 0; - float ypos = 0; - int ptCount, triCount; - char *aLetter; - float width; - float ftmp[3]; - - if (this->Text == NULL) - { - vtkErrorMacro (<< "Text is not set!"); - return; - } - - // Set things up; allocate memory - newPoints = vtkPoints::New(); - newPolys = vtkCellArray::New(); - ftmp[2] = 0.0; - - // Create Text - while (this->Text[pos]) - { - switch (this->Text[pos]) - { - case 32: - xpos += 0.4; - break; - - case 10: - ypos -= 1.4; - xpos = 0; - break; - - default: - // if we have a valid character - if ((this->Text[pos] > 32)&&(this->Text[pos] < 127)) - { - // add the result to our output - aLetter = this->Letters[this->Text[pos]]; - ptCount = strtol(aLetter,&aLetter,10); - width = strtod(aLetter,&aLetter); - for (i = 0; i < ptCount; i++) - { - ftmp[0] = strtod(aLetter,&aLetter); - ftmp[1] = strtod(aLetter,&aLetter); - ftmp[0] += xpos; - ftmp[1] += ypos; - newPoints->InsertNextPoint(ftmp); - } - triCount = strtol(aLetter,&aLetter,10); - for (i = 0; i < triCount; i++) - { - newPolys->InsertNextCell(3); - aPoint = strtol(aLetter,&aLetter,10); - newPolys->InsertCellPoint(aPoint + ptOffset); - aPoint = strtol(aLetter,&aLetter,10); - newPolys->InsertCellPoint(aPoint + ptOffset); - aPoint = strtol(aLetter,&aLetter,10); - newPolys->InsertCellPoint(aPoint + ptOffset); - } - ptOffset += ptCount; - xpos += width; - } - break; - } - pos++; - } - - // - // Update ourselves and release memory - // - output->SetPoints(newPoints); - newPoints->Delete(); - - output->SetPolys(newPolys); - newPolys->Delete(); -} - -void VTKViewer_VectorText::PrintSelf(ostream& os, vtkIndent indent) -{ - this->Superclass::PrintSelf(os,indent); - - os << indent << "Text: " << (this->Text ? this->Text : "(none)") << "\n"; -} - -VTKViewer_VectorText::~VTKViewer_VectorText() -{ - if (this->Text) - { - delete [] this->Text; - } -} diff --git a/src/VTKViewer/VTKViewer_VectorText.h b/src/VTKViewer/VTKViewer_VectorText.h deleted file mode 100644 index 660257a35..000000000 --- a/src/VTKViewer/VTKViewer_VectorText.h +++ /dev/null @@ -1,67 +0,0 @@ -/*========================================================================= - - Program: Visualization Toolkit - Module: $RCSfile$ - Language: C++ - Date: $Date$ - Version: $Revision$ - - Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen - All rights reserved. - See Copyright.txt or http://www.kitware.com/Copyright.htm for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. See the above copyright notice for more information. - -=========================================================================*/ -// .NAME vtkVectorText - create polygonal text -// .SECTION Description - -// vtkVectorText generates vtkPolyData from an input text string. Besides the -// ASCII alphanumeric characters a-z, A-Z, 0-9, vtkVectorText also supports -// ASCII punctuation marks. (The supported ASCII character set are the codes -// (33-126) inclusive.) The only control character supported is the line feed -// character "\n", which advances to a new line. -// -// To use thie class, you normally couple it with a vtkPolyDataMapper and a -// vtkActor. In this case you would use the vtkActor's transformation methods -// to position, orient, and scale the text. You may also wish to use a -// vtkFollower to orient the text so that it always faces the camera. - -// .SECTION See Also -// vtkTextMapper vtkCaptionActor2D - -// VTKViewer_VectorText.h is a copy of vtkVectorText.h file. -// Purpose of copying: to remove linking to libHybrid.so VTK library - -#ifndef __VTKViewer_VectorText_h -#define __VTKViewer_VectorText_h - -#include "vtkPolyDataSource.h" - -class VTKViewer_VectorText : public vtkPolyDataSource -{ -public: - static VTKViewer_VectorText *New(); - vtkTypeRevisionMacro(VTKViewer_VectorText,vtkPolyDataSource); - void PrintSelf(ostream& os, vtkIndent indent); - - // Description: - // Set/Get the text to be drawn. - vtkSetStringMacro(Text); - vtkGetStringMacro(Text); - -protected: - VTKViewer_VectorText(); - ~VTKViewer_VectorText(); - - void Execute(); - char *Text; - char *Letters[127]; - -}; - -#endif - - diff --git a/src/VTKViewer/VTKViewer_ViewFrame.cxx b/src/VTKViewer/VTKViewer_ViewFrame.cxx index b54107cd5..ae35016b9 100644 --- a/src/VTKViewer/VTKViewer_ViewFrame.cxx +++ b/src/VTKViewer/VTKViewer_ViewFrame.cxx @@ -26,13 +26,10 @@ // Module : SALOME // $Header$ +using namespace std; #include "VTKViewer_ViewFrame.h" #include "VTKViewer_RenderWindow.h" - -#include "SALOME_Transform.h" -#include "SALOME_TransformFilter.h" -#include "SALOME_PassThroughFilter.h" -#include "SALOME_GeometryFilter.h" +//#include "VTKViewer_InteractorStyleSALOME.h" #include "QAD_Settings.h" #include "QAD_Config.h" @@ -41,7 +38,6 @@ #include "SALOME_Selection.h" #include "SALOME_InteractiveObject.hxx" #include "VTKViewer_InteractorStyleSALOME.h" -#include "VTKViewer_VectorText.h" #include "utilities.h" @@ -54,14 +50,21 @@ // VTK Includes #include #include +#include #include #include +#include #include #include +#include +#include +#include +#include +#include +#include #include -using namespace std; /*! Constructor */ @@ -78,13 +81,13 @@ VTKViewer_ViewFrame::VTKViewer_ViewFrame(QWidget* parent, const char* name) vtkFollower* CreateTextActor(char *text, float aSize) { - VTKViewer_VectorText* aTxt = VTKViewer_VectorText::New(); + vtkVectorText* aTxt = vtkVectorText::New(); aTxt->SetText(text); vtkPolyDataMapper* textMapper = vtkPolyDataMapper::New(); textMapper->SetInput(aTxt->GetOutput()); vtkFollower* textActor = vtkFollower::New(); textActor->SetMapper(textMapper); - float aScale = 17 * aSize/100; + float aScale = 6 * aSize/100; textActor->SetScale(aScale, aScale, aScale); return textActor; } @@ -255,7 +258,6 @@ void VTKViewer_ViewFrame::InitialSetup() { m_Renderer->GetActiveCamera()->ParallelProjectionOn(); m_Renderer->LightFollowCameraOn(); - m_Renderer->TwoSidedLightingOn(); // Set BackgroundColor QString BgrColorRed = QAD_CONFIG->getSetting("VTKViewer:BackgroundColorRed"); @@ -424,38 +426,7 @@ void VTKViewer_ViewFrame::onViewReset() camera->SetFocalPoint(0,0,0); camera->SetViewUp(0,0,1); m_Renderer->ResetCamera(); - - double aOldScale = camera->GetParallelScale(); camera->SetParallelScale(500); - double aNewScale = camera->GetParallelScale(); - - //for controlling labels scale after reset - float dim; - QString Size = QAD_CONFIG->getSetting("Viewer:TrihedronSize"); - if( Size.isEmpty() ){ - dim = 100; - } else { - dim = Size.toFloat(); - } - float aScale = 17 * dim/100; - - m_Triedron->InitTraversal(); - vtkActor *ac = m_Triedron->GetNextActor(); - bool IsConeActor = true; - while(!(ac==NULL)) { - if(ac->IsA("vtkFollower")) { - ac->SetScale(aScale, aScale, aScale); - IsConeActor = true; - } - else { - if (IsConeActor) { - //coneActor is the first in the list (see m_Triedron->AddItem(...) in VTKViewer_ViewFrame::AddVector(...)) - IsConeActor = false; - } - } - ac = m_Triedron->GetNextActor(); - } - m_Renderer->ResetCameraClippingRange(); m_RW->update(); } @@ -601,7 +572,7 @@ static void ResetCameraClippingRange(vtkRenderer* theRenderer, float bounds[6] ) anActiveCamera->SetClippingRange( range ); } -static void ResetCamera(vtkRenderer* theRenderer, vtkActorCollection* theTriedron, VTKViewer_RenderWindowInteractor* theRWInteractor){ +static void ResetCamera(vtkRenderer* theRenderer){ //see vtkRenderer::ResetCamera(float bounds[6]) method float bounds[6]; if(!theRenderer) return; @@ -611,7 +582,6 @@ static void ResetCamera(vtkRenderer* theRenderer, vtkActorCollection* theTriedro float distance; float width; double vn[3], *vup; - int* winsize; if ( theRenderer->GetActiveCamera() != NULL ) { @@ -631,10 +601,6 @@ static void ResetCamera(vtkRenderer* theRenderer, vtkActorCollection* theTriedro (bounds[5]-bounds[4])*(bounds[5]-bounds[4])); double ang = theRenderer->GetActiveCamera()->GetViewAngle(); distance = 2.0*width/tan(ang*vtkMath::Pi()/360.0); - - // find size of the window - winsize = theRenderer->GetSize(); - // check view-up vector against view plane normal vup = theRenderer->GetActiveCamera()->GetViewUp(); if ( fabs(vtkMath::Dot(vup,vn)) > 0.999 ) @@ -645,25 +611,11 @@ static void ResetCamera(vtkRenderer* theRenderer, vtkActorCollection* theTriedro // update the camera theRenderer->GetActiveCamera()->SetFocalPoint(center[0],center[1],center[2]); - theRenderer->GetActiveCamera()->SetPosition(center[0]+distance*vn[0], + theRenderer->GetActiveCamera()->SetPosition(center[0]+distance*vn[0], center[1]+distance*vn[1], center[2]+distance*vn[2]); // setup default parallel scale - double aOldScale = theRenderer->GetActiveCamera()->GetParallelScale(); - - if(winsize[0]GetActiveCamera()->SetParallelScale(width/2.0); - double aNewScale = theRenderer->GetActiveCamera()->GetParallelScale(); - - // for controlling label size - VTKViewer_InteractorStyleSALOME* Style = 0; - if (theRWInteractor->GetInteractorStyle()->IsA("VTKViewer_InteractorStyleSALOME")) { - Style = VTKViewer_InteractorStyleSALOME::SafeDownCast(theRWInteractor->GetInteractorStyle()); - Style->ControlLblSize(aOldScale,aNewScale); - } - //workaround on VTK //theRenderer->ResetCameraClippingRange(bounds); ResetCameraClippingRange(theRenderer,bounds); @@ -682,9 +634,8 @@ void VTKViewer_ViewFrame::onViewFitAll() TriedronWasVisible = true; } bool hasVisibleActors = m_Renderer->VisibleActorCount() > 0; - if ( hasVisibleActors ) { // if there are visible actors, not to take into account Trihedron - ResetCamera(m_Renderer,m_Triedron,m_RWInteractor); - } + if ( hasVisibleActors ) // if there are visible actors, not to take into account Trihedron + ResetCamera(m_Renderer); if(TriedronWasVisible) { m_Triedron->InitTraversal(); vtkActor *ac = m_Triedron->GetNextActor(); @@ -692,9 +643,8 @@ void VTKViewer_ViewFrame::onViewFitAll() ac->VisibilityOn(); ac = m_Triedron->GetNextActor(); } - if ( !hasVisibleActors ) { // if there are NO visible actors, fit view to see only Trihedron - ResetCamera(m_Renderer,m_Triedron,m_RWInteractor); - } + if ( !hasVisibleActors ) // if there are NO visible actors, fit view to see only Trihedron + ResetCamera(m_Renderer); } //m_Renderer->ResetCameraClippingRange(); m_RW->update(); @@ -980,11 +930,6 @@ void VTKViewer_ViewFrame::GetScale(double theScale[3]){ void VTKViewer_ViewFrame::SetScale(double theScale[3]){ m_Transform->SetScale(theScale[0], theScale[1], theScale[2]); m_Transform->Modified(); - vtkActorCollection* theActors = m_Renderer->GetActors(); - theActors->InitTraversal(); - vtkActor *anActor; - while(anActor = theActors->GetNextActor()) - anActor->GetMapper()->Update(); Repaint(); } -- 2.39.2