OpenCMISS-Zinc C++ API Documentation
 All Classes Namespaces Files Functions Typedefs Enumerations Enumerator Pages
fieldcoordinatetransformation.hpp
Go to the documentation of this file.
1 
4 /* OpenCMISS-Zinc Library
5 *
6 * This Source Code Form is subject to the terms of the Mozilla Public
7 * License, v. 2.0. If a copy of the MPL was not distributed with this
8 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
9 #ifndef CMZN_FIELDCOORDINATETRANSFORMATION_HPP__
10 #define CMZN_FIELDCOORDINATETRANSFORMATION_HPP__
11 
12 #include "zinc/fieldcoordinatetransformation.h"
13 #include "zinc/field.hpp"
14 #include "zinc/fieldmodule.hpp"
15 
16 namespace OpenCMISS
17 {
18 namespace Zinc
19 {
20 class FieldCoordinateTransformation: public Field
31 {
32 private:
33  // takes ownership of C handle, responsibility for destroying it
34  explicit FieldCoordinateTransformation(cmzn_field_id field_id) : Field(field_id)
35  { }
36 
37  friend FieldCoordinateTransformation Fieldmodule::createFieldCoordinateTransformation(
38  const Field& sourceField);
39 public:
40 
41  FieldCoordinateTransformation() : Field(0)
42  { }
43 
44 };
45 class FieldVectorCoordinateTransformation: public Field
57 {
58 private:
59  // takes ownership of C handle, responsibility for destroying it
60  explicit FieldVectorCoordinateTransformation(cmzn_field_id field_id) : Field(field_id)
61  { }
62 
63  friend FieldVectorCoordinateTransformation Fieldmodule::createFieldVectorCoordinateTransformation(
64  const Field& vectorField, const Field& coordinateField);
65 
66 public:
67 
68  FieldVectorCoordinateTransformation() : Field(0)
69  { }
70 
71 };
72 
74  const Field& sourceField)
75 {
76  return FieldCoordinateTransformation(cmzn_fieldmodule_create_field_coordinate_transformation(
77  id, sourceField.getId()));
78 }
79 
81  const Field& vectorField, const Field& coordinateField)
82 {
83  return FieldVectorCoordinateTransformation(cmzn_fieldmodule_create_field_vector_coordinate_transformation(id,
84  vectorField.getId(), coordinateField.getId()));
85 }
86 
87 } // namespace Zinc
88 }
89 
90 #endif
Base field type: an abstraction of a mathematical field.
Definition: field.hpp:46
FieldVectorCoordinateTransformation createFieldVectorCoordinateTransformation(const Field &vectorField, const Field &coordinateField)
Definition: fieldcoordinatetransformation.hpp:80
FieldCoordinateTransformation createFieldCoordinateTransformation(const Field &sourceField)
Definition: fieldcoordinatetransformation.hpp:73
cmzn_field_id getId() const
Definition: field.hpp:98
A field which performs a coordinate transformation from the source field values in their coordinate s...
Definition: fieldcoordinatetransformation.hpp:30
A field which performs a coordinate transformation of vectors from their original coordinate system a...
Definition: fieldcoordinatetransformation.hpp:56