# HLightsObject

## Functions

| `HLightsObject`
| `~HLightsObject`
const char * | `GetName`
int | `SetupHandlesEvent`
const char * | `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 const char *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 const char *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.