SceneObjectPolygon

Extends: SceneObjectBillboard

Properties


Constructor

new SceneObjectPolygon( name: string, drawableObj: DrawablePolygon, ): SceneObjectPolygon

Parameters


Instance Methods

didRegionToDrawChange(): boolean

protected

Returns

  • boolean

drawToCanvas( rendererObj: BGE.Renderer, drawMode: SceneObjectDrawMode, ): boolean

protected

Parameters

Returns

  • boolean

getAllCanvasPoints(): dynamic

protected

Returns

  • dynamic

getOutlineCanvasPoints(): dynamic

protected

A polygon has its own arbitrary point list, and never populates the inherited canvasPoints quad the base class would otherwise stroke.

Returns

  • dynamic

drawToTempBitmap( rendererObj: BGE.Renderer, tempBitmap: ifDraw2d, canvasPointsTopLeftBound: BGE.Math.Vector, drawMode: SceneObjectDrawMode, allowFastDraw?: boolean, ): TempBitmapDrawResult

protected

Parameters

  • rendererObj (BGE.Renderer)
  • tempBitmap (ifDraw2d)
  • canvasPointsTopLeftBound (BGE.Math.Vector)
  • drawMode (SceneObjectDrawMode)
  • allowFastDraw (boolean, optional, default: false)

Returns

updateWorldPosition(drawMode: SceneObjectDrawMode): boolean

protected

Parameters

Returns

  • boolean

getPositionForCameraDistance( drawMode: SceneObjectDrawMode, ): BGE.Math.Vector

Parameters

Returns

  • BGE.Math.Vector

getPositionsForFrustumCheck( drawMode: SceneObjectDrawMode, ): dynamic

protected

DrawablePolygon.points defines a convex, planar polygon, so - unlike a general 3D mesh (see SceneObjectModel) - its own world points are already a tight bound: no need for getBoundingCubePoints()'s O(N) scan-and-inflate-to-8-corners, which is pure overhead for a shape whose corners already lie in one plane. Mirrors SceneObjectBillboard.getPositionsForFrustumCheck(), which returns its 4 already-computed corners for the same reason.

Parameters

Returns

  • dynamic

afterDraw(): void

protected

Returns

  • void

updateCanvasPosition( rendererObj: Renderer, drawMode: SceneObjectDrawMode, ): boolean

protected

Parameters

Returns

  • boolean