OpenCMISS-Zinc C++ API Documentation
 All Classes Namespaces Files Functions Typedefs Enumerations Enumerator Pages
Public Types | Public Member Functions | Friends | List of all members
OpenCMISS::Zinc::FieldEdgeDiscontinuity Class Reference

A field measuring discontinuity between surface elements. More...

#include <fieldfiniteelement.hpp>

Inheritance diagram for OpenCMISS::Zinc::FieldEdgeDiscontinuity:
OpenCMISS::Zinc::Field

Public Types

enum  Measure { MEASURE_INVALID = CMZN_FIELD_EDGE_DISCONTINUITY_MEASURE_INVALID, MEASURE_C1 = CMZN_FIELD_EDGE_DISCONTINUITY_MEASURE_C1, MEASURE_G1 = CMZN_FIELD_EDGE_DISCONTINUITY_MEASURE_G1, MEASURE_SURFACE_NORMAL = CMZN_FIELD_EDGE_DISCONTINUITY_MEASURE_SURFACE_NORMAL }
 
- Public Types inherited from OpenCMISS::Zinc::Field
enum  ChangeFlag {
  CHANGE_FLAG_NONE = CMZN_FIELD_CHANGE_FLAG_NONE, CHANGE_FLAG_ADD = CMZN_FIELD_CHANGE_FLAG_ADD, CHANGE_FLAG_REMOVE = CMZN_FIELD_CHANGE_FLAG_REMOVE, CHANGE_FLAG_IDENTIFIER = CMZN_FIELD_CHANGE_FLAG_IDENTIFIER,
  CHANGE_FLAG_DEFINITION = CMZN_FIELD_CHANGE_FLAG_DEFINITION, CHANGE_FLAG_FULL_RESULT = CMZN_FIELD_CHANGE_FLAG_FULL_RESULT, CHANGE_FLAG_PARTIAL_RESULT = CMZN_FIELD_CHANGE_FLAG_PARTIAL_RESULT, CHANGE_FLAG_RESULT = CMZN_FIELD_CHANGE_FLAG_RESULT,
  CHANGE_FLAG_FINAL = CMZN_FIELD_CHANGE_FLAG_FINAL
}
 
enum  CoordinateSystemType {
  COORDINATE_SYSTEM_TYPE_INVALID = CMZN_FIELD_COORDINATE_SYSTEM_TYPE_INVALID, COORDINATE_SYSTEM_TYPE_RECTANGULAR_CARTESIAN = CMZN_FIELD_COORDINATE_SYSTEM_TYPE_RECTANGULAR_CARTESIAN, COORDINATE_SYSTEM_TYPE_CYLINDRICAL_POLAR = CMZN_FIELD_COORDINATE_SYSTEM_TYPE_CYLINDRICAL_POLAR, COORDINATE_SYSTEM_TYPE_SPHERICAL_POLAR = CMZN_FIELD_COORDINATE_SYSTEM_TYPE_SPHERICAL_POLAR,
  COORDINATE_SYSTEM_TYPE_PROLATE_SPHEROIDAL = CMZN_FIELD_COORDINATE_SYSTEM_TYPE_PROLATE_SPHEROIDAL, COORDINATE_SYSTEM_TYPE_OBLATE_SPHEROIDAL = CMZN_FIELD_COORDINATE_SYSTEM_TYPE_OBLATE_SPHEROIDAL, COORDINATE_SYSTEM_TYPE_FIBRE = CMZN_FIELD_COORDINATE_SYSTEM_TYPE_FIBRE
}
 
enum  DomainType {
  DOMAIN_TYPE_INVALID = CMZN_FIELD_DOMAIN_TYPE_INVALID, DOMAIN_TYPE_POINT = CMZN_FIELD_DOMAIN_TYPE_POINT, DOMAIN_TYPE_NODES = CMZN_FIELD_DOMAIN_TYPE_NODES, DOMAIN_TYPE_DATAPOINTS = CMZN_FIELD_DOMAIN_TYPE_DATAPOINTS,
  DOMAIN_TYPE_MESH1D = CMZN_FIELD_DOMAIN_TYPE_MESH1D, DOMAIN_TYPE_MESH2D = CMZN_FIELD_DOMAIN_TYPE_MESH2D, DOMAIN_TYPE_MESH3D = CMZN_FIELD_DOMAIN_TYPE_MESH3D, DOMAIN_TYPE_MESH_HIGHEST_DIMENSION = CMZN_FIELD_DOMAIN_TYPE_MESH_HIGHEST_DIMENSION
}
 
enum  ValueType { VALUE_TYPE_INVALID = CMZN_FIELD_VALUE_TYPE_INVALID, VALUE_TYPE_REAL = CMZN_FIELD_VALUE_TYPE_REAL, VALUE_TYPE_STRING = CMZN_FIELD_VALUE_TYPE_STRING, VALUE_TYPE_MESH_LOCATION = CMZN_FIELD_VALUE_TYPE_MESH_LOCATION }
 
typedef int ChangeFlags
 
typedef int DomainTypes
 

Public Member Functions

 FieldEdgeDiscontinuity (cmzn_field_edge_discontinuity_id field_edge_discontinuity_id)
 
cmzn_field_edge_discontinuity_id getDerivedId ()
 
Field getConditionalField ()
 
int setConditionalField (const Field &conditionalField)
 
Measure getMeasure ()
 
int setMeasure (Measure measure)
 
- Public Member Functions inherited from OpenCMISS::Zinc::Field
 Field (cmzn_field_id field_id)
 
 Field (const Field &field)
 
Fieldoperator= (const Field &field)
 
bool isValid () const
 
cmzn_field_id getId () const
 
bool isManaged ()
 
int setManaged (bool value)
 
char * getComponentName (int componentNumber)
 
