| 
									
										
										
										
											2012-05-18 09:45:23 +02:00
										 |  |  | /////////////////////////////////////////////////////////////////////////////////
 | 
					
						
							|  |  |  | //
 | 
					
						
							| 
									
										
										
										
											2014-09-23 15:04:57 +02:00
										 |  |  | //  Copyright (C) 2011-     Statoil ASA
 | 
					
						
							|  |  |  | //  Copyright (C) 2013-     Ceetron Solutions AS
 | 
					
						
							|  |  |  | //  Copyright (C) 2011-2012 Ceetron AS
 | 
					
						
							| 
									
										
										
										
											2012-05-18 09:45:23 +02:00
										 |  |  | // 
 | 
					
						
							|  |  |  | //  ResInsight is free software: you can redistribute it and/or modify
 | 
					
						
							|  |  |  | //  it under the terms of the GNU General Public License as published by
 | 
					
						
							|  |  |  | //  the Free Software Foundation, either version 3 of the License, or
 | 
					
						
							|  |  |  | //  (at your option) any later version.
 | 
					
						
							|  |  |  | // 
 | 
					
						
							|  |  |  | //  ResInsight 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 General Public License at <http://www.gnu.org/licenses/gpl.html> 
 | 
					
						
							|  |  |  | //  for more details.
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | /////////////////////////////////////////////////////////////////////////////////
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #pragma once
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "cvfArray.h"
 | 
					
						
							|  |  |  | #include "cvfCollection.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-01 10:03:08 +01:00
										 |  |  | #include "RivGridPartMgr.h"
 | 
					
						
							| 
									
										
										
										
											2013-12-10 07:56:58 +01:00
										 |  |  | #include "RivReservoirFaultsPartMgr.h"
 | 
					
						
							| 
									
										
										
										
											2013-12-03 20:30:32 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-05-18 09:45:23 +02:00
										 |  |  | namespace cvf | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     class ModelBasicList; | 
					
						
							|  |  |  |     class Transform; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class RimResultSlot; | 
					
						
							|  |  |  | class RimCellEdgeResultSlot; | 
					
						
							| 
									
										
										
										
											2013-03-22 15:43:42 +01:00
										 |  |  | class RigCaseData; | 
					
						
							| 
									
										
										
										
											2015-05-21 10:05:33 +02:00
										 |  |  | class RimEclipseView; | 
					
						
							| 
									
										
										
										
											2012-05-18 09:45:23 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | //==================================================================================================
 | 
					
						
							|  |  |  | ///
 | 
					
						
							|  |  |  | /// RivReservoirGeometry: Class to handle visualization structures that embodies a complete reservoir at a specific 
 | 
					
						
							|  |  |  | /// time step. 
 | 
					
						
							|  |  |  | ///
 | 
					
						
							|  |  |  | //==================================================================================================
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class RivReservoirPartMgr: public cvf::Object | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | public: | 
					
						
							| 
									
										
										
										
											2015-05-21 10:05:33 +02:00
										 |  |  |     void   clearAndSetReservoir(const RigCaseData* eclipseCase, RimEclipseView* reservoirView); | 
					
						
							| 
									
										
										
										
											2012-05-18 09:45:23 +02:00
										 |  |  |     void   setTransform(cvf::Transform* scaleTransform); | 
					
						
							|  |  |  |     void   setCellVisibility(size_t gridIndex, cvf::UByteArray* cellVisibilities ); | 
					
						
							| 
									
										
										
										
											2014-01-07 14:27:43 +01:00
										 |  |  |     void   setFaultForceVisibility(bool isGeneratedByFilter); | 
					
						
							| 
									
										
										
										
											2012-05-18 09:45:23 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     //size_t gridCount() { return m_allGrids.size(); }
 | 
					
						
							|  |  |  |     cvf::ref<cvf::UByteArray>   | 
					
						
							|  |  |  |            cellVisibility(size_t gridIdx); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     void   updateCellColor(cvf::Color4f color); | 
					
						
							|  |  |  |     void   updateCellResultColor(size_t timeStepIndex, RimResultSlot* cellResultSlot); | 
					
						
							|  |  |  |     void   updateCellEdgeResultColor(size_t timeStepIndex, RimResultSlot* cellResultSlot,  | 
					
						
							|  |  |  |                                      RimCellEdgeResultSlot* cellEdgeResultSlot); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-12-09 14:17:36 +01:00
										 |  |  |     void   appendGridPartsToModel(cvf::ModelBasicList* model, const std::vector<size_t>& gridIdxes); | 
					
						
							|  |  |  |     void   appendGridPartsToModel(cvf::ModelBasicList* model); | 
					
						
							| 
									
										
										
										
											2012-05-18 09:45:23 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-12-09 14:17:36 +01:00
										 |  |  |     // Faults
 | 
					
						
							| 
									
										
										
										
											2014-01-07 14:27:43 +01:00
										 |  |  |     void   updateFaultColors(size_t timeStepIndex, RimResultSlot* cellResultSlot); | 
					
						
							| 
									
										
										
										
											2014-08-13 10:45:09 +02:00
										 |  |  | 	void   updateFaultCellEdgeResultColor(size_t timeStepIndex, RimResultSlot* cellResultSlot, | 
					
						
							|  |  |  | 		RimCellEdgeResultSlot* cellEdgeResultSlot); | 
					
						
							|  |  |  | 	void   appendFaultPartsToModel(cvf::ModelBasicList* model); | 
					
						
							| 
									
										
										
										
											2013-12-18 12:18:15 +01:00
										 |  |  |     void   appendFaultLabelPartsToModel(cvf::ModelBasicList* model); | 
					
						
							| 
									
										
										
										
											2012-05-18 09:45:23 +02:00
										 |  |  | private: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-12-09 14:17:36 +01:00
										 |  |  |     cvf::Collection<RivGridPartMgr>     m_allGrids; // Main grid and all LGR's 
 | 
					
						
							|  |  |  |     cvf::ref<RivReservoirFaultsPartMgr> m_faultsPartMgr; | 
					
						
							| 
									
										
										
										
											2012-05-18 09:45:23 +02:00
										 |  |  | }; |