Class Geometry

    • Field Detail

      • VBuffer

        public VertexBuffer VBuffer
        member access: VertexBuffer
      • IBuffer

        public IndexBuffer IBuffer
        member access: IndexBuffer
      • ModelBound

        public BoundingVolume ModelBound
        member access: BoundingVolume
      • m_spkLEffect

        protected LightingEffect m_spkLEffect
        Dynamic lighting. The effect is pushed onto the front of Spatial's effect array so that lighting occurs before other shader effects.
      • States

        public GlobalState[] States
        Render state and lights in path to this object. An attached effect provides additional render state, lights, and any other information needed to draw the object.
      • HWorld

        public Matrix4f HWorld
        homogeneous world matrix
    • Constructor Detail

      • Geometry

        public Geometry()
        Default constructor, creates a SphereBV bounding volume.
      • Geometry

        protected Geometry​(Geometry kG)
        Constructor, creates a SphereBV bounding volume.
        Parameters:
        pkVBuffer - VertexBuffer
        pkIBuffer - IndexBuffer
      • Geometry

        protected Geometry​(VertexBuffer pkVBuffer,
                           IndexBuffer pkIBuffer)
        Constructor, creates a SphereBV bounding volume.
        Parameters:
        pkVBuffer - VertexBuffer
        pkIBuffer - IndexBuffer
      • Geometry

        protected Geometry​(VertexBuffer pkVBuffer,
                           IndexBuffer pkIBuffer,
                           BoundingVolume kBounds)
        Constructor, creates a SphereBV bounding volume.
        Parameters:
        pkVBuffer - VertexBuffer
        pkIBuffer - IndexBuffer
    • Method Detail

      • dispose

        public void dispose()
        Delete memory.
        Overrides:
        dispose in class Spatial
      • GetAllObjectsByName

        public void GetAllObjectsByName​(java.lang.String rkName,
                                        java.util.Vector<GraphicsObject> rkObjects)
        Writes all GraphicsObjects with the name that matches the input parameter, rkName into the Vector parameter rkObjects.
        Specified by:
        GetAllObjectsByName in interface NameIdInterface
        Overrides:
        GetAllObjectsByName in class Spatial
        Parameters:
        rkName - the name of the objects to return.
        rkObjects - a Vector of all objects with the matching name.
      • GetDiskUsed

        public int GetDiskUsed​(StreamVersion rkVersion)
        Returns the size of this object and it's children on disk for the current StreamVersion parameter.
        Specified by:
        GetDiskUsed in interface StreamInterface
        Overrides:
        GetDiskUsed in class Spatial
        Parameters:
        rkVersion - the current version of the Stream file being created.
        Returns:
        the size of this object on disk.
      • GetObjectByID

        public GraphicsObject GetObjectByID​(int uiID)
        Returns the GraphicsObject with the ID that matches the input parameter, uiID.
        Specified by:
        GetObjectByID in interface NameIdInterface
        Overrides:
        GetObjectByID in class Spatial
        Parameters:
        uiID - the ID of the object to return.
        Returns:
        the GraphicsObject that matches the input name.
      • GetObjectByName

        public GraphicsObject GetObjectByName​(java.lang.String rkName)
        Returns the GraphicsObject with the name that matches the input parameter, rkName.
        Specified by:
        GetObjectByName in interface NameIdInterface
        Overrides:
        GetObjectByName in class Spatial
        Parameters:
        rkName - the name of the object to return.
        Returns:
        the GraphicsObject that matches the input name.
      • Link

        public void Link​(Stream rkStream,
                         Stream.Link pkLink)
        Copies this objects children objects from the input Stream's HashTable, based on the LinkID of the child stored in the pkLink parameter.
        Specified by:
        Link in interface StreamInterface
        Overrides:
        Link in class Spatial
        Parameters:
        rkStream - the Stream where the child objects are stored.
        pkLink - the Link class from which the child object IDs are read.
      • Load

        public void Load​(Stream rkStream,
                         Stream.Link pkLink)
        Loads this object from the input parameter rkStream, using the input Stream.Link to store the IDs of children objects of this object for linking after all objects are loaded from the Stream.
        Specified by:
        Load in interface StreamInterface
        Overrides:
        Load in class Spatial
        Parameters:
        rkStream - the Stream from which this object is being read.
        pkLink - the Link class for storing the IDs of this object's children objects.
      • Register

        public boolean Register​(Stream rkStream)
        Registers this object with the input Stream parameter. All objects streamed to disk are registered with the Stream so that a unique list of objects is maintained.
        Specified by:
        Register in interface StreamInterface
        Overrides:
        Register in class Spatial
        Parameters:
        rkStream - the Stream where the child objects are stored.
        Returns:
        true if this object is registered, false if the object has already been registered.
      • Save

        public void Save​(Stream rkStream)
        Write this object and all it's children to the Stream.
        Specified by:
        Save in interface StreamInterface
        Overrides:
        Save in class Spatial
        Parameters:
        rkStream - the Stream where the child objects are stored.
      • SaveStrings

        public StringTree SaveStrings​(java.lang.String acTitle)
        Write this object into a StringTree for the scene-graph visualization.
        Specified by:
        SaveStrings in interface StreamInterface
        Overrides:
        SaveStrings in class Spatial
        Parameters:
        acTitle - the header for this object in the StringTree.
        Returns:
        StringTree containing a String-based representation of this object and it's children.
      • UpdateMS

        public void UpdateMS()
        geometric updates
      • UpdateMS

        public void UpdateMS​(boolean bUpdateNormals)
        geometric updates
        Parameters:
        bUpdateNormals - if true call UpdateModelNormals().
      • UpdateWorldData

        public void UpdateWorldData​(double dAppTime)
        internal use Compute the homogeneous world matrix from the components of the World transformation.
        Overrides:
        UpdateWorldData in class Spatial
        Parameters:
        dAppTime - animation time step from the application.
      • Copy

        protected void Copy​(Geometry kG)
        Constructor, creates a SphereBV bounding volume.
        Parameters:
        pkVBuffer - VertexBuffer
        pkIBuffer - IndexBuffer
      • GetVisibleSet

        protected void GetVisibleSet​(Culler rkCuller,
                                     boolean bNoCull)
        culling
        Overrides:
        GetVisibleSet in class Bindable
        Parameters:
        rkCuller - culling object applied to this geometry.
        bNoCull - (not currently used).
      • UpdateModelBound

        protected void UpdateModelBound()
        geometric updates
      • UpdateModelNormals

        protected void UpdateModelNormals()
        geometric updates
      • UpdateState

        protected void UpdateState​(java.util.Vector<java.util.Vector<GlobalState>> akGStack,
                                   java.util.Vector<Light> pkLStack)
        render state updates
        Overrides:
        UpdateState in class Bindable
        Parameters:
        akGStack - global states.
        akLStack - lights.
      • UpdateWorldBound

        protected void UpdateWorldBound()
        geometric updates
        Overrides:
        UpdateWorldBound in class Bindable