MeVisLab Toolbox Reference
SoCSOTransformElement.h
Go to the documentation of this file.
1/*************************************************************************************
2**
3** Copyright 2007, MeVis Medical Solutions AG
4**
5** The user may use this file in accordance with the license agreement provided with
6** the Software or, alternatively, in accordance with the terms contained in a
7** written agreement between the user and MeVis Medical Solutions AG.
8**
9** For further information use the contact form at https://www.mevislab.de/contact
10**
11**************************************************************************************/
12
13#pragma once
14
15#include "SoCSOSystem.h"
16
17#include <Inventor/SbLinear.h>
18#include <Inventor/elements/SoAccumulatedElement.h>
19
20#include <vector>
21
22class SoCSOTransform;
23class SOCSO_EXPORT SoCSOTransformElement : public SoAccumulatedElement
24{
25
26 SO_ELEMENT_HEADER(SoCSOTransformElement);
27
28public:
30 void init(SoState* state) override;
31
33 static void add(SoState* state, SoCSOTransform* node);
34
36 void push(SoState* state) override;
37
40
41 int get(std::vector<SoCSOTransform*>& allTransforms) const;
42
43
46 static void initClass();
47
48protected:
49 std::vector<SoCSOTransform*> _csoTransforms;
50
52 virtual void addToElt(SoCSOTransform* node);
53
55};
#define SOCSO_EXPORT
Header file for system independent resolution.
Definition SoCSOSystem.h:21
void push(SoState *state) override
Overrides push() method to copy values from next instance in the stack.
static const SoCSOTransformElement * getInstance(SoState *state)
Returns the top (current) instance of the element in the state.
void init(SoState *state) override
Initializes element.
std::vector< SoCSOTransform * > _csoTransforms
static void add(SoState *state, SoCSOTransform *node)
Adds a transform node to the current set in the state.
int get(std::vector< SoCSOTransform * > &allTransforms) const
static void initClass()
Initializes the SoCSOTransformElement class.
virtual void addToElt(SoCSOTransform *node)
Adds a transform node to an instance.
virtual ~SoCSOTransformElement()
Abstract Open Inventor base class for uniform shader parameter nodes.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.