DataResultGroup.h
1 //##################################################################################################
2 //
3 // Ceetron Desktop Components
4 // Component: UnstructGrid
5 //
6 // --------------------------------------------------------------------------------------------
7 // Copyright (C) 2011, 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 "CeeUnstructGrid/Base.h"
16 #include "CeeUnstructGrid/DataGeometry.h"
17 #include "CeeUnstructGrid/DataResultScalar.h"
18 #include "CeeUnstructGrid/DataResultVector.h"
19 #include "CeeUnstructGrid/DataResultDisplacement.h"
20 #include "CeeUnstructGrid/DataResultSymmetricTensor.h"
21 #include "CeeUnstructGrid/DataResultTransformation.h"
22 #include "CeeUnstructGrid/DataResultVisibility.h"
23 
24 namespace cee {
25 namespace ug {
26 
27 
28 //==================================================================================================
29 //
30 // Stores the mapping between a geometry and its results for a given DataState
31 //
32 //==================================================================================================
33 class CEE_UG_EXPORT DataResultGroup : public RefCountedObject
34 {
35 public:
36  virtual ~DataResultGroup();
37 
38  const DataGeometry* geometry() const;
39 
40  size_t scalarCount() const;
41  const DataResultScalar* scalar(size_t resultIndex) const;
42  DataResultScalar* scalar(size_t resultIndex);
43  size_t scalarIndex(int resultId) const;
44  void addScalar(DataResultScalar* scalarResult);
45  void removeAllScalars();
46 
47  size_t vectorCount() const;
48  const DataResultVector* vector(size_t resultIndex) const;
49  DataResultVector* vector(size_t resultIndex);
50  size_t vectorIndex(int resultId) const;
51  void addVector(DataResultVector* vectorResult);
52  void removeAllVectors();
53 
54  size_t displacementCount() const;
55  const DataResultDisplacement* displacement(size_t resultIndex) const;
56  DataResultDisplacement* displacement(size_t resultIndex);
57  size_t displacementIndex(int resultId) const;
58  void addDisplacement(DataResultDisplacement* displacementResult);
59  void removeAllDisplacements();
60 
61  size_t symmetricTensorCount() const;
62  const DataResultSymmetricTensor* symmetricTensor(size_t resultIndex) const;
63  DataResultSymmetricTensor* symmetricTensor(size_t resultIndex);
64  size_t symmetricTensorIndex(int resultId) const;
65  void addSymmetricTensor(DataResultSymmetricTensor* symmetricTensorResult);
66  void removeAllSymmetricTensors();
67 
68  const DataResultTransformation* transformation() const;
69  DataResultTransformation* transformation();
70  void setTransformation(DataResultTransformation* transformationResult);
71  void removeTransformation();
72 
73  const DataResultVisibility* visibility() const;
74  DataResultVisibility* visibility();
75  void setVisibility(DataResultVisibility* visibilityResult);
76  void removeVisibility();
77 
78 private:
79  DataResultGroup(DataGeometry* geometry);
80 
81 private:
82  CEE_PRIVATE_F(DataState);
83  CEE_PRIVATE_F(DataSource);
84  CEE_PRIVATE_IMPL(DataResultGroup);
85  CEE_DISALLOW_COPY_AND_ASSIGN(DataResultGroup);
86 };
87 
88 
89 } // namespace ug
90 } // namespace cee
The data source of the model. For instance a file interface or custom built by the user...
Definition: DataSource.h:35
Symmetric tensor results for all parts in the geometry.
Definition: DataResultSymmetricTensor.h:29
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppComponent.cpp:26
Visibility result for all parts in the geometry for one data state.
Definition: DataResultVisibility.h:27
Result group binding a geometry and results (scalar, vector, displacement and/or transformation) ...
Definition: DataResultGroup.h:33
Scalar result for all parts in the geometry.
Definition: DataResultScalar.h:28
Base class for all reference counted objects with built-in support for intrusive reference counting...
Definition: RefCountedObject.h:34
Displacements results for all parts in the geometry.
Definition: DataResultDisplacement.h:30
Transformation results for all parts in the geometry.
Definition: DataResultTransformation.h:29
A state contains all data available for one time step, load case or frequency.
Definition: DataState.h:28
The geometry of the model for a certain state.
Definition: DataGeometry.h:28
Vector results for all parts in the geometry.
Definition: DataResultVector.h:29