# HOpConstructSphere

## Functions

| `HOpConstructSphere`
| `~HOpConstructSphere`
const char * | `GetName`
int | `OnLButtonDown`
int | `OnLButtonDownAndMove`
int | `OnLButtonUp`
HBaseOperator * | `Clone`

## Detailed Description

class HOpConstructSphere : public HBaseOperator

  The HOpConstructSphere class provides support for constructing a sphere and inserting it into the model.

  HOpConstructSphere implements three of the mouse event handlers defined on the base class and maps the events to local methods that rubberband a sphere and insert a corresponding HOOPS shell into the HOOPS database. This provides the basic functionality for drawing a three-dimensional, tesselated sphere. The operation consists of the following steps:

  1. Left Button Down: Registers the center point of the sphere.

  2. Left Button Down and Drag: Rubberbands the sphere to the desired circumference.

  3. Left Button Up: Circumference is finalized, the scene is cleared and the operation ends.

  More Detailed Description: see event methods.

  Subclassed by HOpCreateSphere

  Public Functions

  HOpConstructSphere(HBaseView *view, int DoRepeat = 0, int DoCapture = 1)

    Constructs an HOpConstructSphere object.

    Parameters

      - view – A pointer to an HBaseView object.

      - DoRepeat – An integer denoting whether this is a repeatable operator. This parameter has been deprecated.

      - DoCapture – An integer denoting whether the mouse state should be captured, which means that all mouse events should be received after a mousedown, even if it leaves the window. This parameter has been deprecated.

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

      A pointer to a character string denoting the name of the operator which is ‘Construct Sphere’.

  virtual int OnLButtonDown(HEventInfo &hevent)

    OnLButtonDown records the first pointer position and initiates the sphere-drawing mechanism.

    Parameters

      hevent – An HEventInfo object containing information about the current event.

    Returns

      An HOperatorReturn indicating the status of the event.

  virtual int OnLButtonDownAndMove(HEventInfo &hevent)

    OnLButtonDownAndMove draws rubberbanded lines along the circumference of three great circles centered on the first pointer position: one equatorial, one along the prime meridian, and one 90-degrees from the prime meridian. Note that the basic dynamic drawing work is done by repeated calls to the protected function HOpConstructSphere::ConstructWireframeSphere.

    Parameters

      hevent – An HEventInfo object containing information about the current event.

    Returns

      An HOperatorReturn indicating the status of the event.

  virtual int OnLButtonUp(HEventInfo &hevent)

    OnLButtonUp finalizes the size of the sphere and cleans up.

    Parameters

      hevent – An HEventInfo object containing information about the current event.

    Returns

      An HOperatorReturn indicating the status of the event.

  virtual HBaseOperator *Clone()

    Creates a new operator which is a copy of the current operator. The user is responsible for deleting the newly created operator.

    Returns

      A pointer to the newly created HOpConstructSphere object.