/*=========================================================================

  Program:   ParaView
  Module:    $RCSfile: vtkIceTConstants.h,v $

  Copyright (c) Kitware, Inc.
  All rights reserved.
  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.

     This software is distributed WITHOUT ANY WARRANTY; without even
     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
     PURPOSE.  See the above copyright notice for more information.

=========================================================================*/
/*----------------------------------------------------------------------------
 Copyright (c) Sandia Corporation
 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
----------------------------------------------------------------------------*/

// .NAME vtkIceTConstants - Keeper of constants for IceT classes.
//
// .SECTION Description
//
// vtkIceTConstants is not really meant to be used as a class.  Rather, it
// simply holds constants that can be used with the IceT classes.  These
// constants are defined outside of the vtkIceTRenderManager and vtkIceTRenderer
// definitions so that they can be accessed when the IceT implementation classes
// are not compiled.  Because ParaView is designed to run client/server and
// because the server should be able to use its IceT implementation even when
// the client is not compiled with IceT.  In this case, the client needs to send
// flags to the server.
//
// Those flags are defined here.  This class does not have any dependence on any
// MPI or IceT libraries, so can be used on either client or server.
//
// .SECTION See Also
// vtkIceTRenderManager, vtkIceTRenderer
//

#ifndef __vtkIceTConstants_h
#define __vtkIceTConstants_h

class VTK_EXPORT vtkIceTConstants
{
public:
  enum StrategyType {
    DEFAULT = 0,
    REDUCE  = 1,
    VTREE   = 2,
    SPLIT   = 3,
    SERIAL  = 4,
    DIRECT  = 5
  };

  enum ComposeOperationType {
    ComposeOperationClosest = 0,
    ComposeOperationOver    = 1
  };
};

#endif //__vtkIceTConstants_h
