chfl_property
type¶
-
type
chfl_property
¶ A
chfl_property
holds data used in properties inchfl_frame
,chfl_atom
andchfl_residue
.A property is associated with a name and can contain data of various types: logical, real, string or 3 dimensional array (
vector3d
). The property kind is used to know which kind of data is stored in the property.Type fields: %
init
[subroutine] ::chfl_property%init()
%
kind
[function] ::chfl_property%kind()
%
bool
[function] ::chfl_property%bool()
%
double
[function] ::chfl_property%double()
%
string
[function] ::chfl_property%string()
%
vector3d
[function] ::chfl_property%vector3d()
%
free
[subroutine] ::chfl_property%free()
-
subroutine
chfl_property%
init
(value[, status])¶ This is a generic subroutine for initialization of a property. It allocate memory which must be released with
chfl_property%free()
.value
can be a real number, a logical value, a string (string
) or an 3-dimensional array of real numbers.Options: status [integer(chfl_status)] :: status code of the operation. If it is not CHFL_SUCCESS
, usechfl_last_error()
to learn more about the error.
-
function
chfl_property%
kind
([status])¶ Get the property kind, a number indicating which type of value this property holds. The possible kinds are represented by integer of the
chfl_property_kind
kind.-
chfl_property_kind
[integer]¶ Kind parameter for the integer values describing
chfl_property
kinds.
-
CHFL_PROPERTY_BOOL
[integer(chfl_property_kind)]¶ Kind used for
logical
(bool
in C++) values.
-
CHFL_PROPERTY_DOUBLE
[integer(chfl_property_kind)]¶ Kind used for
real(real64)
(double
in C++) values.
-
CHFL_PROPERTY_STRING
[integer(chfl_property_kind)]¶ Kind used for
string
(std::string
in C++) values.
-
CHFL_PROPERTY_VECTOR3D
[integer(chfl_property_kind)]¶ Kind used for
real(real64), dimension(3)
(vector3d
in C++) values.
Return: integer (chfl_property_kind) Options: status [integer(chfl_status)] :: status code of the operation. If it is not CHFL_SUCCESS
, usechfl_last_error()
to learn more about the error.-
-
function
chfl_property%
bool
([status])¶ Get the logical value stored in this property. If the property do not store a logical value,
status
will beCHFL_PROPERTY_ERROR
.Return: logical Options: status [integer(chfl_status)] :: status code of the operation. If it is not CHFL_SUCCESS
, usechfl_last_error()
to learn more about the error.
-
function
chfl_property%
double
([status])¶ Get the real value stored in this property. If the property do not store a real value,
status
will beCHFL_PROPERTY_ERROR
.Return: real [real64] Options: status [integer(chfl_status)] :: status code of the operation. If it is not CHFL_SUCCESS
, usechfl_last_error()
to learn more about the error.
-
function
chfl_property%
string
([status])¶ Get the string stored in this property. If the property do not store a string,
status
will beCHFL_PROPERTY_ERROR
. If the string is longer thanCHFL_STRING_LENGTH
, it will be truncated.Return: character (len=CHFL_STRING_LENGTH) Options: status [integer(chfl_status)] :: status code of the operation. If it is not CHFL_SUCCESS
, usechfl_last_error()
to learn more about the error.
-
function
chfl_property%
vector3d
([status])¶ Get the 3 dimensional array value stored in this property. If the property do not store an array,
status
will beCHFL_PROPERTY_ERROR
.Return: real [dimension(3), kind(real64)] Options: status [integer(chfl_status)] :: status code of the operation. If it is not CHFL_SUCCESS
, usechfl_last_error()
to learn more about the error.
-
subroutine
chfl_property%
free
()¶ Destroy a property, and free the associated memory