vsg: vsg::MatrixTransform Class Reference

vsg 1.1.3 VulkanSceneGraph library

Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
vsg::MatrixTransform Class Reference

`#include <MatrixTransform.h>`

Inheritance diagram for vsg::MatrixTransform:
[legend]
Collaboration diagram for vsg::MatrixTransform:
[legend]

## Public Member Functions
| MatrixTransform (const MatrixTransform &rhs, const CopyOp &copyop={})
| MatrixTransform (const dmat4 &in_matrix)
dmat4 | transform (const dmat4 &mv) const override
ref_ptr< Object > | clone (const CopyOp &copyop={}) const override
int | compare (const Object &rhs) const override
| compare two objects, return -1 if this object is less than rhs, return 0 if it's equal, return 1 if rhs is greater,
void | read (Input &input) override
void | write (Output &output) const override
Public Member Functions inherited from vsg::Inherit< Transform, MatrixTransform >
| Inherit (Args &&... args)
std::size_t | sizeofObject () const noexcept override
const char * | className () const noexcept override
const std::type_info & | type_info () const noexcept override
bool | is_compatible (const std::type_info &type) const noexcept override
void | accept (Visitor &visitor) override
void | accept (ConstVisitor &visitor) const override
void | accept (RecordTraversal &visitor) const override
Public Member Functions inherited from vsg::Transform
| Transform (const Transform &rhs, const CopyOp &copyop={})
int | compare (const Object &rhs) const override
| compare two objects, return -1 if this object is less than rhs, return 0 if it's equal, return 1 if rhs is greater,
void | read (Input &input) override
void | write (Output &output) const override
Public Member Functions inherited from vsg::Inherit< Group, Transform >
| Inherit (Args &&... args)
Public Member Functions inherited from vsg::Group
| Group (size_t numChildren=0)
| Group (const Group &rhs, const CopyOp &copyop={})
template<typename Iterator >
| Group (Iterator begin, Iterator end)
void | addChild (vsg::ref_ptr< Node > child)
void | traverse (Visitor &visitor) override
void | traverse (ConstVisitor &visitor) const override
void | traverse (RecordTraversal &visitor) const override
Public Member Functions inherited from vsg::Inherit< Node, Group >
| Inherit (Args &&... args)
Public Member Functions inherited from vsg::Node
| Node (const Node &rhs, const CopyOp &copyop={})
ref_ptr< Object > | clone (const CopyOp &copyop={}) const override
Public Member Functions inherited from vsg::Inherit< Object, Node >
| Inherit (Args &&... args)
Public Member Functions inherited from vsg::Object
| Object (const Object &object, const CopyOp &copyop={})
Object & | operator= (const Object &)
template<class T >
T * | cast ()
template<class T >
const T * | cast () const
void | ref () const noexcept
void | unref () const noexcept
void | unref_nodelete () const noexcept
unsigned int | referenceCount () const noexcept
template<typename T >
void | setValue (const std::string &key, const T &value)
void | setValue (const std::string &key, const char *value)
| specialization of setValue to handle passing C strings
template<typename T >
bool | getValue (const std::string &key, T &value) const
| get specified value type, return false if value associated with key is not assigned or is not the correct type
void | setObject (const std::string &key, ref_ptr< Object > object)
| assign an Object associated with key
Object * | getObject (const std::string &key)
| get Object pointer associated with key, return nullptr if no object associated with key has been assigned
const Object * | getObject (const std::string &key) const
| get const Object pointer associated with key, return nullptr if no object associated with key has been assigned
template<class T >
T * | getObject (const std::string &key)
| get object pointer of specified type associated with key, return nullptr if no object associated with key has been assigned
template<class T >
const T * | getObject (const std::string &key) const
| get const object pointer of specified type associated with key, return nullptr if no object associated with key has been assigned
ref_ptr< Object > | getRefObject (const std::string &key)
| get ref_ptr<Object> associated with key, return nullptr if no object associated with key has been assigned
ref_ptr< const Object > | getRefObject (const std::string &key) const
| get ref_ptr<const Object> pointer associated with key, return nullptr if no object associated with key has been assigned
template<class T >
ref_ptr< T > | getRefObject (const std::string &key)
| get ref_ptr<T> of specified type associated with key, return nullptr if no object associated with key has been assigned
template<class T >
const ref_ptr< const T > | getRefObject (const std::string &key) const
| get ref_ptr<const T> of specified type associated with key, return nullptr if no object associated with key has been assigned
void | removeObject (const std::string &key)
| remove meta object or value associated with key
Auxiliary * | getOrCreateAuxiliary ()
Auxiliary * | getAuxiliary ()
const Auxiliary * | getAuxiliary () const

