vtkOpenXRSceneComponent represent a component in the XR scene.
vtkOpenXRSceneComponent represent a component in the XR scene.This class is instanciated by vtkOpenXRSceneObserver when a new component has been detected by the OpenXR runtime.
This class is designed as a variant, where the component data varies depending on its type.
void OnNewComponent(
vtkObject* observer,
unsigned long event,
void* calldata)
{
{
someActor->SetUserMatrix(component->GetMarkerPose());
}
}
abstract base class for most VTK objects
#ifndef vtkOpenXRSceneComponent_h
#define vtkOpenXRSceneComponent_h
#include "vtkRenderingOpenXRModule.h"
#include <array>
#include <cstdint>
#include <memory>
VTK_ABI_NAMESPACE_BEGIN
{
struct vtkInternals;
public:
enum ComponentTypes
{
Marker
};
vtkGetMacro(LastModifiedTime, int64_t);
vtkGetMacro(Type, ComponentTypes);
const std::string& GetMarkerText() const;
double GetMarkerWidth() const;
double GetMarkerHeight() const;
void Initialize(ComponentTypes type);
void UpdateMarkerRepresentation(
int64_t lastModifiedTime,
vtkMatrix4x4* matrix,
double width,
double height, std::string text);
protected:
private:
int64_t LastModifiedTime{ 0 };
std::unique_ptr<vtkInternals> Impl{};
};
VTK_ABI_NAMESPACE_END
#endif
represent and manipulate 4x4 transformation matrices
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.