# TK_Cutting_Plane

## Functions

| `TK_Cutting_Plane`
| `~TK_Cutting_Plane`
`TK_Status` | `Read`
`TK_Status` | `Write`
`TK_Status` | `Clone`
`TK_Status` | `ReadAscii`
`TK_Status` | `WriteAscii`
void | `Reset`
void | `SetPlanes`
void | `SetDPlanes`
void | `SetPlane`
void | `SetDPlane`
void | `SetPlane`
void | `SetDPlane`
float const * | `GetPlane`
double const * | `GetDPlane`
float const * | `GetPlanes`
double const * | `GetDPlanes`
int | `GetCount`

## Detailed Description

class TK_Cutting_Plane : public BBaseOpcodeHandler

  Handles the TKE_Cutting_Plane opcode.

  TK_Cutting_Plane provides support for writing/reading the TKE_Cutting_Plane opcode object to/from an HSF file.

  The HOOPS/3dGS scene-graph supports ‘cutting planes’ which define a plane that will cut away part of the scene

  Subclassed by HTK_Cutting_Plane

  Public Functions

  inline TK_Cutting_Plane()

    constructor

  ~TK_Cutting_Plane()
  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.

  virtual void Reset()

    Resets the current opcode handler. This is called by the toolkit when it is done processing an opcode. This method reinitializes any opcode handler variables and frees up temporary data.

  void SetPlanes(int count, float const p[] = 0)

    Sets the cutting planes and/or allocates space

  void SetDPlanes(int count, double const p[] = 0)

    Sets the cutting planes and/or allocates space

  inline void SetPlane(float a, float b, float c, float d)

    Sets the cutting plane using discrete float values

  inline void SetDPlane(double a, double b, double c, double d)

    Sets the cutting plane using discrete float values

  inline void SetPlane(float const p[])

    Sets the cutting plane using an array of four floats

  inline void SetDPlane(double const p[])

    Sets the cutting plane using an array of four floats

  inline float const *GetPlane() const

    Returns the cutting plane as the address of an array of four floats

  inline double const *GetDPlane() const

    Returns the cutting plane as the address of an array of four double

  inline float const *GetPlanes() const

    Returns the cutting planes as the address of an array of four floats per plane

  inline double const *GetDPlanes() const

    Returns the cutting planes as the address of an array of four double per plane

  inline int GetCount() const

    Returns the number of cutting planes