get interface building and working with clang-7 on ubuntu 18

This commit is contained in:
Seth Alves 2018-09-28 13:46:51 -07:00
parent 5d00aa0bdb
commit b69d0f3997
48 changed files with 80 additions and 33 deletions

View file

@ -2906,7 +2906,7 @@ void DomainServer::updateReplicationNodes(ReplicationServerDirection direction)
// collect them in a vector to separately remove them with handleKillNode (since eachNode has a read lock and
// we cannot recursively take the write lock required by handleKillNode)
std::vector<SharedNodePointer> nodesToKill;
nodeList->eachNode([this, direction, replicationNodesInSettings, replicationDirection, &nodesToKill](const SharedNodePointer& otherNode) {
nodeList->eachNode([direction, replicationNodesInSettings, replicationDirection, &nodesToKill](const SharedNodePointer& otherNode) {
if ((direction == Upstream && NodeType::isUpstream(otherNode->getType()))
|| (direction == Downstream && NodeType::isDownstream(otherNode->getType()))) {
bool nodeInSettings = find(replicationNodesInSettings.cbegin(), replicationNodesInSettings.cend(),

View file

@ -269,7 +269,7 @@ class RenderEventHandler : public QObject {
public:
RenderEventHandler() {
// Transfer to a new thread
moveToNewNamedThread(this, "RenderThread", [this](QThread* renderThread) {
moveToNewNamedThread(this, "RenderThread", [](QThread* renderThread) {
hifi::qt::addBlockingForbiddenThread("Render", renderThread);
qApp->_lastTimeRendered.start();
}, std::bind(&RenderEventHandler::initialize, this), QThread::HighestPriority);
@ -1755,7 +1755,13 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo
// we can unlock the desktop repositioning code, since all the positions will be
// relative to the desktop size for this plugin
auto offscreenUi = DependencyManager::get<OffscreenUi>();
offscreenUi->getDesktop()->setProperty("repositionLocked", false);
connect(offscreenUi.data(), &OffscreenUi::desktopReady, []() {
auto offscreenUi = DependencyManager::get<OffscreenUi>();
auto desktop = offscreenUi->getDesktop();
if (desktop) {
desktop->setProperty("repositionLocked", false);
}
});
// Make sure we don't time out during slow operations at startup
updateHeartbeat();
@ -2309,7 +2315,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo
QTimer* checkLoginTimer = new QTimer(this);
checkLoginTimer->setInterval(CHECK_LOGIN_TIMER);
checkLoginTimer->setSingleShot(true);
connect(checkLoginTimer, &QTimer::timeout, this, [this]() {
connect(checkLoginTimer, &QTimer::timeout, this, []() {
auto accountManager = DependencyManager::get<AccountManager>();
auto dialogsManager = DependencyManager::get<DialogsManager>();
if (!accountManager->isLoggedIn()) {
@ -4673,8 +4679,14 @@ void Application::idle() {
checkChangeCursor();
Stats::getInstance()->updateStats();
AnimStats::getInstance()->updateStats();
auto stats = Stats::getInstance();
if (stats) {
stats->updateStats();
}
auto animStats = AnimStats::getInstance();
if (animStats) {
animStats->updateStats();
}
// Normally we check PipelineWarnings, but since idle will often take more than 10ms we only show these idle timing
// details if we're in ExtraDebugging mode. However, the ::update() and its subcomponents will show their timing

View file

@ -157,7 +157,10 @@ void Application::paintGL() {
renderArgs._context->enableStereo(false);
{
Stats::getInstance()->setRenderDetails(renderArgs._details);
auto stats = Stats::getInstance();
if (stats) {
stats->setRenderDetails(renderArgs._details);
}
}
uint64_t lastPaintDuration = usecTimestampNow() - lastPaintBegin;

View file

@ -27,6 +27,7 @@ class StartEndRenderState {
public:
StartEndRenderState() {}
StartEndRenderState(const OverlayID& startID, const OverlayID& endID);
virtual ~StartEndRenderState() {}
const OverlayID& getStartID() const { return _startID; }
const OverlayID& getEndID() const { return _endID; }

View file

@ -62,7 +62,6 @@ class HMDScriptingInterface : public AbstractHMDScriptingInterface, public Depen
Q_OBJECT
Q_PROPERTY(glm::vec3 position READ getPosition)
Q_PROPERTY(glm::quat orientation READ getOrientation)
Q_PROPERTY(bool mounted READ isMounted NOTIFY mountedChanged)
Q_PROPERTY(bool showTablet READ getShouldShowTablet)
Q_PROPERTY(bool tabletContextualMode READ getTabletContextualMode)
Q_PROPERTY(QUuid tabletID READ getCurrentTabletFrameID WRITE setCurrentTabletFrameID)
@ -350,7 +349,7 @@ public:
static QScriptValue getHUDLookAtPosition2D(QScriptContext* context, QScriptEngine* engine);
static QScriptValue getHUDLookAtPosition3D(QScriptContext* context, QScriptEngine* engine);
bool isMounted() const;
bool isMounted() const override;
void toggleShouldShowTablet();
void setShouldShowTablet(bool value);

View file

@ -75,7 +75,14 @@ void OverlayConductor::centerUI() {
void OverlayConductor::update(float dt) {
auto offscreenUi = DependencyManager::get<OffscreenUi>();
bool currentVisible = !offscreenUi->getDesktop()->property("pinned").toBool();
if (!offscreenUi) {
return;
}
auto desktop = offscreenUi->getDesktop();
if (!desktop) {
return;
}
bool currentVisible = !desktop->property("pinned").toBool();
auto myAvatar = DependencyManager::get<AvatarManager>()->getMyAvatar();
// centerUI when hmd mode is first enabled and mounted

View file

@ -114,7 +114,6 @@ void Text3DOverlay::render(RenderArgs* args) {
float scaleFactor = (maxHeight / FIXED_FONT_SCALING_RATIO) * _lineHeight;
glm::vec2 clipMinimum(0.0f, 0.0f);
glm::vec2 clipDimensions((dimensions.x - (_leftMargin + _rightMargin)) / scaleFactor,
(dimensions.y - (_topMargin + _bottomMargin)) / scaleFactor);
@ -296,4 +295,4 @@ QSizeF Text3DOverlay::textSize(const QString& text) const {
float pointToWorldScale = (maxHeight / FIXED_FONT_SCALING_RATIO) * _lineHeight;
return QSizeF(extents.x, extents.y) * pointToWorldScale;
}
}

View file

@ -98,6 +98,7 @@ enum Hand {
class InputDevice {
public:
InputDevice(const QString& name) : _name(name) {}
virtual ~InputDevice() {}
using Pointer = std::shared_ptr<InputDevice>;

View file

@ -24,6 +24,8 @@ public:
AndConditional(Conditional::Pointer& first, Conditional::Pointer& second)
: _children({ first, second }) {}
virtual ~AndConditional() {}
virtual bool satisfied() override;
private:

View file

@ -18,6 +18,7 @@ namespace controller {
class EndpointConditional : public Conditional {
public:
EndpointConditional(Endpoint::Pointer endpoint) : _endpoint(endpoint) {}
virtual ~EndpointConditional() {}
virtual bool satisfied() override { return _endpoint && _endpoint->peek() != 0.0f; }
private:
Endpoint::Pointer _endpoint;

View file

@ -19,6 +19,7 @@ namespace controller {
using Pointer = std::shared_ptr<NotConditional>;
NotConditional(Conditional::Pointer operand) : _operand(operand) { }
virtual ~NotConditional() {}
virtual bool satisfied() override;

View file

@ -18,6 +18,7 @@ class ClampFilter : public Filter {
REGISTER_FILTER_CLASS(ClampFilter);
public:
ClampFilter(float min = 0.0, float max = 1.0) : _min(min), _max(max) {};
virtual ~ClampFilter() {}
virtual float apply(float value) const override {
return glm::clamp(value, _min, _max);
}

View file

@ -18,6 +18,7 @@ class ConstrainToIntegerFilter : public Filter {
REGISTER_FILTER_CLASS(ConstrainToIntegerFilter);
public:
ConstrainToIntegerFilter() {};
virtual ~ConstrainToIntegerFilter() {}
virtual float apply(float value) const override {
return glm::sign(value);

View file

@ -18,6 +18,7 @@ class ConstrainToPositiveIntegerFilter : public Filter {
REGISTER_FILTER_CLASS(ConstrainToPositiveIntegerFilter);
public:
ConstrainToPositiveIntegerFilter() {};
virtual ~ConstrainToPositiveIntegerFilter() {};
virtual float apply(float value) const override {
return (value <= 0.0f) ? 0.0f : 1.0f;

View file

@ -18,6 +18,7 @@ class DeadZoneFilter : public Filter {
REGISTER_FILTER_CLASS(DeadZoneFilter);
public:
DeadZoneFilter(float min = 0.0) : _min(min) {};
virtual ~DeadZoneFilter() {}
virtual float apply(float value) const override;

View file

@ -20,6 +20,7 @@ namespace controller {
ExponentialSmoothingFilter() {}
ExponentialSmoothingFilter(float rotationConstant, float translationConstant) :
_translationConstant(translationConstant), _rotationConstant(rotationConstant) {}
virtual ~ExponentialSmoothingFilter() {}
float apply(float value) const override { return value; }
Pose apply(Pose value) const override;

View file

@ -18,6 +18,7 @@ class HysteresisFilter : public Filter {
REGISTER_FILTER_CLASS(HysteresisFilter);
public:
HysteresisFilter(float min = 0.25, float max = 0.75);
virtual ~HysteresisFilter() {}
virtual float apply(float value) const override;
virtual Pose apply(Pose value) const override { return value; }

View file

@ -19,6 +19,7 @@ class InvertFilter : public ScaleFilter {
public:
using ScaleFilter::parseParameters;
InvertFilter() : ScaleFilter(-1.0f) {}
virtual ~InvertFilter() {}
virtual bool parseParameters(const QJsonArray& parameters) { return true; }

View file

@ -20,6 +20,7 @@ namespace controller {
LowVelocityFilter() {}
LowVelocityFilter(float rotationConstant, float translationConstant) :
_translationConstant(translationConstant), _rotationConstant(rotationConstant) {}
virtual ~LowVelocityFilter() {}
float apply(float value) const override { return value; }
Pose apply(Pose newPose) const override;

View file

@ -10,6 +10,7 @@ class NotFilter : public Filter {
REGISTER_FILTER_CLASS(NotFilter);
public:
NotFilter();
virtual ~NotFilter() {}
virtual float apply(float value) const override;
virtual Pose apply(Pose value) const override { return value; }

View file

@ -21,6 +21,7 @@ class PostTransformFilter : public Filter {
public:
PostTransformFilter() { }
PostTransformFilter(glm::mat4 transform) : _transform(transform) {}
virtual ~PostTransformFilter() {}
virtual float apply(float value) const override { return value; }
virtual Pose apply(Pose value) const override { return value.postTransform(_transform); }
virtual bool parseParameters(const QJsonValue& parameters) override { return parseMat4Parameter(parameters, _transform); }

View file

@ -20,6 +20,7 @@ class PulseFilter : public Filter {
public:
PulseFilter() {}
PulseFilter(float interval) : _interval(interval) {}
virtual ~PulseFilter() {}
virtual float apply(float value) const override;

View file

@ -21,6 +21,7 @@ class RotateFilter : public Filter {
public:
RotateFilter() { }
RotateFilter(glm::quat rotation) : _rotation(rotation) {}
virtual ~RotateFilter() {}
virtual float apply(float value) const override { return value; }

View file

@ -21,6 +21,7 @@ class ScaleFilter : public Filter {
public:
ScaleFilter() {}
ScaleFilter(float scale) : _scale(scale) {}
virtual ~ScaleFilter() {}
virtual float apply(float value) const override {
return value * _scale;

View file

@ -21,6 +21,7 @@ class TransformFilter : public Filter {
public:
TransformFilter() { }
TransformFilter(glm::mat4 transform) : _transform(transform) {}
virtual ~TransformFilter() {}
virtual float apply(float value) const override { return value; }
virtual Pose apply(Pose value) const override { return value.transform(_transform); }

View file

@ -21,6 +21,7 @@ class TranslateFilter : public Filter {
public:
TranslateFilter() { }
TranslateFilter(glm::vec3 translate) : _translate(translate) {}
virtual ~TranslateFilter() {}
virtual float apply(float value) const override { return value; }
virtual Pose apply(Pose value) const override { return value.transform(glm::translate(_translate)); }

View file

@ -20,6 +20,7 @@ class AbstractHMDScriptingInterface : public QObject {
Q_PROPERTY(float eyeHeight READ getEyeHeight)
Q_PROPERTY(float playerHeight READ getPlayerHeight)
Q_PROPERTY(float ipdScale READ getIPDScale WRITE setIPDScale NOTIFY IPDScaleChanged)
Q_PROPERTY(bool mounted READ isMounted NOTIFY mountedChanged)
public:
AbstractHMDScriptingInterface();
@ -29,6 +30,7 @@ public:
float getIPDScale() const;
void setIPDScale(float ipdScale);
bool isHMDMode() const;
virtual bool isMounted() const = 0;
signals:
/**jsdoc

View file

@ -1923,7 +1923,6 @@ FBXGeometry* FBXReader::extractFBXGeometry(const QVariantHash& mapping, const QS
};
// now that all joints have been scanned compute a k-Dop bounding volume of mesh
glm::vec3 defaultCapsuleAxis(0.0f, 1.0f, 0.0f);
for (int i = 0; i < geometry.joints.size(); ++i) {
FBXJoint& joint = geometry.joints[i];

View file

@ -25,6 +25,7 @@ struct GLFilterMode {
class GLTextureTransferEngine {
public:
virtual ~GLTextureTransferEngine() {}
using Pointer = std::shared_ptr<GLTextureTransferEngine>;
/// Called once per frame to perform any require memory management or transfer work
virtual void manageMemory() = 0;

View file

@ -295,7 +295,6 @@ GL41VariableAllocationTexture::GL41VariableAllocationTexture(const std::weak_ptr
_maxAllocatedMip = _populatedMip = mipLevels;
_minAllocatedMip = texture.minAvailableMipLevel();
uvec3 mipDimensions;
for (uint16_t mip = _minAllocatedMip; mip < mipLevels; ++mip) {
if (glm::all(glm::lessThanEqual(texture.evalMipDimensions(mip), INITIAL_MIP_TRANSFER_DIMENSIONS))) {
_maxAllocatedMip = _populatedMip = mip;

View file

@ -85,7 +85,6 @@ GL45ResourceTexture::GL45ResourceTexture(const std::weak_ptr<GLBackend>& backend
_maxAllocatedMip = _populatedMip = mipLevels;
_minAllocatedMip = texture.minAvailableMipLevel();
uvec3 mipDimensions;
for (uint16_t mip = _minAllocatedMip; mip < mipLevels; ++mip) {
if (glm::all(glm::lessThanEqual(texture.evalMipDimensions(mip), INITIAL_MIP_TRANSFER_DIMENSIONS))) {
_maxAllocatedMip = _populatedMip = mip;

View file

@ -118,6 +118,7 @@ public:
uint8 _function = LESS;
uint8 _writeMask = true;
uint8 _enabled = false;
__attribute__((unused)) // _spare is here to to affect alignment
uint8 _spare = 0;
public:
DepthTest(bool enabled = false, bool writeMask = true, ComparisonFunction func = LESS) :

View file

@ -96,6 +96,7 @@ protected:
class InputDevice : public controller::InputDevice {
public:
InputDevice() : controller::InputDevice("Keyboard") {}
virtual ~InputDevice() {}
private:
// Device functions
virtual controller::Input::NamedVector getAvailableInputs() const override;

View file

@ -36,6 +36,7 @@ public:
Geometry() = default;
Geometry(const Geometry& geometry);
virtual ~Geometry() {}
// Immutable over lifetime
using GeometryMeshes = std::vector<std::shared_ptr<const graphics::Mesh>>;

View file

@ -19,6 +19,7 @@ namespace controller {
class InputPlugin : public Plugin {
public:
virtual ~InputPlugin() {}
virtual void pluginFocusOutEvent() = 0;
virtual void pluginUpdate(float deltaTime, const controller::InputCalibrationData& inputCalibrationData) = 0;

View file

@ -109,6 +109,7 @@ class PickResult {
public:
PickResult() {}
PickResult(const QVariantMap& pickVariant) : pickVariant(pickVariant) {}
virtual ~PickResult() {}
virtual QVariantMap toVariantMap() const {
return pickVariant;
@ -233,6 +234,7 @@ template<typename T>
class Pick : public PickQuery {
public:
Pick(const PickFilter& filter, const float maxDistance, const bool enabled) : PickQuery(filter, maxDistance, enabled) {}
virtual ~Pick() {}
virtual T getMathematicalPick() const = 0;
virtual PickResultPointer getDefaultResult(const QVariantMap& pickVariant) const = 0;

View file

@ -28,6 +28,7 @@ class MeshPartPayload {
public:
MeshPartPayload() {}
MeshPartPayload(const std::shared_ptr<const graphics::Mesh>& mesh, int partIndex, graphics::MaterialPointer material);
virtual ~MeshPartPayload() {}
typedef render::Payload<MeshPartPayload> Payload;
typedef Payload::DataPointer Pointer;

View file

@ -88,7 +88,7 @@ void DrawSceneOctree::run(const RenderContextPointer& renderContext, const ItemS
batch.setInputFormat(_cellBoundsFormat);
std::vector<ivec4> cellBounds;
auto drawCellBounds = [this, &cellBounds, &scene, &batch](const std::vector<gpu::Stamp>& cells) {
auto drawCellBounds = [this, &cellBounds, &scene](const std::vector<gpu::Stamp>& cells) {
cellBounds.reserve(cellBounds.size() + cells.size());
for (const auto& cellID : cells) {
auto cell = scene->getSpatialTree().getConcreteCell(cellID);

View file

@ -531,6 +531,7 @@ public:
typedef UpdateFunctor<T> Updater;
Payload(const DataPointer& data) : _data(data) {}
virtual ~Payload() {}
// Payload general interface
virtual const ItemKey getKey() const override { return payloadGetKey<T>(_data); }

View file

@ -229,16 +229,9 @@ void PointerEvent::fromScriptValue(const QScriptValue& object, PointerEvent& eve
QScriptValue id = object.property("id");
event._id = id.isNumber() ? (uint32_t)id.toNumber() : 0;
glm::vec2 pos2D;
vec2FromScriptValue(object.property("pos2D"), event._pos2D);
glm::vec3 pos3D;
vec3FromScriptValue(object.property("pos3D"), event._pos3D);
glm::vec3 normal;
vec3FromScriptValue(object.property("normal"), event._normal);
glm::vec3 direction;
vec3FromScriptValue(object.property("direction"), event._direction);
QScriptValue button = object.property("button");

View file

@ -29,6 +29,7 @@ namespace PrioritySortUtil {
class Sortable {
public:
virtual ~Sortable() {}
virtual glm::vec3 getPosition() const = 0;
virtual float getRadius() const = 0;
virtual uint64_t getTimestamp() const = 0;

View file

@ -12,7 +12,8 @@
class TransformNode {
public:
virtual ~TransformNode() {}
virtual Transform getTransform() = 0;
};
#endif // hifi_TransformNode_h
#endif // hifi_TransformNode_h

View file

@ -174,7 +174,8 @@ public:
template <class T, class O, class C = Config> using ModelO = Model<T, C, None, O>;
template <class T, class I, class O, class C = Config> using ModelIO = Model<T, C, I, O>;
Job(ConceptPointer concept) : _concept(concept) {}
Job(const ConceptPointer& concept) : _concept(concept) {}
virtual ~Job() {}
const std::string& getName() const { return _concept->getName(); }
const Varying getInput() const { return _concept->getInput(); }

View file

@ -205,9 +205,12 @@ bool OffscreenUi::isPointOnDesktopWindow(QVariant point) {
}
void OffscreenUi::hide(const QString& name) {
QQuickItem* item = getRootItem()->findChild<QQuickItem*>(name);
if (item) {
QQmlProperty(item, OFFSCREEN_VISIBILITY_PROPERTY).write(false);
auto rootItem = getRootItem();
if (rootItem) {
QQuickItem* item = getRootItem()->findChild<QQuickItem*>(name);
if (item) {
QQmlProperty(item, OFFSCREEN_VISIBILITY_PROPERTY).write(false);
}
}
}
@ -672,6 +675,7 @@ void OffscreenUi::createDesktop(const QUrl& url) {
new KeyboardFocusHack();
connect(_desktop, SIGNAL(showDesktop()), this, SIGNAL(showDesktop()));
emit desktopReady();
});
}

View file

@ -243,6 +243,8 @@ signals:
// void fileDialogResponse(QString response);
// void assetDialogResponse(QString response);
// void inputDialogResponse(QVariant response);
void desktopReady();
public slots:
void removeModalDialog(QObject* modal);

View file

@ -135,7 +135,7 @@ typedef std::vector<Transaction> TransactionQueue;
class Collection {
public:
Collection();
~Collection();
virtual ~Collection();
virtual void clear();

View file

@ -85,14 +85,12 @@ class MyTestWindow : public TestWindow {
void updateCamera() {
float t = _time.elapsed() * 1e-3f;
glm::vec3 unitscale{ 1.0f };
glm::vec3 up{ 0.0f, 1.0f, 0.0f };
float distance = 3.0f;
glm::vec3 camera_position{ distance * sinf(t), 0.5f, distance * cosf(t) };
static const vec3 camera_focus(0);
static const vec3 camera_up(0, 1, 0);
_camera = glm::inverse(glm::lookAt(camera_position, camera_focus, up));
ViewFrustum frustum;

View file

@ -102,14 +102,12 @@ class MyTestWindow : public TestWindow {
#ifdef INTERACTIVE
t = _time.elapsed() * 1e-3f;
#endif
glm::vec3 unitscale { 1.0f };
glm::vec3 up { 0.0f, 1.0f, 0.0f };
float distance = 3.0f;
glm::vec3 camera_position { distance * sinf(t), 0.5f, distance * cosf(t) };
static const vec3 camera_focus(0);
static const vec3 camera_up(0, 1, 0);
_camera = glm::inverse(glm::lookAt(camera_position, camera_focus, up));
ViewFrustum frustum;