OpenCMISS-Zinc 3.0.0 Release C++ API Documentation
 All Classes Namespaces Files Functions Typedefs Enumerations Enumerator Pages
fieldmodule.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_FIELDMODULE_HPP__
10 #define CMZN_FIELDMODULE_HPP__
11 
12 #include "zinc/fieldmodule.h"
13 #include "zinc/field.hpp"
14 #include "zinc/element.hpp"
15 #include "zinc/node.hpp"
16 #include "zinc/region.hpp"
17 #include "zinc/timesequence.hpp"
18 #include "zinc/types/scenecoordinatesystem.hpp"
19 
20 namespace OpenCMISS
21 {
22 namespace Zinc
23 {
24 
25 class FieldAlias;
26 class FieldAdd;
27 class FieldPower;
28 class FieldMultiply;
29 class FieldDivide;
30 class FieldSubtract;
31 class FieldSumComponents;
32 class FieldLog;
33 class FieldSqrt;
34 class FieldExp;
35 class FieldAbs;
36 class FieldIdentity;
37 class FieldComponent;
38 class FieldConcatenate;
39 class FieldIf;
40 class FieldConstant;
41 class FieldStringConstant;
42 class FieldCoordinateTransformation;
43 class FieldVectorCoordinateTransformation;
44 class FieldFibreAxes;
45 class FieldFiniteElement;
46 class FieldEmbedded;
47 class FieldFindMeshLocation;
48 class FieldNodeValue;
49 class FieldStoredMeshLocation;
50 class FieldStoredString;
51 class FieldGroup;
52 class FieldImage;
53 class FieldAnd;
54 class FieldEqualTo;
55 class FieldGreaterThan;
56 class FieldLessThan;
57 class FieldOr;
58 class FieldNot;
59 class FieldXor;
60 class FieldDeterminant;
61 class FieldEigenvalues;
62 class FieldEigenvectors;
63 class FieldMatrixInvert;
64 class FieldMatrixMultiply;
65 class FieldProjection;
66 class FieldTranspose;
67 class FieldNodesetSum;
68 class FieldNodesetMean;
69 class FieldNodesetSumSquares;
70 class FieldNodesetMeanSquares;
71 class FieldNodesetMinimum;
72 class FieldNodesetMaximum;
73 class FieldElementGroup;
74 class FieldNodeGroup;
75 class FieldTimeLookup;
76 class FieldTimeValue;
77 class FieldDerivative;
78 class FieldCurl;
79 class FieldDivergence;
80 class FieldGradient;
81 class FieldSin;
82 class FieldCos;
83 class FieldTan;
84 class FieldAsin;
85 class FieldAcos;
86 class FieldAtan;
87 class FieldAtan2;
88 class FieldCrossProduct;
89 class FieldCrossProduct3D;
90 class FieldDotProduct;
91 class FieldMagnitude;
92 class FieldNormalise;
93 class FieldImagefilterBinaryDilate;
94 class FieldImagefilterBinaryErode;
95 class FieldImagefilterBinaryThreshold;
96 class FieldImagefilterCannyEdgeDetection;
97 class FieldImagefilterConnectedThreshold;
98 class FieldImagefilterCurvatureAnisotropicDiffusion;
99 class FieldImagefilterDiscreteGaussian;
100 class FieldImagefilterHistogram;
101 class FieldImagefilterMean;
102 class FieldImagefilterGradientMagnitudeRecursiveGaussian;
103 class FieldImagefilterRescaleIntensity;
104 class FieldImagefilterSigmoid;
105 class FieldImagefilterThreshold;
106 class FieldSceneviewerProjection;
107 class Fieldcache;
108 class Fieldmodulenotifier;
109 class Timekeeper;
110 class Optimisation;
111 class Sceneviewer;
112 
127 {
128 private:
129 
130  cmzn_fieldmodule_id id;
131 
132 public:
133 
134  Fieldmodule() : id(0)
135  { }
136 
137  // takes ownership of C handle, responsibility for destroying it
138  explicit Fieldmodule(cmzn_fieldmodule_id field_module_id) :
139  id(field_module_id)
140  { }
141 
142  Fieldmodule(const Fieldmodule& fieldModule) :
143  id(cmzn_fieldmodule_access(fieldModule.id))
144  { }
145 
146  Fieldmodule& operator=(const Fieldmodule& fieldModule)
147  {
148  cmzn_fieldmodule_id temp_id = cmzn_fieldmodule_access(fieldModule.id);
149  if (0 != id)
150  {
151  cmzn_fieldmodule_destroy(&id);
152  }
153  id = temp_id;
154  return *this;
155  }
156 
157  ~Fieldmodule()
158  {
159  if (0 != id)
160  {
161  cmzn_fieldmodule_destroy(&id);
162  }
163  }
164 
170  bool isValid() const
171  {
172  return (0 != id);
173  }
174 
180  cmzn_fieldmodule_id getId() const
181  {
182  return id;
183  }
184 
198  {
199  return cmzn_fieldmodule_begin_change(id);
200  }
201 
211  int endChange()
212  {
213  return cmzn_fieldmodule_end_change(id);
214  }
215 
225  {
226  return cmzn_fieldmodule_define_all_faces(id);
227  }
228 
235  Field findFieldByName(const char *fieldName)
236  {
237  return Field(cmzn_fieldmodule_find_field_by_name(id, fieldName));
238  }
239 
246  inline Fieldcache createFieldcache();
247 
260  {
261  return Fielditerator(cmzn_fieldmodule_create_fielditerator(id));
262  }
263 
271 
282  {
283  return Elementbasis(cmzn_fieldmodule_create_elementbasis(
284  id, dimension, static_cast<cmzn_elementbasis_function_type>(functionType)));
285  }
286 
295  {
296  return Nodeset(cmzn_fieldmodule_find_nodeset_by_field_domain_type(id,
297  static_cast<cmzn_field_domain_type>(domainType)));
298  }
299 
314  Nodeset findNodesetByName(const char *nodeset_name)
315  {
316  return Nodeset(cmzn_fieldmodule_find_nodeset_by_name(id,
317  nodeset_name));
318  }
319 
328  Mesh findMeshByDimension(int dimension)
329  {
330  return Mesh(cmzn_fieldmodule_find_mesh_by_dimension(id, dimension));
331  }
332 
346  Mesh findMeshByName(const char *meshName)
347  {
348  return Mesh(cmzn_fieldmodule_find_mesh_by_name(id, meshName));
349  }
350 
361  inline Timesequence getMatchingTimesequence(int timesCount, const double *timesIn)
362  {
363  return Timesequence(cmzn_fieldmodule_get_matching_timesequence(
364  id, timesCount, timesIn));
365  }
366 
372  inline Region getRegion() const
373  {
374  return Region(cmzn_fieldmodule_get_region(id));
375  }
376 
384 
394  inline FieldAlias createFieldAlias(const Field& sourceField);
395 
405  inline FieldAdd createFieldAdd(const Field& sourceField1, const Field& sourceField2);
406 
416  inline FieldPower createFieldPower(const Field& sourceField1, const Field& sourceField2);
417 
427  inline FieldMultiply createFieldMultiply(const Field& sourceField1, const Field& sourceField2);
428 
438  inline FieldDivide createFieldDivide(const Field& sourceField1, const Field& sourceField2);
439 
449  inline FieldSubtract createFieldSubtract(const Field& sourceField1, const Field& sourceField2);
450 
460  inline FieldSumComponents createFieldSumComponents(const Field& sourceField);
461 
469  inline FieldLog createFieldLog(const Field& sourceField);
470 
478  inline FieldSqrt createFieldSqrt(const Field& sourceField);
479 
487  inline FieldExp createFieldExp(const Field& sourceField);
488 
496  inline FieldAbs createFieldAbs(const Field& sourceField);
497 
507  inline FieldIdentity createFieldIdentity(const Field& sourceField);
508 
517  inline FieldComponent createFieldComponent(const Field& sourceField, int componentIndex);
518 
527  inline FieldConcatenate createFieldConcatenate(int fieldsCount, const Field *sourceFields);
528 
540  inline FieldIf createFieldIf(const Field& sourceField1, const Field& sourceField2, const Field& sourceField3);
541 
550  inline FieldConstant createFieldConstant(int valuesCount, const double *valuesIn);
551 
559  inline FieldStringConstant createFieldStringConstant(const char *stringConstant);
560 
572 
586  const Field& vectorField, const Field& coordinateField);
587 
609  inline FieldFibreAxes createFieldFibreAxes(const Field& fibreField, const Field& coordinateField);
610 
618  inline FieldFiniteElement createFieldFiniteElement(int numberOfComponents);
619 
630  inline FieldEmbedded createFieldEmbedded(const Field& sourceField, const Field& embeddedLocationField);
631 
649  const Field& sourceField, const Field& meshField, const Mesh& mesh);
650 
661  inline FieldNodeValue createFieldNodeValue(const Field& sourceField,
662  Node::ValueLabel nodeValueLabel, int versionNumber);
663 
673 
680 
688  inline FieldGroup createFieldGroup();
689 
700  inline FieldImage createFieldImage();
701 
717  inline FieldImage createFieldImageFromSource(const Field& sourceField);
718 
728  inline FieldAnd createFieldAnd(const Field& sourceField1, const Field& sourceField2);
729 
739  inline FieldEqualTo createFieldEqualTo(const Field& sourceField1, const Field& sourceField2);
740 
750  inline FieldGreaterThan createFieldGreaterThan(const Field& sourceField1, const Field& sourceField2);
751 
761  inline FieldLessThan createFieldLessThan(const Field& sourceField1, const Field& sourceField2);
762 
772  inline FieldOr createFieldOr(const Field& sourceField1, const Field& sourceField2);
773 
782  inline FieldNot createFieldNot(const Field& sourceField);
783 
793  inline FieldXor createFieldXor(const Field& sourceField1, const Field& sourceField2);
794 
803  inline FieldDeterminant createFieldDeterminant(const Field& sourceField);
804 
812  inline FieldEigenvalues createFieldEigenvalues(const Field& sourceField);
813 
822  inline FieldEigenvectors createFieldEigenvectors(const FieldEigenvalues& eigenValuesField);
823 
831  inline FieldMatrixInvert createFieldMatrixInvert(const Field& sourceField);
832 
845  inline FieldMatrixMultiply createFieldMatrixMultiply(int numberOfRows,
846  const Field& sourceField1, const Field& sourceField2);
847 
871  inline FieldProjection createFieldProjection(const Field& sourceField, const Field& projectionMatrixField);
872 
884  inline FieldTranspose createFieldTranspose(int sourceNumberOfRows, const Field& sourceField);
885 
895  inline FieldNodesetSum createFieldNodesetSum(const Field& sourceField, const Nodeset& nodeset);
896 
906  inline FieldNodesetMean createFieldNodesetMean(const Field& sourceField, const Nodeset& nodeset);
907 
920  inline FieldNodesetSumSquares createFieldNodesetSumSquares(const Field& sourceField, const Nodeset& nodeset);
921 
935  inline FieldNodesetMeanSquares createFieldNodesetMeanSquares(const Field& sourceField, const Nodeset& nodeset);
936 
946  inline FieldNodesetMinimum createFieldNodesetMinimum(const Field& sourceField, const Nodeset& nodeset);
947 
957  inline FieldNodesetMaximum createFieldNodesetMaximum(const Field& sourceField, const Nodeset& nodeset);
958 
972  inline FieldNodeGroup createFieldNodeGroup(const Nodeset& nodeset);
973 
987  inline FieldElementGroup createFieldElementGroup(const Mesh& mesh);
988 
997  inline FieldTimeLookup createFieldTimeLookup(const Field& sourceField, const Field& timeField);
998 
1005  inline FieldTimeValue createFieldTimeValue(const Timekeeper& timeKeeper);
1006 
1017  inline FieldDerivative createFieldDerivative(const Field& sourceField, int xi_index);
1018 
1028  inline FieldCurl createFieldCurl(const Field& vectorField, const Field& coordinateField);
1029 
1041  inline FieldDivergence createFieldDivergence(const Field& vectorField, const Field& coordinateField);
1042 
1062  inline FieldGradient createFieldGradient(const Field& sourceField, const Field& coordinateField);
1063 
1071  inline FieldSin createFieldSin(const Field& sourceField);
1072 
1080  inline FieldCos createFieldCos(const Field& sourceField);
1081 
1089  inline FieldTan createFieldTan(const Field& sourceField);
1090 
1098  inline FieldAsin createFieldAsin(const Field& sourceField);
1099 
1107  inline FieldAcos createFieldAcos(const Field& sourceField);
1108 
1116  inline FieldAtan createFieldAtan(const Field& sourceField);
1117 
1128  inline FieldAtan2 createFieldAtan2(const Field& sourceField1, const Field& sourceField2);
1129 
1148  inline FieldCrossProduct createFieldCrossProduct(int fieldsCount, const Field *sourceFields);
1149 
1168  inline FieldCrossProduct createFieldCrossProduct(const Field& sourceField1, const Field& sourceField2);
1169 
1178  inline FieldDotProduct createFieldDotProduct(const Field& sourceField1, const Field& sourceField2);
1179 
1186  inline FieldMagnitude createFieldMagnitude(const Field& sourceField);
1187 
1195  inline FieldNormalise createFieldNormalise(const Field& sourceField);
1196 
1205  int radius, double dilate_value);
1206 
1215  int radius, double erode_value);
1216 
1228 
1235  double variance, double maximumError, double upperThreshold, double lowerThreshold);
1236 
1243  double lowerThreshold, double upperThreshold, double replaceValue,
1244  int dimension, int seedPointsCount, const double *seedPoints);
1245 
1258  const Field& sourceField, double timeStep, double conductance, int numIterations);
1259 
1274 
1284 
1292  inline FieldImagefilterMean createFieldImagefilterMean(const Field& sourceField, int valuesCount,
1293  const int *radiusSizesIn);
1294 
1303  double sigma);
1304 
1311  double outputMin, double outputMax);
1312 
1319  double min, double max, double alpha, double beta);
1320 
1330 
1352  const Sceneviewer& sceneviewer, Scenecoordinatesystem fromCoordinateSystem,
1353  Scenecoordinatesystem toCoordinateSystem);
1354 };
1355 
1356 inline bool operator==(const Fieldmodule& a, const Fieldmodule& b)
1357 {
1358  return cmzn_fieldmodule_match(a.getId(), b.getId());
1359 }
1360 
1368 {
1369 protected:
1370  cmzn_fieldmoduleevent_id id;
1371 
1372 public:
1373 
1374  Fieldmoduleevent() : id(0)
1375  { }
1376 
1377  // takes ownership of C handle, responsibility for destroying it
1378  explicit Fieldmoduleevent(cmzn_fieldmoduleevent_id in_fieldmodule_event_id) :
1379  id(in_fieldmodule_event_id)
1380  { }
1381 
1382  Fieldmoduleevent(const Fieldmoduleevent& fieldmoduleEvent) :
1383  id(cmzn_fieldmoduleevent_access(fieldmoduleEvent.id))
1384  { }
1385 
1386  Fieldmoduleevent& operator=(const Fieldmoduleevent& fieldmoduleEvent)
1387  {
1388  cmzn_fieldmoduleevent_id temp_id = cmzn_fieldmoduleevent_access(fieldmoduleEvent.id);
1389  if (0 != id)
1390  cmzn_fieldmoduleevent_destroy(&id);
1391  id = temp_id;
1392  return *this;
1393  }
1394 
1395  ~Fieldmoduleevent()
1396  {
1397  if (0 != id)
1398  {
1399  cmzn_fieldmoduleevent_destroy(&id);
1400  }
1401  }
1402 
1408  bool isValid() const
1409  {
1410  return (0 != id);
1411  }
1412 
1418  cmzn_fieldmoduleevent_id getId() const
1419  {
1420  return id;
1421  }
1422 
1433  {
1434  return cmzn_fieldmoduleevent_get_field_change_flags(id, field.getId());
1435  }
1436 
1449  Meshchanges getMeshchanges(const Mesh& mesh) const
1450  {
1451  return Meshchanges(cmzn_fieldmoduleevent_get_meshchanges(id, mesh.getId()));
1452  }
1453 
1462  {
1463  return Nodesetchanges(cmzn_fieldmoduleevent_get_nodesetchanges(id, nodeset.getId()));
1464  }
1465 
1474  {
1475  return cmzn_fieldmoduleevent_get_summary_field_change_flags(id);
1476  }
1477 
1478 };
1479 
1489 {
1490 friend class Fieldmodulenotifier;
1491 private:
1492  Fieldmodulecallback(const Fieldmodulecallback&); // not implemented
1493  Fieldmodulecallback& operator=(const Fieldmodulecallback&); // not implemented
1494 
1495  static void C_callback(cmzn_fieldmoduleevent_id fieldmoduleevent_id, void *callbackVoid)
1496  {
1497  Fieldmoduleevent fieldmoduleevent(cmzn_fieldmoduleevent_access(fieldmoduleevent_id));
1498  Fieldmodulecallback *callback = reinterpret_cast<Fieldmodulecallback *>(callbackVoid);
1499  (*callback)(fieldmoduleevent);
1500  }
1501 
1502  virtual void operator()(const Fieldmoduleevent &fieldmoduleevent) = 0;
1503 
1504 protected:
1506  { }
1507 
1508 public:
1509  virtual ~Fieldmodulecallback()
1510  { }
1511 };
1512 
1519 {
1520 protected:
1521  cmzn_fieldmodulenotifier_id id;
1522 
1523 public:
1524 
1525  Fieldmodulenotifier() : id(0)
1526  { }
1527 
1528  // takes ownership of C handle, responsibility for destroying it
1529  explicit Fieldmodulenotifier(cmzn_fieldmodulenotifier_id in_fieldmodulenotifier_id) :
1530  id(in_fieldmodulenotifier_id)
1531  { }
1532 
1533  Fieldmodulenotifier(const Fieldmodulenotifier& fieldmoduleNotifier) :
1534  id(cmzn_fieldmodulenotifier_access(fieldmoduleNotifier.id))
1535  { }
1536 
1537  Fieldmodulenotifier& operator=(const Fieldmodulenotifier& fieldmoduleNotifier)
1538  {
1539  cmzn_fieldmodulenotifier_id temp_id = cmzn_fieldmodulenotifier_access(fieldmoduleNotifier.id);
1540  if (0 != id)
1541  {
1542  cmzn_fieldmodulenotifier_destroy(&id);
1543  }
1544  id = temp_id;
1545  return *this;
1546  }
1547 
1549  {
1550  if (0 != id)
1551  {
1552  cmzn_fieldmodulenotifier_destroy(&id);
1553  }
1554  }
1555 
1561  bool isValid() const
1562  {
1563  return (0 != id);
1564  }
1565 
1571  cmzn_fieldmodulenotifier_id getId() const
1572  {
1573  return id;
1574  }
1575 
1587  {
1588  return cmzn_fieldmodulenotifier_set_callback(id, callback.C_callback, static_cast<void*>(&callback));
1589  }
1590 
1598  {
1599  return cmzn_fieldmodulenotifier_clear_callback(id);
1600  }
1601 };
1602 
1604 {
1605  return Fieldmodule(cmzn_region_get_fieldmodule(id));
1606 }
1607 
1609 {
1610  return Fieldmodule(cmzn_field_get_fieldmodule(id));
1611 }
1612 
1614 {
1615  return Fieldmodule(cmzn_mesh_get_fieldmodule(id));
1616 }
1617 
1619 {
1620  return Fieldmodule(cmzn_nodeset_get_fieldmodule(id));
1621 }
1622 
1624 {
1625  return Fieldmodulenotifier(cmzn_fieldmodule_create_fieldmodulenotifier(id));
1626 }
1627 
1628 } // namespace Zinc
1629 }
1630 
1631 #endif
A field which computes the mean of the squares of each source field component over all nodes in the n...
Definition: fieldnodesetoperators.hpp:109
FieldMatrixMultiply createFieldMatrixMultiply(int numberOfRows, const Field &sourceField1, const Field &sourceField2)
Definition: fieldmatrixoperators.hpp:231
FieldSin createFieldSin(const Field &sourceField)
Definition: fieldtrigonometry.hpp:187
A field performing ITK binary dilate image filter on scalar source field image.
Definition: fieldimageprocessing.hpp:30
FieldNodesetMaximum createFieldNodesetMaximum(const Field &sourceField, const Nodeset &nodeset)
Definition: fieldnodesetoperators.hpp:209
FieldImagefilterCannyEdgeDetection createFieldImagefilterCannyEdgeDetection(const Field &sourceField, double variance, double maximumError, double upperThreshold, double lowerThreshold)
Definition: fieldimageprocessing.hpp:732
Mesh findMeshByDimension(int dimension)
Definition: fieldmodule.hpp:328
FieldEigenvalues createFieldEigenvalues(const Field &sourceField)
Definition: fieldmatrixoperators.hpp:213
FieldAlias createFieldAlias(const Field &sourceField)
Definition: fieldalias.hpp:45
Object describing changes to a nodeset in a fieldmoduleevent.
Definition: node.hpp:715
FieldTimeLookup createFieldTimeLookup(const Field &sourceField, const Field &timeField)
Definition: fieldtime.hpp:66
FieldSubtract createFieldSubtract(const Field &sourceField1, const Field &sourceField2)
Definition: fieldarithmeticoperators.hpp:299
FieldFiniteElement createFieldFiniteElement(int numberOfComponents)
Definition: fieldfiniteelement.hpp:198
A "fibre axes" field type which returns a 9-component (3 x 3 vector) field representing an orthonorma...
Definition: fieldfibres.hpp:42
A real-valued field defined by element basis.
Definition: fieldfiniteelement.hpp:29
A field where the which divides the components of source_field_one by source_field_two.
Definition: fieldarithmeticoperators.hpp:111
FieldCos createFieldCos(const Field &sourceField)
Definition: fieldtrigonometry.hpp:192
A field where the components are the arccosine value (using radians) of the components of the source_...
Definition: fieldtrigonometry.hpp:120
FieldAbs createFieldAbs(const Field &sourceField)
Definition: fieldarithmeticoperators.hpp:320
FieldMultiply createFieldMultiply(const Field &sourceField1, const Field &sourceField2)
Definition: fieldarithmeticoperators.hpp:287
A field where the components are the sine value (using radians) of the components of the source_field...
Definition: fieldtrigonometry.hpp:28
A field which defines a subset of elements from a master mesh.
Definition: fieldsubobjectgroup.hpp:31
FieldImagefilterDiscreteGaussian createFieldImagefilterDiscreteGaussian(const Field &sourceField)
Definition: fieldimageprocessing.hpp:761
ValueLabel
Definition: node.hpp:83
A field returning the transpose of N*M matrix source_field.
Definition: fieldmatrixoperators.hpp:190
A description of a non-linear optimisation problem.
Definition: optimisation.hpp:28
Elementbasis createElementbasis(int dimension, enum Elementbasis::FunctionType functionType)
Definition: fieldmodule.hpp:281
A set of basis functions that can apply over an element of a given dimension.
Definition: element.hpp:31
Base field type: an abstraction of a mathematical field.
Definition: field.hpp:46
A field whose value equals the source_field evaluated at the time given by time_field, overriding any time prescribed for field evaluation.
Definition: fieldtime.hpp:28
FieldElementGroup createFieldElementGroup(const Mesh &mesh)
Definition: fieldsubobjectgroup.hpp:89
FieldAnd createFieldAnd(const Field &sourceField1, const Field &sourceField2)
Definition: fieldlogicaloperators.hpp:220
A field where the components are the arctangent value (using radians) of the components of the source...
Definition: fieldtrigonometry.hpp:143
FieldVectorCoordinateTransformation createFieldVectorCoordinateTransformation(const Field &vectorField, const Field &coordinateField)
Definition: fieldcoordinatetransformation.hpp:80
FieldStringConstant createFieldStringConstant(const char *stringConstant)
Definition: fieldconstant.hpp:72
FieldAsin createFieldAsin(const Field &sourceField)
Definition: fieldtrigonometry.hpp:202
FieldImagefilterBinaryDilate createFieldImagefilterBinaryDilate(const Field &sourceField, int radius, double dilate_value)
Definition: fieldimageprocessing.hpp:702
A field which concatenates the components of all source fields, in order, into a single vector...
Definition: fieldcomposite.hpp:103
FieldNot createFieldNot(const Field &sourceField)
Definition: fieldlogicaloperators.hpp:250
Optimisation createOptimisation()
Definition: optimisation.hpp:437
Scenecoordinatesystem
Definition: scenecoordinatesystem.hpp:26
FieldTimeValue createFieldTimeValue(const Timekeeper &timeKeeper)
Definition: fieldtime.hpp:72
A field which has one component equal to the sum of all components of the source field.
Definition: fieldvectoroperators.hpp:130
FieldComponent createFieldComponent(const Field &sourceField, int componentIndex)
Definition: fieldcomposite.hpp:125
FieldNodesetSumSquares createFieldNodesetSumSquares(const Field &sourceField, const Nodeset &nodeset)
Definition: fieldnodesetoperators.hpp:188
FieldCoordinateTransformation createFieldCoordinateTransformation(const Field &sourceField)
Definition: fieldcoordinatetransformation.hpp:73
cmzn_nodeset_id getId() const
Definition: node.hpp:474
FieldDotProduct createFieldDotProduct(const Field &sourceField1, const Field &sourceField2)
Definition: fieldvectoroperators.hpp:168
FieldImagefilterCurvatureAnisotropicDiffusion createFieldImagefilterCurvatureAnisotropicDiffusion(const Field &sourceField, double timeStep, double conductance, int numIterations)
Definition: fieldimageprocessing.hpp:752
A field where the which calculates the components of source_field_one raised to the power of the comp...
Definition: fieldarithmeticoperators.hpp:58
Base class functor for field module notifier callbacks.
Definition: fieldmodule.hpp:1488
FieldStoredMeshLocation createFieldStoredMeshLocation(const Mesh &mesh)
Definition: fieldfiniteelement.hpp:235
FieldConstant createFieldConstant(int valuesCount, const double *valuesIn)
Definition: fieldconstant.hpp:66
A conditional field with the same number of components as each of the source_fields.
Definition: fieldconditional.hpp:30
FieldAdd createFieldAdd(const Field &sourceField1, const Field &sourceField2)
Definition: fieldarithmeticoperators.hpp:275
FieldNormalise createFieldNormalise(const Field &sourceField)
Definition: fieldvectoroperators.hpp:179
FieldEmbedded createFieldEmbedded(const Field &sourceField, const Field &embeddedLocationField)
Definition: fieldfiniteelement.hpp:209
FieldGradient createFieldGradient(const Field &sourceField, const Field &coordinateField)
Definition: fieldderivatives.hpp:142
A field whose component values are 1 if that component of source_field_one OR source_field_two is non...
Definition: fieldlogicaloperators.hpp:203
Fieldmodule getFieldmodule() const
Definition: fieldmodule.hpp:1603
FieldStoredString createFieldStoredString()
Definition: fieldfiniteelement.hpp:246
int endChange()
Definition: fieldmodule.hpp:211
A field returning the scalar real determinant of a square matrix source field.
Definition: fieldmatrixoperators.hpp:28
FieldMatrixInvert createFieldMatrixInvert(const Field &sourceField)
Definition: fieldmatrixoperators.hpp:225
FieldOr createFieldOr(const Field &sourceField1, const Field &sourceField2)
Definition: fieldlogicaloperators.hpp:244
A field where the components are the cosine value (using radians) of the components of the source_fie...
Definition: fieldtrigonometry.hpp:51
A field which defines a subset of nodes from a master nodeset.
Definition: fieldsubobjectgroup.hpp:64
FieldImagefilterBinaryErode createFieldImagefilterBinaryErode(const Field &sourceField, int radius, double erode_value)
Definition: fieldimageprocessing.hpp:711
A scalar field whose value is the dot product of the two supplied source fields, which must have equa...
Definition: fieldvectoroperators.hpp:61
A field which stores and returns string values at nodes.
Definition: fieldfiniteelement.hpp:185
FieldNodeValue createFieldNodeValue(const Field &sourceField, Node::ValueLabel nodeValueLabel, int versionNumber)
Definition: fieldfiniteelement.hpp:227
FieldImagefilterHistogram createFieldImagefilterHistogram(const Field &sourceField)
Definition: fieldimageprocessing.hpp:782
FieldDivergence createFieldDivergence(const Field &vectorField, const Field &coordinateField)
Definition: fieldderivatives.hpp:137
FieldImagefilterRescaleIntensity createFieldImagefilterRescaleIntensity(const Field &sourceField, double outputMin, double outputMax)
Definition: fieldimageprocessing.hpp:794
A field where the which multiplies the components of source_field_one and source_field_two.
Definition: fieldarithmeticoperators.hpp:82
A field which computes the sum of each source field component over all nodes in the nodeset for which...
Definition: fieldnodesetoperators.hpp:30
A field which represents and returns node values/derivatives.
Definition: fieldfiniteelement.hpp:144
Meshchanges getMeshchanges(const Mesh &mesh) const
Definition: fieldmodule.hpp:1449
A field returning a single component of a source field as a scalar.
Definition: fieldcomposite.hpp:52
Mesh findMeshByName(const char *meshName)
Definition: fieldmodule.hpp:346
A hierarchical block/namespace owning domains and fields.
Definition: region.hpp:33
FieldImage createFieldImageFromSource(const Field &sourceField)
Definition: fieldimage.hpp:557
A scalar field returning the magnitude of the vector source field.
Definition: fieldvectoroperators.hpp:83
Image processing derived field type performing the ITK discrete gaussian filter.
Definition: fieldimageprocessing.hpp:226
A field returning result of ITK canny edge detection filter on the source field image.
Definition: fieldimageprocessing.hpp:149
int beginChange()
Definition: fieldmodule.hpp:197
A field returning the derivative of the field with respect to element xi_index as its primary value...
Definition: fieldderivatives.hpp:29
A field returning a value of a source field at an embedded location.
Definition: fieldfiniteelement.hpp:48
int clearCallback()
Definition: fieldmodule.hpp:1597
FieldLog createFieldLog(const Field &sourceField)
Definition: fieldarithmeticoperators.hpp:305
A field performing ITK connected threshold image filter on scalar source field image.
Definition: fieldimageprocessing.hpp:174
FieldNodesetMean createFieldNodesetMean(const Field &sourceField, const Nodeset &nodeset)
Definition: fieldnodesetoperators.hpp:182
FieldImage createFieldImage()
Definition: fieldimage.hpp:551
FieldPower createFieldPower(const Field &sourceField1, const Field &sourceField2)
Definition: fieldarithmeticoperators.hpp:281
Nodeset findNodesetByFieldDomainType(Field::DomainType domainType)
Definition: fieldmodule.hpp:294
cmzn_field_id getId() const
Definition: field.hpp:98
The timekeeper synchronises a current time across Zinc objects.
Definition: timekeeper.hpp:41
A field whose component values are 1 if that component of source_field_one AND source_field_two is no...
Definition: fieldlogicaloperators.hpp:29
A field whose component values are 1 if that component of source_field_one is less than the component...
Definition: fieldlogicaloperators.hpp:114
A field returning the values of source vector field normalised to unit length.
Definition: fieldvectoroperators.hpp:106
An image-based field giving the pixel colour/intensity values.
Definition: fieldimage.hpp:31
FieldSceneviewerProjection createFieldSceneviewerProjection(const Sceneviewer &sceneviewer, Scenecoordinatesystem fromCoordinateSystem, Scenecoordinatesystem toCoordinateSystem)
Definition: fieldsceneviewerprojection.hpp:56
FieldImagefilterMean createFieldImagefilterMean(const Field &sourceField, int valuesCount, const int *radiusSizesIn)
Definition: fieldimageprocessing.hpp:802
A field where the components are the trigonometric tangent value (using radians) of the components of...
Definition: fieldtrigonometry.hpp:74
A field storing locations within a mesh.
Definition: fieldfiniteelement.hpp:167
A field with the components specified in the array values.
Definition: fieldconstant.hpp:27
cmzn_fieldmodulenotifier_id getId() const
Definition: fieldmodule.hpp:1571
bool isValid() const
Definition: fieldmodule.hpp:1408
FieldImagefilterConnectedThreshold createFieldImagefilterConnectedThreshold(const Field &sourceField, double lowerThreshold, double upperThreshold, double replaceValue, int dimension, int seedPointsCount, const double *seedPoints)
Definition: fieldimageprocessing.hpp:742
A field returning the inverse of N*N symmetric matrix valued source field.
Definition: fieldmatrixoperators.hpp:99
FieldXor createFieldXor(const Field &sourceField1, const Field &sourceField2)
Definition: fieldlogicaloperators.hpp:255
Definition: fieldimageprocessing.hpp:520
int setCallback(Fieldmodulecallback &callback)
Definition: fieldmodule.hpp:1586
A field returning the curl of vector_field at location given by coordinate_field. ...
Definition: fieldderivatives.hpp:111
FieldNodeGroup createFieldNodeGroup(const Nodeset &nodeset)
Definition: fieldsubobjectgroup.hpp:100
FieldNodesetSum createFieldNodesetSum(const Field &sourceField, const Nodeset &nodeset)
Definition: fieldnodesetoperators.hpp:176
FunctionType
Definition: element.hpp:85
cmzn_fieldmodule_id getId() const
Definition: fieldmodule.hpp:180
FieldNodesetMinimum createFieldNodesetMinimum(const Field &sourceField, const Nodeset &nodeset)
Definition: fieldnodesetoperators.hpp:202
DomainType
Definition: field.hpp:190
Field::ChangeFlags getFieldChangeFlags(const Field &field) const
Definition: fieldmodule.hpp:1432
A field whose component values are 1 if that component of the source_field is zero, 0 otherwise; effectively a component-wise logical not operator.
Definition: fieldlogicaloperators.hpp:174
Nodesetchanges getNodesetchanges(const Nodeset &nodeset) const
Definition: fieldmodule.hpp:1461
A scalar field returning the divergence of vector field within coordinate field.
Definition: fieldderivatives.hpp:77
A field where the components are calculated using the atan2 c function, so that the angle returned (i...
Definition: fieldtrigonometry.hpp:170
FieldTan createFieldTan(const Field &sourceField)
Definition: fieldtrigonometry.hpp:197
A field where the field components are the natural exponent of each component in the source field...
Definition: fieldarithmeticoperators.hpp:224
cmzn_mesh_id getId() const
Definition: element.hpp:728
int ChangeFlags
Definition: field.hpp:137
FieldExp createFieldExp(const Field &sourceField)
Definition: fieldarithmeticoperators.hpp:315
A field which returns the current time from the supplied time keeper.
Definition: fieldtime.hpp:50
A field returning the N, N-dimensional eigenvectors computed with the source eigenvalues field...
Definition: fieldmatrixoperators.hpp:75
Nodeset findNodesetByName(const char *nodeset_name)
Definition: fieldmodule.hpp:314
Image processing derived field type performing the ITK threshold filter.
Definition: fieldimageprocessing.hpp:571
bool isValid() const
Definition: fieldmodule.hpp:1561
A field which computes the maximum of each source field component over all nodes in the nodeset for w...
Definition: fieldnodesetoperators.hpp:159
A field where the field components are the natural logarithm of each component in the source field...
Definition: fieldarithmeticoperators.hpp:168
Field::ChangeFlags getSummaryFieldChangeFlags() const
Definition: fieldmodule.hpp:1473
A field which computes the minimum of each source field component over all nodes in the nodeset for w...
Definition: fieldnodesetoperators.hpp:134
int defineAllFaces()
Definition: fieldmodule.hpp:224
FieldAtan2 createFieldAtan2(const Field &sourceField1, const Field &sourceField2)
Definition: fieldtrigonometry.hpp:217
Fielditerator createFielditerator()
Definition: fieldmodule.hpp:259
FieldConcatenate createFieldConcatenate(int fieldsCount, const Field *sourceFields)
Definition: fieldcomposite.hpp:136
Container/manager of fields and domains within a region.
Definition: fieldmodule.hpp:126
FieldAtan createFieldAtan(const Field &sourceField)
Definition: fieldtrigonometry.hpp:212
A field which performs a coordinate transformation from the source field values in their coordinate s...
Definition: fieldcoordinatetransformation.hpp:30
Timesequence getMatchingTimesequence(int timesCount, const double *timesIn)
Definition: fieldmodule.hpp:361
A non-decreasing list of times at which nodal parameters can be stored.
Definition: timesequence.hpp:35
Cache for setting domain locations at which fields are evaluated or assigned.
Definition: fieldcache.hpp:33
FieldIdentity createFieldIdentity(const Field &sourceField)
Definition: fieldcomposite.hpp:120
A field whose component values are 1 if that component of source_field_one EQUALS that component of s...
Definition: fieldlogicaloperators.hpp:59
A field performing ITK curvature anisotropic diffusion image filter on scalar source field image...
Definition: fieldimageprocessing.hpp:202
FieldDerivative createFieldDerivative(const Field &sourceField, int xi_index)
Definition: fieldderivatives.hpp:127
A field where the field components are the square root of each component in the source field...
Definition: fieldarithmeticoperators.hpp:196
FieldMagnitude createFieldMagnitude(const Field &sourceField)
Definition: fieldvectoroperators.hpp:174
A field where the which adds the components of source_field_one and source_field_two.
Definition: fieldarithmeticoperators.hpp:29
FieldSumComponents createFieldSumComponents(const Field &sourceField)
Definition: fieldvectoroperators.hpp:184
FieldImagefilterThreshold createFieldImagefilterThreshold(const Field &sourceField)
Definition: fieldimageprocessing.hpp:819
A field performing ITK binary erode image filter on scalar source field image.
Definition: fieldimageprocessing.hpp:57
FieldSqrt createFieldSqrt(const Field &sourceField)
Definition: fieldarithmeticoperators.hpp:310
Image processing derived field type performing the ITK histogram field.
Definition: fieldimageprocessing.hpp:302
A field performing ITK gradient magnitude recursive gaussian image filter on scalar source field imag...
Definition: fieldimageprocessing.hpp:466
Fieldmodulenotifier createFieldmodulenotifier()
Definition: fieldmodule.hpp:1623
FieldLessThan createFieldLessThan(const Field &sourceField1, const Field &sourceField2)
Definition: fieldlogicaloperators.hpp:238
A field returning the values resulting from matrix multiplication <source_field1> x <source_field2>...
Definition: fieldmatrixoperators.hpp:126
bool isValid() const
Definition: fieldmodule.hpp:170
A field where the components are the arcsine value (using radians) of the components of the source_fi...
Definition: fieldtrigonometry.hpp:97
FieldAcos createFieldAcos(const Field &sourceField)
Definition: fieldtrigonometry.hpp:207
FieldTranspose createFieldTranspose(int sourceNumberOfRows, const Field &sourceField)
Definition: fieldmatrixoperators.hpp:245
Definition: fieldcoordinatetransformation.hpp:56
A generic group field used for grouping local subobjects.
Definition: fieldgroup.hpp:35
A field which gives the result of subtracting source_field_two from source_field_one.
Definition: fieldarithmeticoperators.hpp:140
Image processing derived field type performing the ITK binary threshold filter.
Definition: fieldimageprocessing.hpp:80
A projection field returning the result of a matrix multiplication with perspective division on the s...
Definition: fieldmatrixoperators.hpp:165
A field performing ITK sigmoid image filter on scalar source field image.
Definition: fieldimageprocessing.hpp:546
FieldImagefilterBinaryThreshold createFieldImagefilterBinaryThreshold(const Field &sourceField)
Definition: fieldimageprocessing.hpp:720
FieldEigenvectors createFieldEigenvectors(const FieldEigenvalues &eigenValuesField)
Definition: fieldmatrixoperators.hpp:219
cmzn_fieldmoduleevent_id getId() const
Definition: fieldmodule.hpp:1418
A field whose values are the 4x4 transformation matrix mapping coordinates between two scene coordina...
Definition: fieldsceneviewerprojection.hpp:38
A field performing ITK rescale intensity image filter on scalar source field image.
Definition: fieldimageprocessing.hpp:492
FieldGreaterThan createFieldGreaterThan(const Field &sourceField1, const Field &sourceField2)
Definition: fieldlogicaloperators.hpp:232
Fieldcache createFieldcache()
Definition: fieldcache.hpp:187
FieldDivide createFieldDivide(const Field &sourceField1, const Field &sourceField2)
Definition: fieldarithmeticoperators.hpp:293
A string constant field with the supplied string value in <string_constant>.
Definition: fieldconstant.hpp:50
FieldGroup createFieldGroup()
Definition: fieldgroup.hpp:309
A field which computes the mean of each source field component over all nodes in the nodeset for whic...
Definition: fieldnodesetoperators.hpp:54
FieldNodesetMeanSquares createFieldNodesetMeanSquares(const Field &sourceField, const Nodeset &nodeset)
Definition: fieldnodesetoperators.hpp:195
The Zinc sceneviewer is responsible for rendering the graphical Scene.
Definition: sceneviewer.hpp:259
Manages individual user notification of changes with a field module.
Definition: fieldmodule.hpp:1518
A field which computes the sum of the squares of each source field component over all nodes in the no...
Definition: fieldnodesetoperators.hpp:81
A finite element mesh consisting of a set of elements of fixed dimension.
Definition: element.hpp:675
A field whose component values are 1 if that component of source_field_one is greater than the compon...
Definition: fieldlogicaloperators.hpp:84
A field whose component values are 1 if that component of source_field_one OR source_field_two is non...
Definition: fieldlogicaloperators.hpp:143
FieldIf createFieldIf(const Field &sourceField1, const Field &sourceField2, const Field &sourceField3)
Definition: fieldconditional.hpp:46
FieldCrossProduct createFieldCrossProduct(int fieldsCount, const Field *sourceFields)
Definition: fieldvectoroperators.hpp:146
FieldImagefilterGradientMagnitudeRecursiveGaussian createFieldImagefilterGradientMagnitudeRecursiveGaussian(const Field &sourceField, double sigma)
Definition: fieldimageprocessing.hpp:773
FieldProjection createFieldProjection(const Field &sourceField, const Field &projectionMatrixField)
Definition: fieldmatrixoperators.hpp:238
FieldFibreAxes createFieldFibreAxes(const Field &fibreField, const Field &coordinateField)
Definition: fieldfibres.hpp:58
FieldImagefilterSigmoid createFieldImagefilterSigmoid(const Field &sourceField, double min, double max, double alpha, double beta)
Definition: fieldimageprocessing.hpp:810
A field returning the curl of vector_field at location given by coordinate_field. ...
Definition: fieldderivatives.hpp:52
An iterator for looping through all the fields in a fieldmodule.
Definition: field.hpp:657
Region getRegion() const
Definition: fieldmodule.hpp:372
FieldCurl createFieldCurl(const Field &vectorField, const Field &coordinateField)
Definition: fieldderivatives.hpp:132
Field findFieldByName(const char *fieldName)
Definition: fieldmodule.hpp:235
A field where the field components are the absolute value of each component in the source field...
Definition: fieldarithmeticoperators.hpp:252
Fieldmodule getFieldmodule() const
Definition: fieldmodule.hpp:1613
A set of nodes or points.
Definition: node.hpp:421
A field returning the N eigenvalues of symmetric N*N component source field.
Definition: fieldmatrixoperators.hpp:51
A specialised field type creating a local alias.
Definition: fieldalias.hpp:29
Object describing changes to a mesh in a fieldmoduleevent.
Definition: element.hpp:1016
Information about changes to fields and other objects in the field module.
Definition: fieldmodule.hpp:1367
FieldEqualTo createFieldEqualTo(const Field &sourceField1, const Field &sourceField2)
Definition: fieldlogicaloperators.hpp:226
A field that computes the location in a mesh.
Definition: fieldfiniteelement.hpp:71
A vector field which is the cross product of the source_fields.
Definition: fieldvectoroperators.hpp:34
Fieldmodule getFieldmodule() const
Definition: fieldmodule.hpp:1608
Fieldmodule getFieldmodule() const
Definition: fieldmodule.hpp:1618
FieldDeterminant createFieldDeterminant(const Field &sourceField)
Definition: fieldmatrixoperators.hpp:207
A field with the single source field.
Definition: fieldcomposite.hpp:30
FieldFindMeshLocation createFieldFindMeshLocation(const Field &sourceField, const Field &meshField, const Mesh &mesh)
Definition: fieldfiniteelement.hpp:215