Module imp3d

Class Box

All Implemented Interfaces:
Transformation, Pickable, Raytraceable, Renderable, Manageable, PersistenceCapable, Shareable, UserFields, XObject, Map, Serializable
Direct Known Subclasses:
PropertyBox

public class Box extends Axis implements Pickable, Renderable, Raytraceable
See Also:
  • Field Details

  • Constructor Details

    • Box

      public Box()
    • Box

      public Box(float length)
    • Box

      public Box(float length, boolean shiftPivot)
    • Box

      public Box(float length, float width, float height)
  • Method Details

    • getPivotShift

      protected float getPivotShift(Object object, boolean asNode, GraphState gs)
      Overrides:
      getPivotShift in class Axis
    • pick

      public static void pick(float w2, float l2, float h, Point3d origin, Vector3d direction, PickList list)
    • pick

      public void pick(Object object, boolean asNode, Point3d origin, Vector3d direction, Matrix4d t, PickList list)
      Description copied from interface: Pickable
      Computes intersections of a given ray with this shape.
      Specified by:
      pick in interface Pickable
      Parameters:
      object - the object of which this shape is an attribute
      asNode - true iff object is a node
      origin - the origin of the ray, in local coordinates
      direction - the direction of the ray, in local coordinates
      t - the transformation from local coordinates to world coordinates
      list - the list to which intersections have to be added
    • draw

      public void draw(Object object, boolean asNode, RenderState rs)
      Specified by:
      draw in interface Renderable
    • createRaytracerLeaf

      public RaytracerLeaf createRaytracerLeaf(Object object, boolean asNode, long pathId, GraphState gs)
      Specified by:
      createRaytracerLeaf in interface Raytraceable
    • getNTypeImpl

      protected Node.NType getNTypeImpl()
      Description copied from class: Node
      This method returns the Node.NType which describes the managed fields of the class of this node. This method has to be implemented in every concrete subclass.
      Overrides:
      getNTypeImpl in class ShadedNull
      Returns:
      type describing the managed fields of the class of this node
    • newInstance

      protected Node newInstance()
      Description copied from class: Node
      This method returns a new instance of the class of this node. This method has to be implemented in every concrete subclass.
      Overrides:
      newInstance in class ShadedNull
      Returns:
      new instance of class of this node
    • getWidth

      public float getWidth()
    • setWidth

      public void setWidth(float value)
    • getHeight

      public float getHeight()
    • setHeight

      public void setHeight(float value)
    • isShiftPivot

      public boolean isShiftPivot()
    • setShiftPivot

      public void setShiftPivot(boolean v)
    • getSurfaceArea

      public double getSurfaceArea()
      Calculates the area of an object. Intersection with other object are not considered.The total area will be calculated. A=2*(a*b + a*c + b*c)
      Overrides:
      getSurfaceArea in class ShadedNull
      Returns:
      area
    • getVolume

      public double getVolume()
      Calculates the volume. Intersection with other object are not considered.The total volume will be calculated. V=a*b*c
      Overrides:
      getVolume in class ShadedNull
      Returns:
      volume