Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.threed.jpct.util
Class ExtendedPrimitives

    java.lang.Object
      com.threed.jpct.util.ExtendedPrimitives

public class ExtendedPrimitives
extends java.lang.Object

This class provides some methods to create basic 3d objects that can be used within a jPCT world. All objects have usable uv-coordinates and methods for default values (especially to create objects that fit into a 1*1*1 cube). After creation don't forget to add the object to your world, otherwise you won't see it.

Constructor Summary
`ExtendedPrimitives()`

Method Summary
`static Object3D` | `createBox(SimpleVector size)` Creates a cuboid with width, height and depth given as components of a SimpleVector.
`static Object3D` | `createCog(int teeth)` Creates a cog that fits into a 1*1*1 cube.
`static Object3D` | `createCog(int teeth, float holeRadius, float innerRadius, float outerRadius, float innerSpace, float outerSpace, float outerMovement, float height)` Creates a cog.
`static Object3D` | `createCone(float radius, float height, int faces, boolean cap)` Creates a cone which would perfectly fit into a 1*1*1 cube.
`static Object3D` | `createCone(int faces)` Creates a cone which would perfeclty fit into a 1*1*1 cube.
`static Object3D` | `createCube()` Creates a cube with an edge length of 1.
`static Object3D` | `createCube(float size)` Creates a cube with a given edge length.
`static Object3D` | `createCylinder(float radius, float height, int quads, boolean caps)` Creates a cylinder with specific radius and height.
`static Object3D` | `createCylinder(int quads)` Creates a cylinder which would perfectly fit into a 1*1*1 cube.
`static Object3D` | `createDisc(float xradius, float yradius, int vertices)` Creates a disc with a specific radius in X and in Y direction.
`static Object3D` | `createDisc(float radius, int vertices)` Creates a disc with a specific radius.
`static Object3D` | `createDisc(int vertices)` Creates a disc with a size of 1*1 (so it has radius 0.5).
`static Object3D` | `createEllipsoid(SimpleVector size, int quads)` Creates an ellipsoid with given width, height and depth.
`static Object3D` | `createEllipsoid(SimpleVector size, int quads, float uScale, float vScale)` Creates an ellipsoid with given width, height and depth.
`static Object3D` | `createPivot()` A pivot object is just another name for a dummy object that can be used to position objects by setting the pivot as parent.
`static Object3D` | `createPlane(float size, int quads)` Creates a plane.
`static Object3D` | `createPlane(int quads)` Creates a plane.
`static Object3D` | `createPyramid()` Creates a pyramid that would perfectly fit into a 1*1*1 cube.
`static Object3D` | `createPyramid(float size)` Creates a pyramid that would perfectly fit into a specific cube.
`static Object3D` | `createPyramid(float size, float height)` Creates a pyramid with a specific ground size and height.
`static Object3D` | `createSphere(float radius, int quads)` Creates a sphere with a specific radius.
`static Object3D` | `createSphere(int quads)` Creates a sphere with a radius of 0.5 (so it would perfectly fit into a 1*1*1 cube).
`static Object3D` | `createSprite()` Creates a sprite of size 1*1.
`static Object3D` | `createSprite(float size)` Creates a sprite of a specific size.
`static Object3D` | `createSprite(float width, float height)` Creates a sprite of a specific size.
`static Object3D` | `createTorus(float radius, float pipeRadius, int lengthQuads, int pipeQuads)` Creates a torus (also known as donut) around the Y-Axis.
`static Object3D` | `createTorus(int lengthQuads, int pipeQuads)` Creates a torus (also known as donut) around the Y-Axis.
`static Object3D` | `createTube(float innerRadius, float outerRadius, float height, int quads)` Creates a tube along the Y-Axis.
`static Object3D` | `createTube(int quads)` Creates a tube along the Y-Axis.
`static void` | `transformUVCoords(Object3D obj, float uMove1, float vMove1, float uScale, float vScale, float uMove2, float vMove2)` Moves, scales and again moves uv coords on an Object3D object.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ExtendedPrimitives

    public ExtendedPrimitives()

Method Detail

### createPivot

    public static Object3D createPivot()

  A pivot object is just another name for a dummy object that can be used to position objects by setting the pivot as parent. A pivot will never be drawn and so you also shouldn't add it to a World.

  Returns:
    the pivot object

### createCube

    public static Object3D createCube()

  Creates a cube with an edge length of 1.

  Returns:
    a cube object

### createCube

    public static Object3D createCube(float size)

  Creates a cube with a given edge length.

  Parameters:
    `size` - length of each edge
  Returns:
    a cube object

### createBox

    public static Object3D createBox(SimpleVector size)

  Creates a cuboid with width, height and depth given as components of a SimpleVector.

  Parameters:
    `size` - width, height and depth for the cubiod that should be created
  Returns:
    the created cuboid

