12 #ifndef hifi_OctreeHeadlessViewer_h
13 #define hifi_OctreeHeadlessViewer_h
15 #include <QtCore/QSharedPointer>
17 #include <OctreeProcessor.h>
18 #include <OctreeQuery.h>
22 class OctreeHeadlessViewer :
public OctreeProcessor {
25 OctreeQuery& getOctreeQuery() {
return _octreeQuery; }
27 static int parseOctreeStats(QSharedPointer<ReceivedMessage> message, SharedNodePointer sourceNode);
28 static void trackIncomingOctreePacket(
const QByteArray& packet,
const SharedNodePointer& sendingNode,
bool wasStatsPacket);
46 void setPosition(
const glm::vec3& position) { _hasViewFrustum =
true; _viewFrustum.setPosition(position); }
53 void setOrientation(
const glm::quat& orientation) { _hasViewFrustum =
true; _viewFrustum.setOrientation(orientation); }
60 void setCenterRadius(
float radius) { _hasViewFrustum =
true; _viewFrustum.setCenterRadius(radius); }
69 void setKeyholeRadius(
float radius) { _hasViewFrustum =
true; _viewFrustum.setCenterRadius(radius); }
79 void setVoxelSizeScale(
float sizeScale) { _octreeQuery.setOctreeSizeScale(sizeScale) ; }
86 void setBoundaryLevelAdjust(
int boundaryLevelAdjust) { _octreeQuery.setBoundaryLevelAdjust(boundaryLevelAdjust); }
93 void setMaxPacketsPerSecond(
int maxPacketsPerSecond) { _octreeQuery.setMaxQueryPacketsPerSecond(maxPacketsPerSecond); }
102 const glm::vec3& getPosition()
const {
return _viewFrustum.getPosition(); }
109 const glm::quat& getOrientation()
const {
return _viewFrustum.getOrientation(); }
119 float getVoxelSizeScale()
const {
return _octreeQuery.getOctreeSizeScale(); }
126 int getBoundaryLevelAdjust()
const {
return _octreeQuery.getBoundaryLevelAdjust(); }
133 int getMaxPacketsPerSecond()
const {
return _octreeQuery.getMaxQueryPacketsPerSecond(); }
141 unsigned getOctreeElementsCount()
const {
return _tree->getOctreeElementsCount(); }
144 OctreeQuery _octreeQuery;
146 bool _hasViewFrustum {
false };
147 ViewFrustum _viewFrustum;