int setComponentName (int componentNumber, const char *name)
 
double getCoordinateSystemFocus ()
 
int setCoordinateSystemFocus (double focus)
 
CoordinateSystemType getCoordinateSystemType ()
 
int setCoordinateSystemType (CoordinateSystemType coordinateSystemType)
 
int getNumberOfComponents ()
 
char * getName ()
 
int setName (const char *name)
 
int getNumberOfSourceFields ()
 
Field getSourceField (int index)
 
bool isTypeCoordinate ()
 
int setTypeCoordinate (bool value)
 
ValueType getValueType ()
 
Fieldmodule getFieldmodule () const
 
int assignMeshLocation (const Fieldcache &cache, const Element &element, int coordinatesCount, const double *coordinatesIn)
 
int assignReal (const Fieldcache &cache, int valuesCount, const double *valuesIn)
 
int assignString (const Fieldcache &cache, const char *stringValue)
 
Element evaluateMeshLocation (const Fieldcache &cache, int coordinatesCount, double *coordinatesOut)
 
int evaluateReal (const Fieldcache &cache, int valuesCount, double *valuesOut)
 
char * evaluateString (const Fieldcache &cache)
 
int evaluateDerivative (const Differentialoperator&differentialOperator, const Fieldcache &cache, int valuesCount, double *valuesOut)
 
bool isDefinedAtLocation (const Fieldcache &cache)
 
int smooth (const Fieldsmoothing &fieldsmoothing)
 
FieldComponent castComponent ()
 
FieldEdgeDiscontinuity castEdgeDiscontinuity ()
 
FieldEigenvalues castEigenvalues ()
 
FieldElementGroup castElementGroup ()
 
FieldFindMeshLocation castFindMeshLocation ()
 
FieldFiniteElement castFiniteElement ()
 
FieldGroup castGroup ()
 
FieldImage castImage ()
 
FieldImagefilterBinaryThreshold castImagefilterBinaryThreshold ()
 
FieldImagefilterDiscreteGaussian castImagefilterDiscreteGaussian ()
 
FieldImagefilterHistogram castImagefilterHistogram ()
 
FieldImagefilterThreshold castImagefilterThreshold ()
 
FieldMeshIntegral castMeshIntegral ()
 
FieldNodeGroup castNodeGroup ()
 
FieldStoredMeshLocation castStoredMeshLocation ()
 
FieldStoredString castStoredString ()
 

Friends

FieldEdgeDiscontinuity Fieldmodule::createFieldEdgeDiscontinuity (const Field &sourceField)
 

Additional Inherited Members

- Protected Attributes inherited from OpenCMISS::Zinc::Field
cmzn_field_id id
 

Detailed Description

A field measuring discontinuity between surface elements.

Produces a value on 1-D line elements with as many components as the source field, which gives the discontinuity of that field between two adjacent surfaces by a chosen measure. An optional conditional field controls which adjacent surfaces are used. The field values are zero when the surfaces are continuous by the chosen measure, and wherever fewer than two qualifying adjacent surfaces can be found.

See Also
FieldEdgeDiscontinuity::Measure

Member Enumeration Documentation

Enumeration giving which measure of discontinuity is calculated by the edge discontinuity field.

Enumerator
MEASURE_INVALID 

Invalid value.

MEASURE_C1 

Measure C1-continuity i.e. difference in tangents w.r.t. lateral xi on each side of the edge. Default value.

MEASURE_G1 

Measure G1-continuity i.e. difference in tangents w.r.t. lateral direction on each side of the edge, normalised to unit length so only the direction matters.

MEASURE_SURFACE_NORMAL 

Measure difference in unit surface normals on adjacent surfaces at edge. Source field must have 3 components for this measure.

Member Function Documentation

Field OpenCMISS::Zinc::FieldEdgeDiscontinuity::getConditionalField ( )
inline

Get the conditional field controlling which surfaces are involved in the measure of discontinuity.

query.

Returns
Handle to the conditional field, or NULL/invalid handle if none or failed.
cmzn_field_edge_discontinuity_id OpenCMISS::Zinc::FieldEdgeDiscontinuity::getDerivedId ( )
inline

Return the C handle of the derived FieldEdgeDiscontinuity object.

Returns
C handle of the derived FieldEdgeDiscontinuity if this objects is valid, 0 otherwise.
Measure OpenCMISS::Zinc::FieldEdgeDiscontinuity::getMeasure ( )
inline

Get which measure of discontinuity is used: C1, G1, SURFACE_NORMAL.

See Also
FieldEdgeDiscontinuity::Measure

query.

Returns
Enumerated value specifying for measure of discontinuity, or MEASURE_INVALID if invalid argument.
int OpenCMISS::Zinc::FieldEdgeDiscontinuity::setConditionalField ( const Field conditionalField)
inline

Set the conditional field controlling which surfaces are involved in the measure of discontinuity.

modify.

Parameters
conditionalFieldScalar field which is evaluated on surface elements and must be true (non-zero) to include that element in the measure of discontinuity. With no conditional_field and/or more adjacent qualifying surfaces, the first two surfaces are used.
Returns
Status OpenCMISS::Zinc::OK on success, otherwise OpenCMISS::Zinc::ERROR_ARGUMENT.
int OpenCMISS::Zinc::FieldEdgeDiscontinuity::setMeasure ( Measure  measure)
inline

Set which measure of discontinuity is used: C1, G1, SURFACE_NORMAL.

See Also
FieldEdgeDiscontinuity::Measure

modify.

Parameters
measureEnumerated value specifying which measure of discontinuity is to be calculated.
Returns
Status OpenCMISS::Zinc::OK on success, otherwise OpenCMISS::Zinc::ERROR_ARGUMENT.

The documentation for this class was generated from the following file: