Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:49:46

0001 /*
0002  * Copyright (c) 2019 Opticks Team. All Rights Reserved.
0003  *
0004  * This file is part of Opticks
0005  * (see https://bitbucket.org/simoncblyth/opticks).
0006  *
0007  * Licensed under the Apache License, Version 2.0 (the "License"); 
0008  * you may not use this file except in compliance with the License.  
0009  * You may obtain a copy of the License at
0010  *
0011  *   http://www.apache.org/licenses/LICENSE-2.0
0012  *
0013  * Unless required by applicable law or agreed to in writing, software 
0014  * distributed under the License is distributed on an "AS IS" BASIS, 
0015  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
0016  * See the License for the specific language governing permissions and 
0017  * limitations under the License.
0018  */
0019 
0020 #pragma once
0021 
0022 /**
0023 SRenderer : Protocol base
0024 ============================
0025 
0026 Duties of the *render* method
0027 --------------------------------
0028 
0029 1. access eye-look-up and camera parameters from Composition and update GPU context accordingly 
0030 2. do the launch, recording the time
0031 3. return the launch time    
0032 
0033 Duties of the *snap* method
0034 -----------------------------
0035 
0036 1. download the frame buffer into CPU side pixels buffer
0037 2. annotate pixels buffer with top/bottom lines 
0038 3. save pixels buffer to to file at the path provided
0039 
0040 **/
0041 
0042 class SRenderer {
0043    public:
0044       virtual double render() = 0 ;
0045       virtual void snap(const char* path, const char* bottom_line, const char* top_line, unsigned line_height, bool inverted ) = 0 ;  
0046 
0047 };
0048 
0049