### createCylinder

    public static Object3D createCylinder(int quads)

  Creates a cylinder which would perfectly fit into a 1*1*1 cube. It points towards the Y-Axis.

  Parameters:
    `quads` - The number of quads that should be used for the cylinder. Don't use more quads than you need!
  Returns:
    the created cylinder

### createCylinder

    public static Object3D createCylinder(float radius,
                                          float height,
                                          int quads,
                                          boolean caps)

  Creates a cylinder with specific radius and height. It points towards the Y-Axis.

  Parameters:
    `radius` - of the cylinder
    `height` - of the cylinder along Y-Axis
    `quads` - The number of quads that should be used for the cylinder. Don't use more quads than you need!
    `caps` - if false the cylinder won't have caps an the ends
  Returns:
    the created cylinder

### createCone

    public static Object3D createCone(int faces)

  Creates a cone which would perfeclty fit into a 1*1*1 cube. The top points towards the negative Y-Axis.

  Parameters:
    `faces` - Number of faces that should be used. Don't use more faces than you need!
  Returns:
    the created cone

### createCone

    public static Object3D createCone(float radius,
                                      float height,
                                      int faces,
                                      boolean cap)

  Creates a cone which would perfectly fit into a 1*1*1 cube. The top points towards the negative Y-Axis.

  Parameters:
    `radius` - of the cone
    `height` - of the cone along the Y-Axis
    `faces` - Number of faces that should be used. Don't use more faces than you need!
    `cap` - If false the cone won't have a ground.
  Returns:

### createSprite

    public static Object3D createSprite()

  Creates a sprite of size 1*1. A sprite is just a surface of two triangles that will always point towards the camera. Sprites are especially used for particle effect. If you don't want the sprite pointing towards the camera you can disable it by using the setBillboarding method.

  Returns:
    created sprite

### createSprite

    public static Object3D createSprite(float size)

  Creates a sprite of a specific size. A sprite is just a surface of two triangles that will always point towards the camera. Sprites are especially used for particle effect. If you don't want the sprite pointing towards the camera you can disable it by using the setBillboarding method.

  Parameters:
    `size` - of the sprite
  Returns:
    created sprite

### createSprite

    public static Object3D createSprite(float width,
                                        float height)

  Creates a sprite of a specific size. A sprite is just a surface of two triangles that will always point towards the camera. Sprites are especially used for particle effect. If you don't want the sprite pointing towards the camera you can disable it by using the setBillboarding method.

  Parameters:
    `width` - of the sprite
    `height` - of the sprite
  Returns:
    created sprite

### createPlane

    public static Object3D createPlane(int quads)

  Creates a plane. A plane is a flat rectangle consisting of quads (smaller rectangles). By default each quad has a size of 1.

  Parameters:
    `quads` - Number of quads at each edge.
  Returns:
    the created plane

### createPlane

    public static Object3D createPlane(float size,
                                       int quads)

  Creates a plane. A plane is a flat rectangle consisting of quads (smaller rectangles).

  Parameters:
    `size` - of the quads
    `quads` - Number of quads at each edge.
  Returns:
    the created plane

### createTorus

    public static Object3D createTorus(int lengthQuads,
                                       int pipeQuads)

  Creates a torus (also known as donut) around the Y-Axis. This default torus would perfectly fit into a 1*1*1 cube.

  Parameters:
    `lengthQuads` - Number of quads that should be used along the pipe.
    `pipeQuads` - Number of quads that should be used the pipe round.
  Returns:
    the created torus

### createTorus

    public static Object3D createTorus(float radius,
                                       float pipeRadius,
                                       int lengthQuads,
                                       int pipeQuads)

  Creates a torus (also known as donut) around the Y-Axis.

  Parameters:
    `radius` - Radius of a imaginary circle the torus should contain.
    `pipeRadius` - Radius of the pipe.
    `lengthQuads` - Number of quads that should be used along the pipe.
    `pipeQuads` - Number of quads that should be used the pipe round.
  Returns:
    the created torus

### createPyramid

    public static Object3D createPyramid()

  Creates a pyramid that would perfectly fit into a 1*1*1 cube. The top points towards the negative Y-Axis.

  Returns:
    the created pyramid

### createPyramid

    public static Object3D createPyramid(float size)

  Creates a pyramid that would perfectly fit into a specific cube. The top points towards the negative Y-Axis.

  Parameters:
    `size` - of the cube in which the pyramide should perfectly fit in
  Returns:
    the created pyramid

### createPyramid

    public static Object3D createPyramid(float size,
                                         float height)

  Creates a pyramid with a specific ground size and height. The top points towards the negative Y-Axis.

  Parameters:
    `size` - of the ground of the pyramide
    `height` - of the pyramid
  Returns:
    the created pyramid

### createSphere

    public static Object3D createSphere(int quads)

  Creates a sphere with a radius of 0.5 (so it would perfectly fit into a 1*1*1 cube).

  Parameters:
    `quads` - Number of quads that should be used for the sphere. You should seriously not use more quads than you need!
  Returns:
    the created sphere

