SheafSystem  0.0.0.0
print_property_dofs_action.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 PRINT_PROPERTY_DOFS_ACTION_H
22 #define PRINT_PROPERTY_DOFS_ACTION_H
23 
24 #ifndef SHEAF_DLL_SPEC_H
25 #include "SheafSystem/sheaf_dll_spec.h"
26 #endif
27 
28 #ifndef DISCRETIZATION_PUSH_ACTION_H
29 #include "SheafSystem/discretization_push_action.h"
30 #endif
31 
32 #ifndef BLOCK_H
33 #include "SheafSystem/block.h"
34 #endif
35 
36 namespace sheaf
37 {
38 class index_space_handle;
39 }
40 
41 namespace fiber_bundle
42 {
43 class sec_vd;
44 }
45 
46 namespace fields
47 {
48 
49 using namespace fiber_bundle;
50 using namespace sheaf;
51 
56 {
57 
58  // ===========================================================
60  // ===========================================================
62 
63 public:
64 
65  // No default constructor.
66 
73  bool xzero_specified = false);
74 
75  // Default memberwise copy constructor will do.
76 
80  virtual ~print_property_dofs_action();
81 
85  virtual void operator () (const scoped_index& xdisc_id,
86  block<sec_vd_value_type>& xglobal_coords);
87 
91  sec_vd& property();
92 
97  property_dof_function_type dof_function();
98 
99 
100 private:
101 
105  sec_vd& _property;
106 
111 
115  block<sec_vd_dof_type> _specified_dofs;
116 
121  property_dof_function_type _dof_function;
122 
127  bool _zero_specified;
128 
132  index_space_handle* _seq_id_space;
133 
135 
136 };
137 
138 // ===========================================================
139 // NON-MEMBER FUNCTIONS
140 // ===========================================================
141 
142 } // namespace fields
143 
144 #endif // ifndef PRINT_PROPERTY_DOFS_ACTION_H
Namespace for fields component of sheaf system.
An abstract handle to a space of alternate integer identifiers (aliases) for a subset of a hub set of...
The action to executed by discretization_pusher::push on each member of a discretization subposet...
An index within the external ("client") scope of a given id space.
Definition: scoped_index.h:116
void(* property_dof_function_type)(block< sec_vd_value_type > &xglobal_coords, block< sec_vd_dof_type > &xproperty_dofs)
The type of the function for computing the property dofs at given global coordinates.
Definition: fields.h:64
A section of a fiber bundle with a d-dimensional vector space fiber.
Definition: sec_vd.h:54
Namespace for the sheaves component of the sheaf system.
Namespace for the fiber_bundles component of the sheaf system.
A discretization push action for field_vds::print_property_dofs.