Line data Source code
1 : /* -*- mode: c++ -*- */ 2 : //# PassThroughTVI 3 : //# Copyright (C) 2017 4 : //# Associated Universities, Inc. Washington DC, USA. 5 : //# 6 : //# This library is free software; you can redistribute it and/or modify it 7 : //# under the terms of the GNU Library General Public License as published by 8 : //# the Free Software Foundation; either version 2 of the License, or (at your 9 : //# option) any later version. 10 : //# 11 : //# This library is distributed in the hope that it will be useful, but WITHOUT 12 : //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 : //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public 14 : //# License for more details. 15 : //# 16 : //# You should have received a copy of the GNU Library General Public License 17 : //# along with this library; if not, write to the Free Software Foundation, 18 : //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA. 19 : //# 20 : //# Correspondence concerning AIPS++ should be addressed as follows: 21 : //# Internet email: casa-feedback@nrao.edu. 22 : //# Postal address: AIPS++ Project Office 23 : //# National Radio Astronomy Observatory 24 : //# 520 Edgemont Road 25 : //# Charlottesville, VA 22903-2475 USA 26 : //# 27 : 28 : #include <msvis/MSVis/PassThroughTVI.h> 29 : #include <msvis/MSVis/VisBuffer2.h> 30 : 31 : using namespace casacore; 32 : namespace casa { //# NAMESPACE CASA - BEGIN 33 : 34 : namespace vi { //# NAMESPACE VI - BEGIN 35 : 36 0 : PassThroughTVI::PassThroughTVI(ViImplementation2 * inputVii) 37 0 : : TransformingVi2 (inputVii) 38 : { 39 0 : setVisBuffer(createAttachedVisBuffer (VbRekeyable)); 40 0 : } 41 : 42 0 : void PassThroughTVI::origin() 43 : { 44 : // Drive underlying ViImplementation2 45 0 : getVii()->origin(); 46 : 47 : // Synchronize own VisBuffer 48 0 : configureNewSubchunk(); 49 : 50 0 : return; 51 : } 52 : 53 0 : void PassThroughTVI::next() 54 : { 55 : // Drive underlying ViImplementation2 56 0 : getVii()->next(); 57 : 58 : // Synchronize own VisBuffer 59 0 : configureNewSubchunk(); 60 : 61 0 : return; 62 : } 63 : 64 0 : PassThroughTVIFactory::PassThroughTVIFactory(ViImplementation2 *inputVII) 65 0 : : inputVii_p(inputVII) 66 : { 67 0 : } 68 : 69 0 : PassThroughTVIFactory::~PassThroughTVIFactory () 70 : { 71 0 : } 72 : 73 0 : ViImplementation2 * PassThroughTVIFactory::createVi () const { 74 : 75 0 : ViImplementation2* vii = new PassThroughTVI(inputVii_p); 76 0 : return vii; 77 : } 78 : 79 0 : PassThroughTVILayerFactory::PassThroughTVILayerFactory() 80 : { 81 0 : } 82 : 83 0 : PassThroughTVILayerFactory::~PassThroughTVILayerFactory() 84 : { 85 0 : } 86 : 87 : ViImplementation2 * 88 0 : PassThroughTVILayerFactory::createInstance(ViImplementation2* vii0) const 89 : { 90 : // Make the PassThroughTVI, using supplied ViImplementation2, and return it 91 0 : ViImplementation2 *vii = new PassThroughTVI(vii0); 92 0 : return vii; 93 : } 94 : 95 : } //# NAMESPACE VI - END 96 : 97 : } //# NAMESPACE CASA - END