Displace the surface of a SDF by a function.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
procedure(primitive), | public, | nopass, pointer | :: | func | |||
integer, | public | :: | layer |
Layer ID of SDF |
|||
type(opticalProp_t), | public | :: | optProps |
Optical property of the SDF |
|||
class(sdf_base), | public, | pointer | :: | prim | |||
real(kind=wp), | public | :: | transform(4,4) |
Transform to apply to SDF. |
Initialise the displacement modifier for a SDF.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sdf_base), | target | :: | prim |
SDF to modify |
||
procedure(primitive) | :: | func |
Function to displace the SDF with. |
Evaluation function for displacement modifier.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(displacement), | intent(in) | :: | this | |||
type(vector), | intent(in) | :: | pos |
Position to evaluate the modifier at |
type, extends(sdf_base) :: displacement procedure(primitive), nopass, pointer :: func class(sdf_base), pointer :: prim contains procedure :: evaluate => eval_disp end type displacement