## Public Attributes
dmat4 | matrix
Public Attributes inherited from vsg::Transform
bool | subgraphRequiresLocalFrustum = true
Public Attributes inherited from vsg::Group
Children | children

## Additional Inherited Members
Public Types inherited from vsg::Group
using | Children = std::vector<ref_ptr<Node>, allocator_affinity_nodes<ref_ptr<Node>>>
Static Public Member Functions inherited from vsg::Inherit< Transform, MatrixTransform >
static ref_ptr< MatrixTransform > | create (Args &&... args)
static ref_ptr< MatrixTransform > | create_if (bool flag, Args &&... args)
Static Public Member Functions inherited from vsg::Inherit< Group, Transform >
static ref_ptr< Transform > | create (Args &&... args)
static ref_ptr< Transform > | create_if (bool flag, Args &&... args)
Static Public Member Functions inherited from vsg::Group
template<class N , class V >
static void | t_traverse (N &node, V &visitor)
Static Public Member Functions inherited from vsg::Inherit< Node, Group >
static ref_ptr< Group > | create (Args &&... args)
static ref_ptr< Group > | create_if (bool flag, Args &&... args)
Static Public Member Functions inherited from vsg::Node
static void * | operator new (std::size_t count)
| provide new and delete to enable custom memory management via the vsg::Allocator singleton, using the MEMORY_NODES_OBJECTS
static void | operator delete (void *ptr)
Static Public Member Functions inherited from vsg::Inherit< Object, Node >
static ref_ptr< Node > | create (Args &&... args)
static ref_ptr< Node > | create_if (bool flag, Args &&... args)
Static Public Member Functions inherited from vsg::Object
static ref_ptr< Object > | create ()
static ref_ptr< Object > | create_if (bool flag)
static void * | operator new (std::size_t count)
| provide new and delete to enable custom memory management via the vsg::Allocator singleton, using the MEMORY_AFFINTY_OBJECTS
static void | operator delete (void *ptr)
Protected Member Functions inherited from vsg::Object
virtual void | _attemptDelete () const
void | setAuxiliary (Auxiliary *auxiliary)

## Detailed Description

MatrixTransform is a transform node that provides a 4x4 matrix that is used to position subgraphs. During the RecordTraversal the matrix is multiplied by the modelview matrix and pushed to the State::modelviewMatrixStack stack. When the subgraph has been traversed the multiplied matrix is popped from the State::modelviewMatrixStack.

## Member Function Documentation

## ◆ clone()

ref_ptr< Object > vsg::MatrixTransform::clone | ( | const CopyOp & | copyop = {} | ) | const
| inlineoverridevirtual

clone this object using CopyOp's duplicates map to decide whether to clone or to return the original object. The default clone(CopyOp&) implementation simply returns ref_ptr<> to this object rather attempt to clone.

Reimplemented from vsg::Group.

## ◆ compare()

int vsg::MatrixTransform::compare | ( | const Object & | rhs | ) | const
| overridevirtual

compare two objects, return -1 if this object is less than rhs, return 0 if it's equal, return 1 if rhs is greater,

Reimplemented from vsg::Inherit< Transform, MatrixTransform >.

## ◆ read()

void vsg::MatrixTransform::read | ( | Input & | input | ) |
| overridevirtual

Reimplemented from vsg::Group.

## ◆ transform()

dmat4 vsg::MatrixTransform::transform | ( | const dmat4 & | mv | ) | const
| inlineoverridevirtual

Return the transform matrix, multiplying local transform matrix against the matrix passed into the transform(..) method. Typically one pre multiplies local transform against the matrix passed in, which during a RecordTraversal will be the previous modelview matrix inherited from above.

Implements vsg::Transform.

## ◆ write()

void vsg::MatrixTransform::write | ( | Output & | output | ) | const
| overridevirtual

Reimplemented from vsg::Group.

The documentation for this class was generated from the following file:

- include/vsg/nodes/MatrixTransform.h