VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtInstanceContainer.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
15 
16 namespace makVrv
17 {
18  typedef std::vector<Matrix4_64> VectorMatrix4_64;
19 
20  struct DtAggregateModelInfo;
21 
28  {
29  public:
32 
34  virtual ~DtInstanceContainer();
35 
37  virtual void addInstance(const DtInstance_64& instance64, const DtPerGeomInstances& perGeomTemplates,
40  int geometryLocations, int &outPerGeomTemplateOffset, int &outSize);
41  virtual void removeAllInstances(void);
42  virtual const Instances& instances(void) const;
43  virtual const VectorInts& instanceModelIds(void) const;
45 
47  virtual const DtInstance& operator[](int index) const;
48 
50  virtual int getMinModelAdded();
51 
53  virtual void resetMinModelAdded();
54 
55  int getNumUniqueGeometriesForModel(int modelId);
56 
58  virtual DtPerGeomInstances& perGeomInstances(void);
59 
61  virtual int getNumUniqueGeometries();
62 
64  virtual void incrementNumUniqueGeometries(int number);
65 
67  const std::vector<int>& modelAddedOrder();
68 
69  protected:
77 
78  std::vector<int> myModelAddedOrder;
79  };
80 }
SetInts myUniqueModels
Definition: DtInstanceContainer.h:72
DtPerGeomInstances myPerGeomInstances
Definition: DtInstanceContainer.h:75
std::set< int > SetInts
Definition: DtCommonTypes.h:22
Dll export defines.
MapIntToInt myModelIdToGeometryCount
Definition: DtInstanceContainer.h:73
std::vector< int > myModelAddedOrder
Definition: DtInstanceContainer.h:78
std::vector< DtPerGeomInstance > DtPerGeomInstances
Definition: DtGeometrySpecification.h:41
DtGeometrySpecification class declaration.
#define DT_DLL_VRVINDIRECTRENDERING
Definition: vrvIndirectRendering.h:19
std::map< int, int > MapIntToInt
Definition: DtCommonTypes.h:25
VectorInts myModelIds
Definition: DtInstanceContainer.h:71
std::vector< int > VectorInts
Definition: DtCommonTypes.h:20
contains the Per Model info which DtAggregatedGeometry needs It is owned by the Indirect geometry reg...
Definition: DtAggregatedGeometry.h:47
Notion of a &#39;GPU&#39; instance has a relative transform to the cell/geometry (32 bits).
Definition: DtInstance.h:62
Contains makVrv::DtInstance &amp; DtInstance_64 classes.
Notion of an &#39;CPU&#39; instance An DtInstance_64 has a model id, a transform, and the lod information The...
Definition: DtInstance.h:29
std::vector< Matrix4_64 > VectorMatrix4_64
Definition: DtInstanceContainer.h:18
int myNumUniqueGeometries
Definition: DtInstanceContainer.h:76
Helper class to manage instances This class allows you to add a DtInstance_64 Internally, however it stores this as a DtInstance (which the GPU can directly read)
Definition: DtInstanceContainer.h:27
Instances myInstances
Definition: DtInstanceContainer.h:70
int myMinModelAdded
Definition: DtInstanceContainer.h:74
std::vector< DtInstance > Instances
Definition: DtInstance.h:76

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)