SheafSystem  0.0.0.0
avg_section_pusher.h
Go to the documentation of this file.
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 
20 
21 #ifndef AVG_SECTION_PUSHER_H
22 #define AVG_SECTION_PUSHER_H
23 
24 #ifndef SHEAF_DLL_SPEC_H
25 #include "SheafSystem/sheaf_dll_spec.h"
26 #endif
27 
28 #ifndef SECTION_PUSHER_H
29 #include "SheafSystem/section_pusher.h"
30 #endif
31 
32 namespace fields
33 {
34 
41 class SHEAF_DLL_SPEC avg_section_pusher : public section_pusher
42 {
43 
44  // =============================================================================
46  // =============================================================================
48 
49 public:
50 
55  avg_section_pusher(const sec_rep_space& xdomain,
56  const sec_rep_space& xrange,
57  const geometry::sec_ed_invertible& xdom_coord,
58  const sec_ed& xran_coord,
59  bool xauto_access);
60 
61 protected:
62 
67 
73  virtual void extend(sec_vd& result, const scoped_index& xdisc_id);
74 
77 
79 
80 
81  // =============================================================================
83  // =============================================================================
85 
86 public:
87 
92 
96  virtual ~avg_section_pusher();
97 
101  virtual bool invariant() const;
102 
104 };
105 
106 } // namespace fields
107 
108 #endif // ifndef AVG_SECTION_PUSHER_H
Namespace for fields component of sheaf system.
A section pusher that uses extension by averaging to define the target outside the domain of the sour...
A section of a fiber bundle with a d-dimensional Euclidean vector space fiber.
Definition: sec_ed.h:47
An abstract invertible section of a fiber bundle with a d-dimensional base space and a d-dimensional ...
An index within the external ("client") scope of a given id space.
Definition: scoped_index.h:116
The general section push-forward operator; moves sections from one sec_rep_space to another using ext...
A section of a fiber bundle with a d-dimensional vector space fiber.
Definition: sec_vd.h:54
A handle for a poset whose members are numerical representations of sections of a fiber bundle...
Definition: sec_rep_space.h:61