Provided by: paraview_5.12.1+dfsg-4_amd64 bug

NAME

       icetCreateContext -- creates a new context.

Synopsis

       #include <IceT.h>

       IceTContext icetCreateContext(   IceTCommunicator   comm  );

Description

       The  icetCreateContext  function  creates  a  new context, makes it current, and returns a
       handle to the new context. The handle returned is of type IceTContext.  This is an  opaque
       type  that  should  not  be  handled  directly,  but  rather  simply  passed to other IceT
       functions.

       Like OpenGL ,the IceT engine behaves like a large state machine. The parameters for engine
       operation  is  held  in  the current state. The entire state is encapsulated in a context.
       Each new context contains its own state.

       It is therefore possible to change the entire current state of IceT  by  simply  switching
       contexts.  Switching  contexts  is  much faster, and often more convenient, than trying to
       change many state parameters.

Errors

       None.

Warnings

       None.

Bugs

       It may be tempting to use contexts to run different IceT operations  on  separate  program
       threads.  Although certainly possible, great care must be taken. First of all, all threads
       will share the same context. Second  of  all,  IceT  is  not  thread  safe.  Therefore,  a
       multi-threaded  program  would  have  to  run  all IceT commands in `critical sections' to
       ensure that the correct context is being used, and the methods execute safely in general.

Notes

       icetCreateContext duplicates the communicator comm.  Thus, to avoid deadlocks  on  certain
       implementations (such as MPI), the user level program should call icetCreateContext on all
       processes with the same comm object at about the same time.

Copyright

       Copyright (C)2003 Sandia Corporation

       Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government
       retains certain rights in this software.

       This source code is released under the New BSD License.

See Also

       icetDestroyContext(3), icetGetContext(3), icetSetContext(3), icetCopyState(3), icetGet(3)

IceT Reference                           August  9, 2010                     icetCreateContext(3)