Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 
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
27  {
28  public:
29  enum CSGMode
30  {
33  Difference
34  };
35 
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:
59  ~BoundingObjectGroup() override;
60 
61  std::deque<mitk::BoundingObject::Pointer> m_BoundingObjects;
62  unsigned int m_Counter;
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
Find image slices visible on a given plane.
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