HLightsObject

Functions

HLightsObject

~HLightsObject

char const *

GetName

int

SetupHandlesEvent

char const *

GetStaticName

void

InsertLocalLight

void

InsertDistantLight

void

InsertSpotLight

void

TurnLightsOnOff

Detailed Description

class HLightsObject : public HObject, public HObjectManipulationListener

The HLightsObject class encapsulates interactive light objects.

This class creates 3d objects representing the various HOOPS light types which can be repositioned and rotate interactively using the handle functionality.

Public Functions

HLightsObject(HBaseView *view)

Constructs an HLightsObject object.

Parameters

view – A pointer to the HBaseView object.

~HLightsObject()
virtual char const *GetName()
Returns

The name of the object which is ‘light’.

int SetupHandlesEvent(HBaseView *view, HC_KEY key, bool complex)

This method creates geometry handles on the lights object.

Parameters
  • view – A pointer to the HBaseView object.

  • key – The key of the current object.

  • complex – Pass true to create complex handles or false to create simple handles.

Returns

An HOperatorReturn indicating the status of the event.

Public Static Functions

static char const *GetStaticName()
Returns

The name of the object which is ‘light’.

static void InsertLocalLight(HBaseView *view, HPoint &pos)

This method insert a local light at the given position in the object segment. The local light is an infinitesimally small point that radiates light in all direction as described in #HC_Insert_Local_Light. Geometry-wise, the local light is represented by a sphere in the scene.

Parameters
  • view – A pointer to the HBaseView object.

  • pos – A 3d world position to insert light into.

static void InsertDistantLight(HBaseView *view, HPoint &pos)

This method inserts a distant light at the given position in the object segment. As described in #HC_Insert_Distant_Light, the distant light represents a directional light source that is so far away that the rays of light are parallel when it hits the object. Note that it illuminates all surfaces in a scene with the same intensity. Geometry-wise, the distant light is represented by an arrow in the scene.

Parameters
  • view – A pointer to the HBaseView object.

  • pos – A 3d world position to insert light into.

static void InsertSpotLight(HBaseView *view, HPoint &pos)

This method inserts a spot light at given position in the object segment. The spot light is the most common general use light used in HOOPS. As described in #HC_Insert_Spot_Light, it can not only behave like a sharp-edged spotlight, but also like a variable-focus flashlight, or a fuzzy-edged floodlight. These characteristics are determined from the light’s position, target, illumination cone, edge sharpness, and concentration parameters. Geometry-wise, the spot light is represented as an arrow and sphere.

Parameters
  • view – A pointer to the HBaseView object.

  • pos – A 3d world position to insert light into.

static void TurnLightsOnOff(HBaseView *view, bool onoff)

This method activates/deactivates the light geometry.

Parameters
  • view – A pointer to the HBaseView object.

  • onoff – Pass true to activate light geometry or false to deactivate it.