chfl_property type

type chfl_property

A chfl_property holds data used in properties in chfl_frame and chfl_atom. A property can contain data of various types: bool, real, string or 3 dimensional array.

The initialization routines for chfl_property are:

Type fields:
subroutine chfl_property%from_frame(frame, name[, status])

Try to get a copy of property with the given name in the given frame.

If no property with this name is found, this property is left uninitialized, and status contains CHFL_PROPERTY_ERROR.

Parameters:
  • type (chfl_frame) :: the frame to look into
  • character (len=*) :: the property name
Options:

status [integer,optional, kind=chfl_status] :: status code of the operation. If it is not equal to CHFL_SUCCESS, you can learn more about the error by using chfl_last_error.

subroutine chfl_property%from_atom(atom, name[, status])

Try to get a copy of property with the given name in the given atom.

If no property with this name is found, this property is left uninitialized, and status contains CHFL_PROPERTY_ERROR.

Parameters:
  • type (chfl_atom) :: the frame to look into
  • character (len=*) :: the property name
Options:

status [integer,optional, kind=chfl_status] :: status code of the operation. If it is not equal to CHFL_SUCCESS, you can learn more about the error by using chfl_last_error.

subroutine chfl_property%bool(value[, status])

Initialize this property with a boolean (logical) value.

Parameters:value [logical,kind=1] :: the value of the property
Options:status [integer,optional, kind=chfl_status] :: status code of the operation. If it is not equal to CHFL_SUCCESS, you can learn more about the error by using chfl_last_error.
subroutine chfl_property%double(value[, status])

Initialize this property with a real value.

Parameters:value [real,kind=real64] :: the value of the property
Options:status [integer,optional, kind=chfl_status] :: status code of the operation. If it is not equal to CHFL_SUCCESS, you can learn more about the error by using chfl_last_error.
subroutine chfl_property%string(value[, status])

Initialize this property with a string value.

Parameters:character (len=*) :: the value of the property
Options:status [integer,optional, kind=chfl_status] :: status code of the operation. If it is not equal to CHFL_SUCCESS, you can learn more about the error by using chfl_last_error.
subroutine chfl_property%vector3d(value[, status])

Initialize this property with a 3 dimensional array value.

Parameters:value (3) [kind(real64) [real] :: the value of the property
Options:status [integer,optional, kind=chfl_status] :: status code of the operation. If it is not equal to CHFL_SUCCESS, you can learn more about the error by using chfl_last_error.
subroutine chfl_property%get_kind(kind[, status])

Get the property kind in kind. This kind indicate which type of value this property holds.

Parameters:kind [integer,kind=chfl_property_kind] :: the kind of property
Options:status [integer,optional, kind=chfl_status] :: status code of the operation. If it is not equal to CHFL_SUCCESS, you can learn more about the error by using chfl_last_error.

The property kinds are integers which kind is the chfl_property_kind parameter:

integer(chfl_property_kind) :: CHFL_PROPERTY_BOOL

This property contain a boolean (logical) value

integer(chfl_property_kind) :: CHFL_PROPERTY_DOUBLE

This property contain a double (real) value

integer(chfl_property_kind) :: CHFL_PROPERTY_STRING

This property contain a string value

integer(chfl_property_kind) :: CHFL_PROPERTY_VECTOR3D

This property contain a 3 dimensional array of real value

subroutine chfl_property%get_bool(value[, status])

Get the boolean value holded by this property in value

Parameters:value [logical,kind(1)] :: the value of the property
Options:status [integer,optional, kind=chfl_status] :: status code of the operation. If it is not equal to CHFL_SUCCESS, you can learn more about the error by using chfl_last_error.
subroutine chfl_property%get_double(value[, status])

Get the real value holded by this property in value.

Parameters:value [real,kind=real64] :: the value of the property
Options:status [integer,optional, kind=chfl_status] :: status code of the operation. If it is not equal to CHFL_SUCCESS, you can learn more about the error by using chfl_last_error.
subroutine chfl_property%get_string(value, buffsize[, status])

Get the string value of this property in the string buffer value.

The buffer size must be passed in buffsize. This function will truncate the name to fit in the buffer.

Parameters:
  • character (len=buffsize) :: string buffer to be filled with the property value
  • buffsize [integer] :: length of the string buffer
Options:

status [integer,optional, kind=chfl_status] :: status code of the operation. If it is not equal to CHFL_SUCCESS, you can learn more about the error by using chfl_last_error.

subroutine chfl_property%get_vector3d(value[, status])

Get the real array value holded by this property in value.

Parameters:value (3) [kind(real64) [real] :: the value of the property
Options:status [integer,optional, kind=chfl_status] :: status code of the operation. If it is not equal to CHFL_SUCCESS, you can learn more about the error by using chfl_last_error.
subroutine chfl_property%free([status])

Destroy a property, and free the associated memory

Options:status [integer,optional, kind=chfl_status] :: status code of the operation. If it is not equal to CHFL_SUCCESS, you can learn more about the error by using chfl_last_error.