Interface ShaderPart

All Superinterfaces:
X3DNode, X3DUrlObject
All Known Implementing Classes:
ShaderPart

public interface ShaderPart extends X3DNode, X3DUrlObject
ShaderPart can contain a CDATA section of plain-text source code.

X3D node tooltip: (X3D version 3.1 or later) [X3DNode,X3DUrlObject] ShaderPart defines the source for a portion of source code used by a ComposedShader node. The source is not required to be a complete shader for all of the vertex/fragment processing.
  • Hint: ShaderPart can contain a CDATA block of plain-text source code.
  • Warning: ShaderPart contains no field declarations.
  • Hint: insert a CDATA block to contain source code embedded within an X3D scene.
  • Hint: a contained CDATA block for source code protects whitespace, line breaks, and literal characters (such as & for ampersand character, < for less-than-sign character, and > for greater-than-sign character) from unintended escape-character modifications by XML parsers.
  • Warning: strict order is required for contained constructs: first field declarations (if any), then IS/connect statements (if any), and finally CDATA source-code block.
  • Hint: ShaderPart subprograms are written in the same language, which is specified in the parent ComposedShader node.
  • Hint: when parent node is LoadSensor, apply containerField='children' (X3Dv4) or containerField='watchList' (X3Dv3). https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#fieldNameChanges

Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
See Also:
SAI Java Specification, X3D Abstract Specification: ShaderPart, X3D Tooltips: ShaderPart, X3D Scene Authoring Hints
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named autoRefresh.
    double
    Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named autoRefreshTimeLimit.
    Provide String value from inputOutput SFString field named description.
    boolean
    Provide boolean value from inputOutput SFBool field named load.
    Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    Provide String enumeration value (baseType xs:NMTOKEN) ["VERTEX" | "FRAGMENT" | 'etc.'] from initializeOnly SFString field named type.
    Provide array of String results from inputOutput MFString field named url.
    setAutoRefresh​(double newValue)
    Accessor method to assign double value in seconds to inputOutput SFTime field named autoRefresh.
    setAutoRefreshTimeLimit​(double newValue)
    Accessor method to assign double value in seconds to inputOutput SFTime field named autoRefreshTimeLimit.
    setDescription​(String newValue)
    Accessor method to assign String value to inputOutput SFString field named description.
    setLoad​(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named load.
    Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    setType​(String newValue)
    Accessor method to assign String enumeration value ("VERTEX" | "FRAGMENT") to initializeOnly SFString field named type.
    setUrl​(String[] newValue)
    Accessor method to assign String array to inputOutput MFString field named url.
  • Method Details

    • getAutoRefresh

      double getAutoRefresh()
      Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named autoRefresh.

      Tooltip: autoRefresh defines interval in seconds before automatic reload of current url asset is performed.
      • Hint: if preceding file loading fails or load field is false, no refresh is performed.
      • Hint: repeated refresh attempts to reload currently loaded entry of url list. If that fails, the browser retries other entries in the url list.
      • Warning: automatically reloading content has security considerations and needs to be considered carefully.
      Specified by:
      getAutoRefresh in interface X3DUrlObject
      Returns:
      value of autoRefresh field
    • setAutoRefresh

      ShaderPart setAutoRefresh(double newValue)
      Accessor method to assign double value in seconds to inputOutput SFTime field named autoRefresh.

      Tooltip: autoRefresh defines interval in seconds before automatic reload of current url asset is performed.
      • Hint: if preceding file loading fails or load field is false, no refresh is performed.
      • Hint: repeated refresh attempts to reload currently loaded entry of url list. If that fails, the browser retries other entries in the url list.
      • Warning: automatically reloading content has security considerations and needs to be considered carefully.
      Specified by:
      setAutoRefresh in interface X3DUrlObject
      Parameters:
      newValue - is new value for the autoRefresh field.
      Returns:
      ShaderPart - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getAutoRefreshTimeLimit

      double getAutoRefreshTimeLimit()
      Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named autoRefreshTimeLimit.

      Tooltip: autoRefreshTimeLimit defines maximum duration that automatic refresh activity can occur.
      • Hint: Automatic refresh is different than query and response timeouts performed by a networking library while sequentially attempting to retrieve addressed content from a url list.
      • Warning: automatically reloading content has security considerations and needs to be considered carefully.
      Specified by:
      getAutoRefreshTimeLimit in interface X3DUrlObject
      Returns:
      value of autoRefreshTimeLimit field
    • setAutoRefreshTimeLimit

      ShaderPart setAutoRefreshTimeLimit(double newValue)
      Accessor method to assign double value in seconds to inputOutput SFTime field named autoRefreshTimeLimit.

      Tooltip: autoRefreshTimeLimit defines maximum duration that automatic refresh activity can occur.
      • Hint: Automatic refresh is different than query and response timeouts performed by a networking library while sequentially attempting to retrieve addressed content from a url list.
      • Warning: automatically reloading content has security considerations and needs to be considered carefully.
      Specified by:
      setAutoRefreshTimeLimit in interface X3DUrlObject
      Parameters:
      newValue - is new value for the autoRefreshTimeLimit field.
      Returns:
      ShaderPart - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getDescription

      String getDescription()
      Provide String value from inputOutput SFString field named description.

      Tooltip: Author-provided prose that describes intended purpose of the url asset.
      • Hint: many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as & for & ampersand character, or " for " quotation-mark character).
      Specified by:
      getDescription in interface X3DUrlObject
      Returns:
      value of description field
    • setDescription

      ShaderPart setDescription(String newValue)
      Accessor method to assign String value to inputOutput SFString field named description.

      Tooltip: Author-provided prose that describes intended purpose of the url asset.
      • Hint: many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as & for & ampersand character, or " for " quotation-mark character).
      Specified by:
      setDescription in interface X3DUrlObject
      Parameters:
      newValue - is new value for the description field.
      Returns:
      ShaderPart - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getLoad

      boolean getLoad()
      Provide boolean value from inputOutput SFBool field named load.

      Tooltip: load=true means load immediately, load=false means defer loading or else unload a previously loaded scene.
      • Hint: allows author to design when Inline loading occurs via user interaction, event chains or scripting.
      • Hint: use a separate LoadSensor node to detect when loading is complete.
      Specified by:
      getLoad in interface X3DUrlObject
      Returns:
      value of load field
    • setLoad

      ShaderPart setLoad(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named load.

      Tooltip: load=true means load immediately, load=false means defer loading or else unload a previously loaded scene.
      • Hint: allows author to design when Inline loading occurs via user interaction, event chains or scripting.
      • Hint: use a separate LoadSensor node to detect when loading is complete.
      Specified by:
      setLoad in interface X3DUrlObject
      Parameters:
      newValue - is new value for the load field.
      Returns:
      ShaderPart - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getMetadata

      X3DMetadataObject getMetadata()
      Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.

      Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
      Specified by:
      getMetadata in interface X3DNode
      Returns:
      value of metadata field
      See Also:
      X3D Scene Authoring Hints: Metadata Nodes
    • setMetadata

      ShaderPart setMetadata(X3DMetadataObject newValue)
      Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.

      Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
      Specified by:
      setMetadata in interface X3DNode
      Parameters:
      newValue - is new value for the metadata field.
      Returns:
      ShaderPart - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      See Also:
      X3D Scene Authoring Hints: Metadata Nodes
    • getType

      String getType()
      Provide String enumeration value (baseType xs:NMTOKEN) ["VERTEX" | "FRAGMENT" | 'etc.'] from initializeOnly SFString field named type.

      Tooltip: type indicates whether this ShaderProgram is a vertex or fragment (pixel) shader.
      • Warning: do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.
      Returns:
      value of type field
    • setType

      ShaderPart setType(String newValue)
      Accessor method to assign String enumeration value ("VERTEX" | "FRAGMENT") to initializeOnly SFString field named type.

      Tooltip: type indicates whether this ShaderProgram is a vertex or fragment (pixel) shader.
      • Warning: do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.
      Parameters:
      newValue - is new value for the type field.
      Returns:
      ShaderPart - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getUrl

      String[] getUrl()
      Provide array of String results from inputOutput MFString field named url.

      Tooltip: Location and filename of shader. Multiple locations are more reliable, and including a Web address lets e-mail attachments work.
      • Hint: MFString arrays can have multiple values, so separate each individual string by quote marks "https://www.web3d.org" "https://www.web3d.org/about" "etc."
      • Hint: alternative XML encoding for quotation mark " is " (which is an example of a character entity).
      • Warning: strictly match directory and filename capitalization for http links! This is important for portability. Some operating systems are forgiving of capitalization mismatches, but http/https url addresses and paths in Unix-based operating systems are all case sensitive and intolerant of uppercase/lowercase mismatches.
      • Hint: can replace embedded blank(s) in url queries with %20 for each blank character.
      • Hint: X3D Scene Authoring Hints, urls https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#urls
      Specified by:
      getUrl in interface X3DUrlObject
      Returns:
      value of url field
    • setUrl

      ShaderPart setUrl(String[] newValue)
      Accessor method to assign String array to inputOutput MFString field named url.

      Tooltip: Location and filename of shader. Multiple locations are more reliable, and including a Web address lets e-mail attachments work.
      • Hint: MFString arrays can have multiple values, so separate each individual string by quote marks "https://www.web3d.org" "https://www.web3d.org/about" "etc."
      • Hint: alternative XML encoding for quotation mark " is " (which is an example of a character entity).
      • Warning: strictly match directory and filename capitalization for http links! This is important for portability. Some operating systems are forgiving of capitalization mismatches, but http/https url addresses and paths in Unix-based operating systems are all case sensitive and intolerant of uppercase/lowercase mismatches.
      • Hint: can replace embedded blank(s) in url queries with %20 for each blank character.
      • Hint: X3D Scene Authoring Hints, urls https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#urls
      Specified by:
      setUrl in interface X3DUrlObject
      Parameters:
      newValue - is new value for the url field.
      Returns:
      ShaderPart - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).