# TK_Ellipse

## Functions

| `TK_Ellipse`
`TK_Status` | `Read`
`TK_Status` | `Write`
`TK_Status` | `Clone`
`TK_Status` | `ReadAscii`
`TK_Status` | `WriteAscii`
void | `SetCenter`
void | `SetCenter`
float const * | `GetCenter`
void | `SetMajor`
void | `SetMajor`
float const * | `GetMajor`
void | `SetMinor`
void | `SetMinor`
float const * | `GetMinor`
void | `SetDCenter`
void | `SetDCenter`
double const * | `GetDCenter`
void | `SetDMajor`
void | `SetDMajor`
double const * | `GetDMajor`
void | `SetDMinor`
void | `SetDMinor`
double const * | `GetDMinor`
void | `SetLimits`
float const * | `GetLimits`

## Detailed Description

class TK_Ellipse : public BBaseOpcodeHandler

  Handles the TKE_Ellipse and TKE_Elliptical_Arc opcodes.

  TK_Ellipse provides support for writing/reading the TKE_Ellipse and TKE_Elliptical_Arc opcode objects to/from an HSF file.

  The HOOPS/3dGS scene-graph can contain ‘ellipse’ and ‘elliptical arc’ primitives which are defined by center, major and minor points, as well as two parameterization values in the case of an elliptical arc.

  Subclassed by HTK_Ellipse

  Public Functions

  inline TK_Ellipse(unsigned char opcode)

    constructor

  virtual TK_Status Read(BStreamFileToolkit &tk)

    Reads data from the toolkit buffer, decodes/decompresses it, and maps it to the opcode handlers data members. User-defined classes which need to write out custom data should utilize one of the available GetData() methods.

    Parameters

      tk – A reference to the BStreamFileToolkit object.

    Returns

      The result of the function call.

  virtual TK_Status Write(BStreamFileToolkit &tk)

    Encodes/compresses data and writes data to the toolkit buffer. User-defined classes which need to write out custom data should utilize one of the available PutData() methods, and first write out the opcode associated with the group of binary data followed by the data itself.

    Parameters

      tk – A reference to the BStreamFileToolkit object.

    Returns

      The result of the function call.

  virtual TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const

    Copies the opcode handler

    Parameters

      - tk – A reference to the BStreamFileToolkit object.

      - handler – A pointer to the opcode handler object. Passed by reference.

    Returns

      The result of the function call.

  TK_Status ReadAscii(BStreamFileToolkit &tk)

    Deprecated.

  TK_Status WriteAscii(BStreamFileToolkit &tk)

    Deprecated.

  inline void SetCenter(float x, float y, float z)

    Sets the center of the arc using discrete float values

  inline void SetCenter(float const s[])

    Sets the center of the arc using a float triplet

  inline float const *GetCenter() const

    Returns the center of the arc as the address of a float triplet

  inline void SetMajor(float x, float y, float z)

    Sets the major axis of the arc using discrete float values

  inline void SetMajor(float const m[])

    Sets the major axis of the arc using a float triplet

  inline float const *GetMajor() const

    Returns the major axis of the arc as the address of a float triplet

  inline void SetMinor(float x, float y, float z)

    Sets the minor axis of the arc using discrete float values

  inline void SetMinor(float const m[])

    Sets the minor axis of the arc using a float triplet

  inline float const *GetMinor() const

    Returns the minor axis of the arc as the address of a float triplet

  inline void SetDCenter(double x, double y, double z)

    Sets the center of the arc using discrete double values

  inline void SetDCenter(double const s[])

    Sets the center of the arc using a float triplet

  inline double const *GetDCenter() const

    Returns the center of the arc as the address of a float triplet

  inline void SetDMajor(double x, double y, double z)

    Sets the major axis of the arc using discrete float values

  inline void SetDMajor(double const m[])

    Sets the major axis of the arc using a float triplet

  inline double const *GetDMajor() const

    Returns the major axis of the arc as the address of a float triplet

  inline void SetDMinor(double x, double y, double z)

    Sets the minor axis of the arc using discrete float values

  inline void SetDMinor(double const m[])

    Sets the minor axis of the arc using a float triplet

  inline double const *GetDMinor() const

    Returns the minor axis of the arc as the address of a float triplet

  inline void SetLimits(float s, float e)

    Sets the parametric limits of the arc using discrete values

  inline float const *GetLimits() const

    Returns the parametric limits of the arc as the address of a float pair