ResultsQuery.h
1 //##################################################################################################
2 //
3 // Ceetron Desktop Components
4 // Component: UnstructGrid
5 //
6 // --------------------------------------------------------------------------------------------
7 // Copyright (C) 2017, Ceetron AS
8 // This is UNPUBLISHED PROPRIETARY SOURCE CODE of Ceetron AS. The contents of this file may
9 // not be disclosed to third parties, copied or duplicated in any form, in whole or in part,
10 // without the prior written permission of Ceetron AS.
11 //##################################################################################################
12 
13 #pragma once
14 
15 #include "CeeCore/PtrRef.h"
16 
17 #include "CeeUnstructGrid/Base.h"
18 #include "CeeUnstructGrid/ResultsQueryResult.h"
19 #include "CeeUnstructGrid/ResultsQueryItem.h"
20 #include "CeeUnstructGrid/ResultsQueryResultPosition.h"
21 
22 #include <vector>
23 #include <map>
24 
25 namespace cee {
26 namespace ug {
27 
28 class DataSource;
29 class ResultsQueryResultPosition;
30 
31 
32 //==================================================================================================
33 //
34 //
35 //
36 //==================================================================================================
37 class CEE_UG_EXPORT ResultsQuery
38 {
39 public:
40  ResultsQuery(DataSource* dataSource);
41  ~ResultsQuery();
42 
43  bool scalars(int scalarId, int stateId, size_t geometryIndex, const std::vector<ResultsQueryItem>* items, std::vector<ResultsQueryResult>* results);
44  bool vectors(int vectorId, int stateId, size_t geometryIndex, const std::vector<ResultsQueryItem>* items, std::vector<ResultsQueryResult>* results);
45  bool tensors(int tensorId, int stateId, size_t geometryIndex, const std::vector<ResultsQueryItem>* items, std::vector<ResultsQueryResult>* results);
46 
47  bool minimumAndMaximumScalar(int scalarId, int stateId, size_t geometryIndex, ResultsQueryResultPosition* minScalarPositionAndResult, ResultsQueryResultPosition* maxScalarPositionAndResult);
48  bool minimumScalars(size_t scalarsCount, int scalarId, int stateId, size_t geometryIndex, std::vector<ResultsQueryResultPosition>* minScalarPositionAndResults);
49  bool maximumScalars(size_t scalarsCount, int scalarId, int stateId, size_t geometryIndex, std::vector<ResultsQueryResultPosition>* maxScalarPositionAndResults);
50 
51  bool minimumAndMaximumVector(int vectorId, int stateId, size_t geometryIndex, ResultsQueryResultPosition* minVectorPositionAndResult, ResultsQueryResultPosition* maxVectorPositionAndResult);
52  bool minimumVectors(size_t vectorsCount, int vectorId, int stateId, size_t geometryIndex, std::vector<ResultsQueryResultPosition>* minVectorPositionAndResults);
53  bool maximumVectors(size_t vectorsCount, int vectorId, int stateId, size_t geometryIndex, std::vector<ResultsQueryResultPosition>* maxVectorPositionAndResults);
54 
55 private:
56  CEE_PRIVATE_IMPL(ResultsQuery);
57  CEE_DISALLOW_COPY_AND_ASSIGN(ResultsQuery);
58 
59 };
60 
61 } // namespace ug
62 } // namespace cee
A ResultsQueryResultPosition object contains the position and the ResultsQueryResult of a specific va...
Definition: ResultsQueryResultPosition.h:32
The data source of the model. For instance a file interface or custom built by the user...
Definition: DataSource.h:35
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppComponent.cpp:26
A query object to retrieve results from a given DataSource.
Definition: ResultsQuery.h:37