SheafSystem  0.0.0.0
discretization_context.h
1 
2 //
3 // Copyright (c) 2014 Limit Point Systems, Inc.
4 //
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 // http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17 
18 // Interface for class discretization_context
19 
20 #ifndef DISCRETIZATION_CONTEXT_H
21 #define DISCRETIZATION_CONTEXT_H
22 
23 #ifndef SHEAF_DLL_SPEC_H
24 #include "SheafSystem/sheaf_dll_spec.h"
25 #endif
26 
27 #ifndef CHART_POINT_3D_H
28 #include "SheafSystem/chart_point_3d.h"
29 #endif
30 
31 #ifndef FIBER_BUNDLE_H
32 #include "SheafSystem/fiber_bundle.h"
33 #endif
34 
35 namespace fiber_bundle
36 {
37 
42 class SHEAF_DLL_SPEC discretization_context
43 {
44 public:
49 
53  int local_id;
54 
59 
65  enum static_const_int {values_ub = 3};
66 
71  sec_vd_value_type values[values_ub];
72 };
73 
74 
75 // =============================================================================
76 // NON-MEMBER FUNCTIONS
77 // =============================================================================
81 
82 SHEAF_DLL_SPEC
83 std::ostream& operator<<(std::ostream& xos, const discretization_context& xc);
84 
89 size_t
90 SHEAF_DLL_SPEC
91 deep_size(const discretization_context& xc, bool xinclude_shallow = true);
92 
93 
94 
95 } // namespace fiber_bundle
96 
97 #endif // ifndef DISCRETIZATION_CONTEXT_H
scoped_index eval_id
The eval member the disc member is contained in.
A context for discretization members. Intended for implementing various iterators, especially concurrent iterations over multiple sections.
scoped_index disc_id
The global index of the disc member.
int local_id
The local index of the disc member with respect to the eval member.
An index within the external ("client") scope of a given id space.
Definition: scoped_index.h:116
static_const_int
The upper bound on th values array.
Namespace for the fiber_bundles component of the sheaf system.
vd_value_type sec_vd_value_type
The type of component in the value of a section at a point.
Definition: fiber_bundle.h:73
SHEAF_DLL_SPEC std::ostream & operator<<(std::ostream &os, const binary_index &xbi)
Insert binary_index& xbi into ostream& os.
Definition: binary_index.cc:35