$(patsubst %.la, %.so, $@).0 || true
if ! test -z $(LIB_SWIG) ; then \
- ln -sf $(patsubst %.la,%.so, $(CURDIR)/.libs/$<) $(top_builddir)/lib/_$(LIB_SWIG) || true;\
+ ln -sf $(patsubst %.la,%.so, $(CURDIR)/.libs/$<) $(top_builddir)/lib/salome/_$(LIB_SWIG) || true;\
fi;
$(LIB_BUILD_A): $(top_builddir)/lib/salome/%.a: %.a
#IDLOBJ=$(IDLSRC:%.idl=%$(IDL_CLN_OBJ))
# dependancies between idl and it's generated files
-%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${top_builddir}/share/salome/idl/%.idl
+%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${top_builddir}/idl/%.idl
$(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $<
# dependncies between idl files
# $Header$
top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
# $Header$
top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
# $Header$
top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
# $Header$
top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
-using namespace std;
-//=============================================================================
-// File : SALOME_Session_Loader.cxx
-// Created : jeu jun 21 07:37:59 CEST 2001
-// Author : Paul RASCLE, EDF
-// Project : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+// Copyright (C) 2003 CEA/DEN, EDF R&D
+//
+//
+//
+// File : SALOME_Session_loader.cxx
+// Author : Paul RASCLE, EDF
+// Module : SALOME
+// $Header$
+using namespace std;
/*! \file SALOME_Session_loader.cxx
*/
if (myIS.getExitStatus())
exit(1);
-//VRVcd: T2.4 - Trace management improvement
- if (myIS.withGUI()) {
- try
- {
- CORBA::ORB_ptr orb = CORBA::ORB_init(argc,argv) ;
-
- SALOME_NamingService &NS = *SINGLETON_<SALOME_NamingService>::Instance() ;
- ASSERT(SINGLETON_<SALOME_NamingService>::IsAlreadyExisting()) ;
- NS.init_orb( orb ) ;
-
- CORBA::Object_var obj = NS.Resolve("/Kernel/Session");
-
- SALOME::Session_var session = SALOME::Session::_narrow(obj) ;
- ASSERT(! CORBA::is_nil(session));
- MESSAGE("SALOME::Session::_narrow(obj)");
- INFOS("Corba initialisation, Distant server");
-
- // -------------------------------------------------------------
-
- session->GetInterface() ;
-
- // -------------------------------------------------------------
-
- orb->destroy() ;
- }
- catch (ServiceUnreachable&)
- {
- INFOS("Caught exception: Naming Service Unreachable");
- }
- catch (CORBA::COMM_FAILURE&)
- {
- INFOS("Caught CORBA::SystemException CommFailure.");
- }
- catch (CORBA::SystemException&)
- {
- INFOS("Caught CORBA::SystemException.");
- }
- catch (CORBA::Exception&)
- {
- INFOS("Caught CORBA::Exception.");
- }
- catch (...)
- {
- INFOS("Caught unknown exception.");
- }
- }
+//VRV: T2.4 - Trace management improvement
+ try
+ {
+ CORBA::ORB_ptr orb = CORBA::ORB_init(argc,argv) ;
+
+ SALOME_NamingService &NS = *SINGLETON_<SALOME_NamingService>::Instance() ;
+ ASSERT(SINGLETON_<SALOME_NamingService>::IsAlreadyExisting()) ;
+ NS.init_orb( orb ) ;
+
+ CORBA::Object_var obj = NS.Resolve("/Kernel/Session");
+
+ SALOME::Session_var session = SALOME::Session::_narrow(obj) ;
+ ASSERT(! CORBA::is_nil(session));
+ MESSAGE("SALOME::Session::_narrow(obj)");
+ INFOS("Corba initialisation, Distant server");
+
+ // -------------------------------------------------------------
+
+ session->GetInterface() ;
+
+ // -------------------------------------------------------------
+
+ orb->destroy() ;
+ }
+ catch (ServiceUnreachable&)
+ {
+ INFOS("Caught exception: Naming Service Unreachable");
+ }
+ catch (CORBA::COMM_FAILURE&)
+ {
+ INFOS("Caught CORBA::SystemException CommFailure.");
+ }
+ catch (CORBA::SystemException&)
+ {
+ INFOS("Caught CORBA::SystemException.");
+ }
+ catch (CORBA::Exception&)
+ {
+ INFOS("Caught CORBA::Exception.");
+ }
+ catch (...)
+ {
+ INFOS("Caught unknown exception.");
+ }
return 0 ;
}
+++ /dev/null
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : SALOME_Session_loader.cxx
-// Author : Paul RASCLE, EDF
-// Module : SALOME
-// $Header$
-
-using namespace std;
-/*! \file SALOME_Session_loader.cxx
- */
-
-#include <SALOMEconfig.h>
-#include CORBA_CLIENT_HEADER(SALOME_Session)
-
-#include "Utils_ORB_INIT.hxx"
-#include "Utils_SINGLETON.hxx"
-#include "SALOME_NamingService.hxx"
-#include "utilities.h"
-
-//! CORBA client for SALOME Session server : launch GUI
-/*!
- * SALOME_Session Loader launches a SALOME GUI on the SALOME session servant process
- */
-
-#include <qapplication.h>
-#include "InquireServersQThread.h"
-
-int main(int argc, char **argv)
-{
-//VRV: T2.4 - Trace management improvement
- QApplication myQApp(argc, argv) ;
- InquireServersGUI myIS;
- myQApp.setMainWidget(&myIS);
- ASSERT(QObject::connect(&myQApp, SIGNAL(lastWindowClosed()), &myQApp, SLOT(quit()) ) );
- myIS.show();
- myQApp.exec();
-
- if (myIS.getExitStatus())
- exit(1);
-//VRV: T2.4 - Trace management improvement
- try
- {
- CORBA::ORB_ptr orb = CORBA::ORB_init(argc,argv) ;
-
- SALOME_NamingService &NS = *SINGLETON_<SALOME_NamingService>::Instance() ;
- ASSERT(SINGLETON_<SALOME_NamingService>::IsAlreadyExisting()) ;
- NS.init_orb( orb ) ;
-
- CORBA::Object_var obj = NS.Resolve("/Kernel/Session");
-
- SALOME::Session_var session = SALOME::Session::_narrow(obj) ;
- ASSERT(! CORBA::is_nil(session));
- MESSAGE("SALOME::Session::_narrow(obj)");
- INFOS("Corba initialisation, Distant server");
-
- // -------------------------------------------------------------
-
- session->GetInterface() ;
-
- // -------------------------------------------------------------
-
- orb->destroy() ;
- }
- catch (ServiceUnreachable&)
- {
- INFOS("Caught exception: Naming Service Unreachable");
- }
- catch (CORBA::COMM_FAILURE&)
- {
- INFOS("Caught CORBA::SystemException CommFailure.");
- }
- catch (CORBA::SystemException&)
- {
- INFOS("Caught CORBA::SystemException.");
- }
- catch (CORBA::Exception&)
- {
- INFOS("Caught CORBA::Exception.");
- }
- catch (...)
- {
- INFOS("Caught unknown exception.");
- }
- return 0 ;
-}
-
-
# $Header$
top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
# $Header$
top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
# Module : SALOME
top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
# $Header$
top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
# $Header$
top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
# $Header$
top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
# $Header$
top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
# $Header$
top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
EXPORT_HEADERS = SALOME_InteractiveObject.hxx \
Handle_SALOME_InteractiveObject.hxx \
SALOME_Actor.h \
+ SALOME_Transform.h \
SALOME_AISShape.hxx \
Handle_SALOME_AISShape.hxx \
SALOME_AISObject.hxx \
- Handle_SALOME_AISObject.hxx
+ Handle_SALOME_AISObject.hxx \
+ VTKViewer_Common.h
+
# Libraries targets
LIB = libSalomeObject.la
LIB_SRC = SALOME_InteractiveObject.cxx \
SALOME_Actor.cxx \
+ SALOME_Transform.cxx \
SALOME_AISShape.cxx\
SALOME_AISObject.cxx
# Module : SALOME
top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
Plot2d_CurveContainer.h \
Plot2d_ViewFrame.h \
Plot2d_SetupViewDlg.h \
- Plot2d_SetupPlot2dDlg.h
-
+ Plot2d_SetupPlot2dDlg.h \
+ Plot2d_FitDataDlg.h
+
# .po files to transform in .qm
#PO_FILES = \
Plot2d_CurveContainer.cxx \
Plot2d_ViewFrame.cxx \
Plot2d_SetupViewDlg.cxx \
- Plot2d_SetupPlot2dDlg.cxx
+ Plot2d_SetupPlot2dDlg.cxx \
+ Plot2d_FitDataDlg.cxx
LIB_MOC = \
Plot2d.h \
Plot2d_ViewFrame.h \
Plot2d_SetupViewDlg.h \
- Plot2d_SetupPlot2dDlg.h
+ Plot2d_SetupPlot2dDlg.h \
+ Plot2d_FitDataDlg.h
LIB_CLIENT_IDL = SALOMEDS.idl \
SALOME_ModuleCatalog.idl \
# $Header$
top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
# $Header$
top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
# $Header$
top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
CPPFLAGS+=$(OCC_INCLUDES) $(HDF5_INCLUDES)
CXXFLAGS+=$(OCC_CXXFLAGS)
-LDFLAGS+=$(CAS_KERNEL) $(CAS_OCAF) $(CAS_VIEWER) $(CAS_MODELER) $(HDF5_LIBS) -lTOOLSDS -lSalomeNS -lSalomeHDFPersist -lOpUtil -lSalomeLoggerServer
-# -L/opt/ccmalloc/lib -lccmalloc -ldl
-# -L/opt/efence/lib -lefence
+LDFLAGS+=$(OCC_KERNEL_LIBS) $(OCC_OCAF_LIBS) $(OCC_VIEWER_LIBS) $(OCC_MODELER_LIBS) $(HDF5_LIBS) -lTOOLSDS -lSalomeNS -lSalomeHDFPersist -lOpUtil -lSalomeLoggerServer
@CONCLUDE@
CPPFLAGS+=$(QT_MT_INCLUDES) $(OCC_INCLUDES) $(PYTHON_INCLUDES)
CXXFLAGS+=$(OCC_CXXFLAGS)
-LDFLAGS+=$(QT_MT_LIBS) $(CAS_KERNEL) $(CAS_OCAF) $(CAS_VIEWER) $(CAS_MODELER) -lSalomeNS -lSalomeGUI -lSalomeObject -lSalomeLifeCycleCORBA -lqsplitterP -lOpUtil -lSalomeLoggerServer -lPlot2d
+LDFLAGS+=$(QT_MT_LIBS) $(OCC_KERNEL_LIBS) $(OCC_OCAF_LIBS) $(OCC_VIEWER_LIBS) $(OCC_MODELER_LIBS) -lSalomeNS -lSalomeGUI -lSalomeObject -lSalomeLifeCycleCORBA -lqsplitterP -lOpUtil -lSalomeLoggerServer -lPlot2d
@CONCLUDE@
#include <unistd.h>
using namespace std;
-// #include <qapplication.h>
-// #include "Qtappl_example.hxx"
-
#include <SALOMEconfig.h>
#include CORBA_SERVER_HEADER(SALOME_Session)
CORBA::ORB_var &orb = init( argc , argv ) ;
CORBA::Object_var obj =orb->resolve_initial_references("RootPOA") ;
- //MESSAGE("orb->resolve_initial_references('Root_POA')")
PortableServer::POA_var poa = PortableServer::POA::_narrow(obj) ;
- //MESSAGE("POA::_narrow(obj)")
// servant
-
SALOME_Session_i * mySALOME_Session = new SALOME_Session_i(argc, argv, orb, poa) ;
PortableServer::ObjectId_var mySALOME_Sessionid = poa->activate_object(mySALOME_Session) ;
MESSAGE("poa->activate_object(mySALOME_Session)")
obj = mySALOME_Session->_this() ;
CORBA::String_var sior(orb->object_to_string(obj)) ;
- // MESSAGE("sior(orb->object-to-string(obj))")
- // cerr << "'" << (char*) sior << "'" << endl ;
mySALOME_Session->NSregister();
mySALOME_Session->_remove_ref() ;
- //MESSAGE("mySALOME_Session->_remove_ref()")
PortableServer::POAManager_var pman = poa->the_POAManager() ;
pman->activate() ;
_poa = PortableServer::POA::_duplicate(poa) ;
MESSAGE("constructor end");
}
-
-Engines::Component_ptr SALOME_Session_i::GetVisuGen(){
- typedef Engines::Component_ptr VisuGen(CORBA::ORB_ptr, PortableServer::POA_ptr,
- SALOME_NamingService*, QMutex*);
- MESSAGE("SALOME_Session_i::GetVisuGen");
- OSD_SharedLibrary visuSharedLibrary("libVisuEngine.so");
- if(visuSharedLibrary.DlOpen(OSD_RTLD_LAZY))
- if(OSD_Function osdFun = visuSharedLibrary.DlSymb("GetVisuGen"))
- return ((VisuGen (*)) osdFun)(_orb,_poa,_NS,&_GUIMutex);
- return Engines::Component::_nil();
-}
+
+//=============================================================================
+/*! GetVisuComponent
+ * returns Visu component
+ */
+//=============================================================================
Engines::Component_ptr SALOME_Session_i::GetVisuComponent() {
MESSAGE("SALOME_Session_i::GetVisuGen");
#include <SALOMEconfig.h>
#include CORBA_SERVER_HEADER(SALOME_Component)
-//***//#include CORBA_SERVER_HEADER(VISU_Gen)
#include CORBA_SERVER_HEADER(SALOME_Session)
class SALOME_NamingService;
class SALOME_Session_QThread;
//! Launch Graphical User Interface
void GetInterface();
- //***//VISU::VISU_Gen_ptr GetVisuGen();
+
+ //! Return VISU component
Engines::Component_ptr GetVisuComponent();
//! Stop the Session (must be idle): kill servant & server
CPPFLAGS+=$(OCC_INCLUDES) $(HDF5_INCLUDES)
CXXFLAGS+=$(OCC_CXXFLAGS)
-LDFLAGS+=$(CAS_KERNEL) -lOpUtil -lSalomeLoggerServer
-# -L/opt/ccmalloc/lib -lccmalloc -ldl
-# -L/opt/efence/lib -lefence
+LDFLAGS+=$(OCC_KERNEL_LIBS) -lOpUtil -lSalomeLoggerServer
@CONCLUDE@
# $Header$
top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
# $Header$
top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@:@top_srcdir@/idl
# $Header$
top_srcdir=@top_srcdir@
-top_builddir=../../..
+top_builddir=../..
srcdir=@srcdir@
VPATH=.:@srcdir@:$(top_builddir)/inc:$(top_builddir)/idl
+++ /dev/null
-using namespace std;
-// File : VTKViewer_NonIsometricTransform.cxx
-// Created : Thu Jan 30 15:21:07 2003
-// Project : SALOME PRO
-// Author : Vasily RUSYAEV (vrv)
-// Copyright : Open CASCADE 2003
-// $Header:
-
-#include "VTKViewer_NonIsometricTransform.h"
-
-double ident(double in, double coeff) { return in; }
-double dident(double in, double coeff) { return 1.0; }
-
-double Exponent(double in, double coeff){ return exp(in)-coeff;}
-double dExponent(double in, double coeff){ return exp(in);}
-double Log(double in, double coeff){ return log(in+coeff);}
-double dLog(double in, double coeff){ return 1.0/(in+coeff);}
-
-double Scl(double in, double coeff){ return coeff*in;}
-double dScl(double in, double coeff){ return coeff;}
-double IScl(double in, double coeff){ return in/coeff;}
-double dIScl(double in, double coeff){ return 1.0/coeff;}
-
-
-AxisFunction::AxisFunction(Axis A)
- : m_axis(A), fFun(&ident), dfFun(&dident), iFun(&ident), diFun(&dident)
-{
-}
-AxisFunction::AxisFunction()
- : m_axis(XAxis), fFun(&ident), dfFun(&dident), iFun(&ident), diFun(&dident)
-{
-}
-
-inline void AxisFunction::forward(const double in, const double coeff, double& out, double der[3]) const
-{
- init_der(der);
- der[m_axis] = (*dfFun)( in, coeff);
- forward(in, coeff, out);
-}
-
-inline void AxisFunction::inverse(const double in, const double coeff, double& out, double der[3]) const
-{
- init_der(der);
- der[m_axis] = (*diFun)( in, coeff );
- inverse(in, coeff , out);
-}
-
-inline MFun AxisFunction::getfFun()
-{
- return fFun;
-}
-
-VTKViewer_NonIsometricTransform::VTKViewer_NonIsometricTransform ()
-{
- m_coeff[0] = m_coeff[1] = m_coeff[2] = 1.0;
- m_axisFunctions[0] = AxisFunction ( AxisFunction::XAxis );
- m_axisFunctions[1] = AxisFunction ( AxisFunction::YAxis );
- m_axisFunctions[2] = AxisFunction ( AxisFunction::ZAxis );
-}
-
-void VTKViewer_NonIsometricTransform::ForwardTransformPoint(const float in[3], float out[3])
-{
- //TODO
- //ForwardTransformPoint( in, out );
-}
-inline void VTKViewer_NonIsometricTransform::ForwardTransformPoint(const double in[3], double out[3])
-{
- for(int i = 0; i < 3; i++)
- m_axisFunctions[i].forward(in[i], m_coeff[i], out[i]);
-}
-inline void VTKViewer_NonIsometricTransform::ForwardTransformDerivative(const double in[3],
- double out[3], double der[3][3])
-{
- for(int i = 0; i < 3; i++)
- m_axisFunctions[i].forward(in[i], m_coeff[i], out[i], der[i]);
-}
-void VTKViewer_NonIsometricTransform::ForwardTransformDerivative(const float in[3], float out[3], float der[3][3])
-{
- //TODO
- //ForwardTransformDerivative(in,out,der);
-}
-inline void VTKViewer_NonIsometricTransform::InverseTransformDerivative(const double in[3],
- double out[3], double der[3][3])
-{
- for(int i = 0; i < 3; i++)
- m_axisFunctions[i].inverse(in[i], m_coeff[i], out[i], der[i]);
-}
-inline void VTKViewer_NonIsometricTransform::InverseTransformPoint(const double in[3], double out[3])
-{
- for(int i = 0; i < 3; i++)
- m_axisFunctions[i].inverse(in[i], m_coeff[i], out[i]);
-}
-void VTKViewer_NonIsometricTransform::InverseTransformPoint(const float in[3], float out[3])
-{
- //TODO
- //InverseTransformPoint(in,out);
-}
-
-
-void VTKViewer_NonIsometricTransform::SetFunction(const AxisFunction::Axis axis,
- const Function aFunction, const double coeff)
-{
- m_coeff[axis] = coeff;
- switch (aFunction)
- {
- case Identical:
- m_axisFunctions[axis] = AxisFunction( axis );
- break;
- case Linear:
- m_axisFunctions[axis] = AxisFunction( axis, &Scl,&dScl,&IScl,&dIScl);
- break;
- case Logarithmic:
- m_axisFunctions[axis] = AxisFunction( axis, &Log, &dLog, &Exponent, &dExponent );
- break;
- }
-}
-
-inline void VTKViewer_NonIsometricTransform::SetFunction(const AxisFunction AF)
-{
- m_axisFunctions[AF.getAxis()] = AF;
-}
-
-VTKViewer_NonIsometricTransform* VTKViewer_NonIsometricTransform::New()
-{
- // First try to create the object from the vtkObjectFactory
- vtkObject* ret = vtkObjectFactory::CreateInstance("VTKViewer_NonIsometricTransform");
- if(ret)
- return (VTKViewer_NonIsometricTransform*)ret;
- // If the factory was unable to create the object, then create it here.
- return new VTKViewer_NonIsometricTransform;
-}
-
-VTKViewer_NonIsometricTransform::Function VTKViewer_NonIsometricTransform::GetFunctionType(const AxisFunction::Axis axis)
-{
- if ( m_axisFunctions[axis].getfFun() == &ident) {
- return Identical;
- }
- if ( m_axisFunctions[axis].getfFun() == &Scl ) {
- return Linear;
- }
- if ( m_axisFunctions[axis].getfFun() == &Log ) {
- return Logarithmic;
- }
-}
-
-double VTKViewer_NonIsometricTransform::GetCoeff (const AxisFunction::Axis axis)
-{
- return m_coeff[axis];
-}
+++ /dev/null
-#ifndef __VTKViewer_NonIsometricTransform_h
-#define __VTKViewer_NonIsometricTransform_h
-
-
-#include <vtkWarpTransform.h>
-//#include <vtkImageData.h>
-//#include <vtkTransformPolyDataFilter.h>
-
-#include <vtkObjectFactory.h>
-#include <math.h>
-
-//second parameter is coefficient ( e.g y = ky, second parameter is k )
-typedef double (*MFun)(double,double);
-
-class AxisFunction
-{
- public:
- enum Axis {XAxis=0, YAxis, ZAxis};
- private:
-
- void init_der(double der[3]) const
- {
- der[XAxis] = der[YAxis] = der[ZAxis] = 0.0;
- }
-
- public:
- AxisFunction(Axis A, MFun fF, MFun dfF, MFun iF, MFun diF)
- : m_axis(A), fFun(fF), dfFun(dfF), iFun(iF), diFun(diF) {};
- AxisFunction(Axis A);
- AxisFunction();
-
- const Axis getAxis() const{ return m_axis; }
- void setAxis(const Axis axis) { m_axis = axis; }
-
- void forward(const double in, const double coeff, double& out) const
- {
- out = (*fFun)( in, coeff );
- }
-
- void forward(const double in, const double coeff, double& out, double der[3]) const;
-
- void inverse(const double in, const double coeff, double& out) const
- {
- out = (*iFun)( in, coeff );
- }
- void inverse(const double in, const double coeff, double& out, double der[3]) const;
-
- MFun getfFun() ;
-
- private:
- Axis m_axis;
- MFun fFun, dfFun, iFun, diFun;
-};
-
-
-class VTK_EXPORT VTKViewer_NonIsometricTransform : public vtkWarpTransform
-{
- public:
- enum Function { Identical = 0, Linear, Logarithmic };
- protected:
-
- void ForwardTransformPoint(const float in[3], float out[3]);
- void ForwardTransformPoint(const double in[3], double out[3]);
- void ForwardTransformDerivative(const double in[3], double out[3], double der[3][3]);
- void ForwardTransformDerivative(const float in[3], float out[3], float der[3][3]);
- void InverseTransformDerivative(const double in[3], double out[3], double der[3][3]);
- void InverseTransformPoint(const double in[3], double out[3]);
- void InverseTransformPoint(const float in[3], float out[3]);
-
- VTKViewer_NonIsometricTransform();
-
- void SetFunction(const AxisFunction AF);
-
- public:
-
- vtkTypeMacro(VTKViewer_NonIsometricTransform,vtkWarpTransform);
- static VTKViewer_NonIsometricTransform *New();
-
- vtkAbstractTransform* MakeTransform()
- {
- return VTKViewer_NonIsometricTransform::New();
- }
- virtual void PrintSelf(ostream& os, vtkIndent indent)
- {
- vtkWarpTransform::PrintSelf(os,indent);
- }
- void SetFunction(const AxisFunction::Axis axis, const Function aFunction, const double coeff);
-
- Function GetFunctionType(const AxisFunction::Axis axis);
- double GetCoeff (const AxisFunction::Axis axis);
-
- private:
- AxisFunction m_axisFunctions[3];
- double m_coeff[3];
-};
-
-#endif