Medical Imaging Interaction Toolkit
2023.04.00
Medical Imaging Interaction Toolkit
mitkBoundingObjectGroup.h
Go to the documentation of this file.
1
/*============================================================================
2
3
The Medical Imaging Interaction Toolkit (MITK)
4
5
Copyright (c) German Cancer Research Center (DKFZ)
6
All rights reserved.
7
8
Use of this source code is governed by a 3-clause BSD license that can be
9
found in the LICENSE file.
10
11
============================================================================*/
12
#ifndef mitkBoundingObjectGroup_h
13
#define mitkBoundingObjectGroup_h
14
15
#include "
MitkDataTypesExtExports.h
"
16
#include <deque>
17
#include <
mitkBoundingObject.h
>
18
19
namespace
mitk
20
{
21
//##Documentation
22
//## @brief group object, that contains several mitk::BoundingObjects
23
//##
24
//## Calculates a bounding box that contains all sub-bounding boxes.
25
//## @ingroup Data
26
class
MITKDATATYPESEXT_EXPORT
BoundingObjectGroup
:
public
mitk::BoundingObject
27
{
28
public
:
29
enum
CSGMode
30
{
31
Union
,
32
Intersection
,
33
Difference
34
};
35
36
mitkClassMacro
(
BoundingObjectGroup
,
37
mitk::BoundingObject
);
// itk::VectorContainer<unsigned int ,mitk::BoundingObject::Pointer>);
38
itkFactorylessNewMacro(Self);
39
itkCloneMacro(Self);
40
41
void
UpdateOutputInformation()
override
;
42
bool
IsInside(
const
mitk::Point3D
&p)
const override
;
43
44
void
SetBoundingObjects(
const
std::deque<mitk::BoundingObject::Pointer> boundingObjects);
45
std::deque<mitk::BoundingObject::Pointer> GetBoundingObjects();
46
47
itkSetMacro(CSGMode,
mitk::BoundingObjectGroup::CSGMode
);
48
itkGetMacro(CSGMode,
mitk::BoundingObjectGroup::CSGMode
);
49
50
void
AddBoundingObject(
mitk::BoundingObject::Pointer
boundingObject);
51
void
RemoveBoundingObject(
mitk::BoundingObject::Pointer
boundingObject);
52
unsigned
int
GetCount()
const
;
53
mitk::BaseGeometry
*GetGeometry(
int
t = 0)
const
;
54
55
bool
VerifyRequestedRegion()
override
;
56
57
protected
:
58
BoundingObjectGroup
();
59
~
BoundingObjectGroup
()
override
;
60
61
std::deque<mitk::BoundingObject::Pointer>
m_BoundingObjects
;
62
unsigned
int
m_Counter
;
63
CSGMode
m_CSGMode
;
64
};
65
}
66
#endif
mitk::BoundingObjectGroup::m_Counter
unsigned int m_Counter
Definition:
mitkBoundingObjectGroup.h:62
mitk::BoundingObjectGroup::CSGMode
CSGMode
Definition:
mitkBoundingObjectGroup.h:29
MitkDataTypesExtExports.h
MITKDATATYPESEXT_EXPORT
#define MITKDATATYPESEXT_EXPORT
Definition:
MitkDataTypesExtExports.h:15
itk::SmartPointer< Self >
mitk
DataCollection - Class to facilitate loading/accessing structured data.
Definition:
RenderingTests.dox:1
mitk::BoundingObjectGroup::m_BoundingObjects
std::deque< mitk::BoundingObject::Pointer > m_BoundingObjects
Definition:
mitkBoundingObjectGroup.h:61
mitk::BaseGeometry
BaseGeometry Describes the geometry of a data object.
Definition:
mitkBaseGeometry.h:94
mitk::Point< ScalarType, 3 >
mitk::BoundingObjectGroup::Union
@ Union
Definition:
mitkBoundingObjectGroup.h:31
mitk::BoundingObjectGroup::m_CSGMode
CSGMode m_CSGMode
Definition:
mitkBoundingObjectGroup.h:63
mitkBoundingObject.h
mitk::BoundingObjectGroup
group object, that contains several mitk::BoundingObjects
Definition:
mitkBoundingObjectGroup.h:26
mitkClassMacro
#define mitkClassMacro(className, SuperClassName)
Definition:
mitkCommon.h:36
mitk::BoundingObjectGroup::Intersection
@ Intersection
Definition:
mitkBoundingObjectGroup.h:32
mitk::BoundingObject
superclass of all bounding objects (cylinder, cuboid,...)
Definition:
mitkBoundingObject.h:27
src
MITK
Modules
DataTypesExt
include
mitkBoundingObjectGroup.h
Generated on Wed May 17 2023 16:26:04 for Medical Imaging Interaction Toolkit by
1.8.17