Module imp3d

Class VolumeFunction

All Implemented Interfaces:
ChannelMap, Manageable, PersistenceCapable, Shareable, UserFields, XObject, Map, Serializable
Direct Known Subclasses:
Gradient, Granite, Julia, Leopard, Mandel, VolumeTurbulence, Wood

public abstract class VolumeFunction extends ChannelMapNode
A VolumeFunction is a ChannelMap which assigns a float-value to each point in 3D-space. The input channels are X, Y, Z; the output value is placed in all output channels except w-channels, which are set to 1.
Author:
Ole Kniemeyer
See Also:
  • Field Details

  • Constructor Details

    • VolumeFunction

      public VolumeFunction()
  • Method Details

    • getFrequency

      public float getFrequency()
    • setFrequency

      public void setFrequency(float value)
    • getPhase

      public float getPhase()
    • setPhase

      public void setPhase(float value)
    • getWaveForm

      public FloatToFloat getWaveForm()
    • getFloatValue

      public float getFloatValue(ChannelData data, int channel)
      Specified by:
      getFloatValue in interface ChannelMap
      Overrides:
      getFloatValue in class ChannelMapNode
    • getFloatValue

      protected abstract float getFloatValue(float x, float y, float z)
      Evaluates the volume function at the given point.
      Parameters:
      x - x-coordinate of 3D-point
      y - y-coordinate of 3D-point
      z - z-coordinate of 3D-point
      Returns:
      the function value at the 3D-point (x, y, z)
    • accept

      public void accept(ChannelMapNodeVisitor visitor)
      Overrides:
      accept in class ChannelMapNode