26#ifndef _SO_DATA_SET_ELEMENT_
27#define _SO_DATA_SET_ELEMENT_
29#include <Inventor/nodes/SoShaderParameter.h>
30#include <Inventor/elements/SoReplacedElement.h>
31#include <Inventor/SbBox.h>
32#include <Inventor/SbLinear.h>
33#include <Inventor/STL/vector>
34#include <Inventor/STL/set>
35#include <Inventor/STL/map>
40#pragma warning( push )
41#pragma warning(disable:4251)
46class SoLDMTileManager;
71 static void get(
SoState* state, std::vector<SoDataSet*>&);
87 virtual void init(
SoState* state);
98 typedef std::pair<SoDataSet*, const SoDataSetId*> DataSetPtrIdPair;
101 static void initClass();
102 static void exitClass();
107 static bool isDoingMultiData(
SoState* state);
110 static bool isDoingCpuComposition(
SoState* state);
114 static std::pair<T*, int> getLastOfType(
SoState* state,
bool derived)
117 return std::make_pair(
static_cast<T*
>(p.first), p.second);
122 static void get(
SoState* state, SoLDMTileManager*& );
125 static void getGroupedDataSets(
SoState* state, std::vector<SoLDM::DataSetIdPairList>& dataSets);
134 static void setMasterId(
SoState* state,
int dataSetId);
152 typedef std::set<const SoDataSetId*> DataSetIdSet;
153 typedef std::map<SoDataSet*, DataSetIdSet> DataSetIdMap;
154 typedef std::vector<DataSetPtrIdPair> DataSetPtrIdPairVec;
155 typedef std::map<SoLDM::DataSetIdPair, SbMatrix> ModelMatrixMap;
170 DataSetPtrIdPairVec m_dataSetIdPairList;
171 ModelMatrixMap m_modelMatrices;
177 static bool s_forceOIV6Behavior;
178 std::vector<uint64_t> m_nodeIds;
182#pragma warning( pop )
virtual void push(SoState *state)
Overrides push() method to copy values from next instance in the stack.
static void get(SoState *state, std::vector< SoDataSet * > &)
static void set(SoState *state, SoNode *node, SoDataSet *datasetNode, const SbMatrix &matrix)
static void get(SoState *state, SoDataSet *&ds)
static void getDefault(SoLDM::DataSetIdPair &)
static void get(SoState *state, SoLDM::DataSetIdPairList &dataSetIdPairList)
static const SbMatrix & get(SoState *state, SoDataSet *&, SbBool &isIdent)
static void set(SoState *state, SoNode *node, SoDataSet *datasetNode)
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Data set...
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Property...
Abstract base class for all state elements.
Renders a scene graph using Open Inventor's Render Engine.
Abstract base class for all database nodes.
Abstract base class for each state element whose value is replaced whenever it is set.
Stores runtime type information.
std::pair< SoDataSet *, int > DataSetIdPair
Pair containing an SoDataset and its dataSetId.
std::vector< DataSetIdPair > DataSetIdPairList
List of DataSetIdPair.