### createSphere

    public static Object3D createSphere(float radius,
                                        int quads)

  Creates a sphere with a specific radius.

  Parameters:
    `radius` - of the sphere
    `quads` - Number of quads that should be used for the sphere. You should seriously not use more quads than you need!
  Returns:
    the created sphere

### createEllipsoid

    public static Object3D createEllipsoid(SimpleVector size,
                                           int quads)

  Creates an ellipsoid with given width, height and depth.

  Parameters:
    `size` - Vector that contains width, height and depth
    `quads` - Number of quads that should be used for the sphere. You should seriously not use more quads than you need!
  Returns:
    the created ellipsoid

### createEllipsoid

    public static Object3D createEllipsoid(SimpleVector size,
                                           int quads,
                                           float uScale,
                                           float vScale)

  Creates an ellipsoid with given width, height and depth.

  Parameters:
    `size` - Vector that contains width, height and depth
    `quads` - Number of quads that should be used for the sphere. You should seriously not use more quads than you need!
    `uScale` - texture u scale, default is 2f
    `vScale` - texture v scale, default is 1f
  Returns:
    the created ellipsoid

### createDisc

    public static Object3D createDisc(int vertices)

  Creates a disc with a size of 1*1 (so it has radius 0.5). A disk is flat an can only seen from one side. The disk is created along the Z-Axis and should be visible from the negative Z-Axis.

  Parameters:
    `vertices` - Number of vertices that should be used.
  Returns:
    the created disk

### createDisc

    public static Object3D createDisc(float radius,
                                      int vertices)

  Creates a disc with a specific radius. A disk is flat an can only seen from one side. The disk is created along the Z-Axis and should be visible from the negative Z-Axis.

  Parameters:
    `radius` - of the disk
    `vertices` - Number of vertices that should be used.
  Returns:
    the created disk

### createDisc

    public static Object3D createDisc(float xradius,
                                      float yradius,
                                      int vertices)

  Creates a disc with a specific radius in X and in Y direction. A disk is flat an can only seen from one side. The disk is created along the Z-Axis and should be visible from the negative Z-Axis.

  Parameters:
    `xradius` - Radius along the X-Axis.
    `yradius` - Radius along the Y-Axis.
    `vertices` - Number of vertices that should be used.
  Returns:
    the created disk

### createCog

    public static Object3D createCog(int teeth)

  Creates a cog that fits into a 1*1*1 cube. A cog is created so that it would turn around the Y-Axis.

  Parameters:
    `teeth` - Number of teeth.
  Returns:
    the created cog

### createCog

    public static Object3D createCog(int teeth,
                                     float holeRadius,
                                     float innerRadius,
                                     float outerRadius,
                                     float innerSpace,
                                     float outerSpace,
                                     float outerMovement,
                                     float height)

  Creates a cog. A cog is created so that it would turn around the Y-Axis.

  Parameters:
    `teeth` - Number of teeth
    `holeRadius` - Radius of the hole within the cog.
    `innerRadius` - Radius without the theeth.
    `outerRadius` - Radius with the teeth.
    `innerSpace` - Factor of the size between teeth. Default is 1.
    `outerSpace` - Factor of the size of teeth. Default is 1.
    `outerMovement` - Turning of the teeth in radian. Default is 0.
    `height` - Heihgt of the cog.
  Returns:
    the created cog

### createTube

    public static Object3D createTube(int quads)

  Creates a tube along the Y-Axis. A tube is nothing else than a cylinder with an hole in it. This default tube has a innerRadius of 0.3, outer radius of 0.5 and a height of 1 (so wow, it would fit into a 1*1*1 cube).

  Parameters:
    `quads` - Number of quads that should be used. Don't use more than you need!
  Returns:
    the created cube

### createTube

    public static Object3D createTube(float innerRadius,
                                      float outerRadius,
                                      float height,
                                      int quads)

  Creates a tube along the Y-Axis. A tube is nothing else than a cylinder with an hole in it.

  Parameters:
    `innerRadius` - Radius of the cylinder.
    `outerRadius` - Radius of the hole.
    `height` - Heihgt of the cylinder.
    `quads` - Number of quads that should be used. Don't use more than you need!
  Returns:
    the created cube.

### transformUVCoords

    public static void transformUVCoords(Object3D obj,
                                         float uMove1,
                                         float vMove1,
                                         float uScale,
                                         float vScale,
                                         float uMove2,
                                         float vMove2)

  Moves, scales and again moves uv coords on an Object3D object. To let this method work properly you have to follow these rules: 1. Never call strip() before 2. Use build(false) instead of build() method (you have to call it manually) 3. Call touch() on object to apply changes

  Parameters:
    `obj` - object whom uv coords should be scaled
    `uMove1` - u movement before scaling
    `vMove1` - v movement before scaling
    `uScale` - scale factor for u coords
    `vScale` - scale factor for v coords
    `uMove2` - u movement after scaling
    `vMove2` - v movement after scaling

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD