VTK
dox
opt
build
vtk6-6.3.0+dfsg2
Common
System
vtkThreadMessager.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkThreadMessager.h
5
6
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7
All rights reserved.
8
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10
This software is distributed WITHOUT ANY WARRANTY; without even
11
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12
PURPOSE. See the above copyright notice for more information.
13
14
=========================================================================*/
22
#ifndef vtkThreadMessager_h
23
#define vtkThreadMessager_h
24
25
#include "
vtkCommonSystemModule.h
"
// For export macro
26
#include "
vtkObject.h
"
27
28
#if defined(VTK_USE_PTHREADS) || defined(VTK_HP_PTHREADS)
29
#include <pthread.h>
// Needed for pthread types
30
#endif
31
32
class
VTKCOMMONSYSTEM_EXPORT
vtkThreadMessager
:
public
vtkObject
33
{
34
public
:
35
static
vtkThreadMessager
*
New
();
36
37
vtkTypeMacro
(
vtkThreadMessager
,
vtkObject
);
38
void
PrintSelf
(ostream& os,
vtkIndent
indent);
39
41
void
WaitForMessage
();
42
44
void
SendWakeMessage
();
45
49
void
EnableWaitForReceiver
();
50
54
void
DisableWaitForReceiver
();
55
58
void
WaitForReceiver
();
59
60
protected
:
61
vtkThreadMessager
();
62
~vtkThreadMessager
();
63
64
#ifdef VTK_USE_PTHREADS
65
pthread_mutex_t Mutex;
66
pthread_cond_t PSignal;
67
#endif
68
69
#ifdef VTK_USE_WIN32_THREADS
70
vtkWindowsHANDLE WSignal;
71
#endif
72
73
private
:
74
vtkThreadMessager
(
const
vtkThreadMessager
&);
// Not implemented.
75
void
operator=(
const
vtkThreadMessager
&);
// Not implemented.
76
};
77
78
#endif
vtkThreadMessager::DisableWaitForReceiver
void DisableWaitForReceiver()
vtkThreadMessager
A class for performing inter-thread messaging.
Definition:
vtkThreadMessager.h:33
vtkThreadMessager::WaitForMessage
void WaitForMessage()
VTKCOMMONSYSTEM_EXPORT
#define VTKCOMMONSYSTEM_EXPORT
Definition:
vtkCommonSystemModule.h:15
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition:
vtkSetGet.h:642
vtkObject
abstract base class for most VTK objects
Definition:
vtkObject.h:62
vtkThreadMessager::vtkThreadMessager
vtkThreadMessager()
vtkCommonSystemModule.h
vtkThreadMessager::EnableWaitForReceiver
void EnableWaitForReceiver()
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:39
vtkThreadMessager::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkObject.h
vtkThreadMessager::~vtkThreadMessager
~vtkThreadMessager()
vtkThreadMessager::WaitForReceiver
void WaitForReceiver()
vtkThreadMessager::SendWakeMessage
void SendWakeMessage()
vtkThreadMessager::New
static vtkThreadMessager * New()
Generated by
1.8.20