Skip to content

gg-3d-world overview


Table of contents


utils

Gg3dWorld (class)

Signature

export declare class Gg3dWorld<TypeDoc, SceneTypeDoc> {
  constructor(args: { visualScene?: SceneTypeDoc['visualScene']; physicsWorld?: SceneTypeDoc['physicsWorld'] })
}

addPrimitiveRigidBody (method)

Signature

addPrimitiveRigidBody(
    descr: BodyShape3DDescriptor,
    position: Point3 = Pnt3.O,
    rotation: Point4 = Qtrn.O,
    material: DisplayObject3dOpts<TypeDoc['vTypeDoc']['texture']> = {},
  ): Entity3d<TypeDoc>

addRenderer (method)

Signature

addRenderer(
    camera: TypeDoc['vTypeDoc']['camera'],
    canvas?: HTMLCanvasElement,
    rendererOptions?: Partial<RendererOptions & TypeDoc['vTypeDoc']['rendererExtraOpts']>,
  ): Renderer3dEntity<TypeDoc['vTypeDoc']>

registerConsoleCommands (method)

Signature

protected registerConsoleCommands(ggstatic: {
    registerConsoleCommand: (
      world: GgWorld<any, any> | null,
      command: string,
      handler: (...args: string[]) => Promise<string>,
      doc?: string,
    ) => void;
  })

loader (property)

Signature

readonly loader: Gg3dLoader<TypeDoc>

Gg3dWorldSceneTypeDocPPatch (type alias)

Signature

export type Gg3dWorldSceneTypeDocPPatch<
  PTypeDoc extends PhysicsTypeDocRepo3D,
  PW extends IPhysicsWorld3dComponent<PTypeDoc> | null
> = Omit<Gg3dWorldSceneTypeRepo, 'physicsWorld'> & { physicsWorld: PW }

Gg3dWorldSceneTypeDocVPatch (type alias)

Signature

export type Gg3dWorldSceneTypeDocVPatch<
  VTypeDoc extends VisualTypeDocRepo3D,
  VS extends IVisualScene3dComponent<VTypeDoc> | null
> = Omit<Gg3dWorldSceneTypeRepo, 'visualScene'> & { visualScene: VS }

Gg3dWorldSceneTypeRepo (type alias)

Signature

export type Gg3dWorldSceneTypeRepo<TypeDoc extends Gg3dWorldTypeDocRepo = Gg3dWorldTypeDocRepo> = {
  visualScene: IVisualScene3dComponent<TypeDoc['vTypeDoc']> | null
  physicsWorld: IPhysicsWorld3dComponent<TypeDoc['pTypeDoc']> | null
}

Gg3dWorldTypeDocPPatch (type alias)

Signature

export type Gg3dWorldTypeDocPPatch<PTypeDoc extends PhysicsTypeDocRepo3D> = Omit<Gg3dWorldTypeDocRepo, 'pTypeDoc'> & {
  pTypeDoc: PTypeDoc
}

Gg3dWorldTypeDocRepo (type alias)

Signature

export type Gg3dWorldTypeDocRepo = {
  vTypeDoc: VisualTypeDocRepo3D
  pTypeDoc: PhysicsTypeDocRepo3D
}

Gg3dWorldTypeDocVPatch (type alias)

Signature

export type Gg3dWorldTypeDocVPatch<VTypeDoc extends VisualTypeDocRepo3D> = Omit<Gg3dWorldTypeDocRepo, 'vTypeDoc'> & {
  vTypeDoc: VTypeDoc
}

PhysicsTypeDocRepo3D (type alias)

Signature

export type PhysicsTypeDocRepo3D = {
  factory: IPhysicsBody3dComponentFactory
  loader: IPhysicsBody3dComponentLoader
  rigidBody: IRigidBody3dComponent
  trigger: ITrigger3dComponent
  raycastVehicle: IRaycastVehicleComponent
}

TypedGg3dWorld (type alias)

Signature

export type TypedGg3dWorld<VW extends Gg3dWorld<any> | null, PW extends Gg3dWorld<any> | null> = VW extends Gg3dWorld<
  infer VTD,
  infer VSTD
> | null
  ? PW extends Gg3dWorld<infer PTD, infer PSTD> | null
    ? Gg3dWorld<
        {
          vTypeDoc: VTD['vTypeDoc']
          pTypeDoc: PTD['pTypeDoc']
        },
        {
          visualScene: VSTD['visualScene']
          physicsWorld: PSTD['physicsWorld']
        }
      >
    : never
  : never

VisualTypeDocRepo3D (type alias)

Signature

export type VisualTypeDocRepo3D = {
  factory: IDisplayObject3dComponentFactory
  loader: IDisplayObject3dComponentLoader
  displayObject: IDisplayObject3dComponent
  renderer: IRenderer3dComponent
  rendererExtraOpts: {}
  camera: ICameraComponent
  texture: unknown
}