VTK: Rendering/RayTracing/RTWrapper/VisRTX/Instance.h Source File

| VTK 9.3.1

Instance.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
3 #pragma once
4
5 #include "../Types.h"
6 #include "Group.h"
7
8 #include <VisRTX.h>
9
10 #include <set>
11
12 namespace RTW
13 {
14 VTK_ABI_NAMESPACE_BEGIN
15 class Instance : public Object
16 {
17 friend class World;
18
19 public:
20 Instance(Group *_group)
21 : Object(RTW_INSTANCE),
22 group(_group)
23 {
24 if(group)
25 group->AddRef();
26 }
27
28 ~Instance()
29 {
30 if(group)
31 group->Release();
32 }
33
34 void Commit() override {}
35
36 private:
37 Group *group;
38 };
39 VTK_ABI_NAMESPACE_END
40 }
Group.h
RTW_INSTANCE
@ RTW_INSTANCE
Definition: Types.h:146
RTW::Group
Definition: Group.h:16
RTW::Instance
Definition: Instance.h:16
RTW::Instance::Commit
void Commit() override
Definition: Instance.h:34
RTW::Instance::~Instance
~Instance()
Definition: Instance.h:28
RTW::Instance::Instance
Instance(Group *_group)
Definition: Instance.h:20
RTW::Object
Definition: Object.h:22
RTW::Object::Release
void Release()
Definition: Object.h:46
RTW::Object::AddRef
void AddRef()
Definition: Object.h:41
RTW::World
Definition: World.h:16
RTW
Definition: Backend.h:8