VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtLightPointNodeAndXform.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 VT-MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 #pragma once
10 
11 #include <vrvOsg/vrvOsg.h>
13 
14 #include <osg/Node>
15 #include <osg/observer_ptr>
16 
17 #include <vector>
18 
19 namespace makVrv
20 {
21  typedef osg::observer_ptr<osg::Node> LightPointNodeObs;
22 
26  {
27  public:
30 
32  virtual ~DtLightPointNodeAndXform();
33 
36  const osg::Matrix& lightPointXform = osg::Matrix(),
37  const DtNodePointerStack& dofStack = DtNodePointerStack(),
38  const DtNodePointerStack& lodStack = DtNodePointerStack(),
39  const DtNodePointerStack& switchStack = DtNodePointerStack());
40 
41  private:
43  DtLightPointNodeAndXform() = delete;
44 
47 
49  bool operator==(const DtLightPointNodeAndXform& other) = delete;
50 
51  public:
52  // Compare dof/lod/switch stacks to find aggregation division points
53  int cmpStacks(const DtLightPointNodeAndXform& other) const;
54 
55  public:
56  LightPointNodeObs myLightPointObs; // light point node observer
57  osg::Matrix myLightPointXform; // transform attached to this node
58  DtNodePointerStack myDofStack; // Dof stack accumulation leading to this node
59  DtNodePointerStack myLodStack; // Lod stack accumulation leading to this node
60  DtNodePointerStack mySwitchStack; // Switch stack accumulation leading to this node
61  };
62 
66  typedef std::vector<DtLightPointNodeAndXform> DtLightPointNodeAndXformVector;
67 
68 } // namespace makVrv
69 
Contains makVrv::DtLightPointNode class.
DtNodePointerStack myLodStack
Definition: DtLightPointNodeAndXform.h:59
LightPointNodeObs myLightPointObs
Definition: DtLightPointNodeAndXform.h:56
DtNodePointerStack myDofStack
Definition: DtLightPointNodeAndXform.h:58
virtual ~DtLightPointNodeAndXform()
DTOR.
This is data used to determine division points during light point aggregation. It uses simple public ...
Definition: DtLightPointNodeAndXform.h:25
osg::Matrix myLightPointXform
Definition: DtLightPointNodeAndXform.h:57
std::vector< DtLightPointNodeAndXform > DtLightPointNodeAndXformVector
Vector of light point nodes and their transforms. We need to keep every path to every light at this p...
Definition: DtLightPointNodeAndXform.h:66
int cmpStacks(const DtLightPointNodeAndXform &other) const
osg::observer_ptr< osg::Node > LightPointNodeObs
typedef a map of light point nodes use observer pointers so when they are deleted we don&#39;t try to use...
Definition: DtLightPointNodeAndXform.h:21
DtLightPointNodeAndXform()=delete
not allowed
std::vector< osg::Node * > DtNodePointerStack
Definition: DtLightPointNode.h:27
Contains DLL export macros.
bool operator==(const DtLightPointNodeAndXform &other)=delete
not allowed
DtNodePointerStack mySwitchStack
Definition: DtLightPointNodeAndXform.h:60
DtLightPointNodeAndXform & operator=(const DtLightPointNodeAndXform &other)=delete
not allowed

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)