mirror of
https://github.com/lubosz/overte.git
synced 2025-04-17 14:46:15 +02:00
starting 2d image entity type
This commit is contained in:
parent
bf5b875382
commit
3a7290c3ed
3 changed files with 116 additions and 0 deletions
|
@ -49,6 +49,7 @@ public:
|
|||
PolyVox,
|
||||
PolyLine,
|
||||
Shape,
|
||||
Image,
|
||||
LAST = Shape
|
||||
} EntityType;
|
||||
|
||||
|
|
74
libraries/entities/src/FlatImageEntity.cpp
Normal file
74
libraries/entities/src/FlatImageEntity.cpp
Normal file
|
@ -0,0 +1,74 @@
|
|||
//
|
||||
// FlatImageEntity.cpp
|
||||
// libraries/entities/src
|
||||
//
|
||||
// Created by Elisa Lupin-Jimenez on 1/3/18.
|
||||
// Copyright 2018 High Fidelity, Inc.
|
||||
//
|
||||
// Distributed under the Apache License, Version 2.0.
|
||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||
//
|
||||
|
||||
#include <QtCore/QJsonDocument>
|
||||
|
||||
#include <ByteCountCoding.h>
|
||||
#include <GLMHelpers.h>
|
||||
#include <glm/gtx/transform.hpp>
|
||||
#include <GeometryUtil.h>
|
||||
|
||||
#include "EntitiesLogging.h"
|
||||
#include "EntityItemProperties.h"
|
||||
#include "EntityTree.h"
|
||||
#include "EntityTreeElement.h"
|
||||
#include "ResourceCache.h"
|
||||
#include "ShapeEntityItem.h"
|
||||
#include "FlatImageEntity.h"
|
||||
|
||||
const QString FlatImageEntity::DEFAULT_IMAGE_URL = QString("");
|
||||
|
||||
EntityItemPointer FlatImageEntity::factory(const EntityItemID& entityID, const EntityItemProperties& properties) {
|
||||
EntityItemPointer entity(new FlatImageEntity(entityID), [](EntityItem* ptr) { ptr->deleteLater(); });
|
||||
entity->setProperties(properties);
|
||||
return entity;
|
||||
}
|
||||
|
||||
FlatImageEntity::FlatImageEntity(const EntityItemID& entityItemID) : EntityItem(entityItemID) {
|
||||
_type = EntityTypes::Image;
|
||||
}
|
||||
|
||||
EntityItemProperties FlatImageEntity::getProperties(EntityPropertyFlags desiredProperties) const {
|
||||
EntityItemProperties properties = EntityItem::getProperties(desiredProperties); // get the properties from our base class
|
||||
properties.setShape("Image");
|
||||
return properties;
|
||||
}
|
||||
|
||||
bool FlatImageEntity::setProperties(const EntityItemProperties& properties) {
|
||||
bool somethingChanged = EntityItem::setProperties(properties); // set the properties in our base class
|
||||
|
||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(shape, setShape);
|
||||
|
||||
if (somethingChanged) {
|
||||
bool wantDebug = false;
|
||||
if (wantDebug) {
|
||||
uint64_t now = usecTimestampNow();
|
||||
int elapsed = now - getLastEdited();
|
||||
qCDebug(entities) << "FlatImageEntity::setProperties() AFTER update... edited AGO=" << elapsed <<
|
||||
"now=" << now << " getLastEdited()=" << getLastEdited();
|
||||
}
|
||||
setLastEdited(properties.getLastEdited());
|
||||
}
|
||||
return somethingChanged;
|
||||
}
|
||||
|
||||
void FlatImageEntity::appendSubclassData(OctreePacketData* packetData, EncodeBitstreamParams& params,
|
||||
EntityTreeElementExtraEncodeDataPointer modelTreeElementExtraEncodeData,
|
||||
EntityPropertyFlags& requestedProperties,
|
||||
EntityPropertyFlags& propertyFlags,
|
||||
EntityPropertyFlags& propertiesDidntFit,
|
||||
int& propertyCount,
|
||||
OctreeElement::AppendState& appendState) const {
|
||||
|
||||
bool successPropertyFits = true;
|
||||
APPEND_ENTITY_PROPERTY(PROP_SHAPE, entity::stringFromShape(getShape()));
|
||||
}
|
||||
|
41
libraries/entities/src/FlatImageEntity.h
Normal file
41
libraries/entities/src/FlatImageEntity.h
Normal file
|
@ -0,0 +1,41 @@
|
|||
//
|
||||
// FlatImageEntity.h
|
||||
// libraries/entities/src
|
||||
//
|
||||
// Created by Elisa Lupin-Jimenez on 1/3/18.
|
||||
// Copyright 2018 High Fidelity, Inc.
|
||||
//
|
||||
// Distributed under the Apache License, Version 2.0.
|
||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||
//
|
||||
|
||||
#ifndef hifi_FlatImageEntity_h
|
||||
#define hifi_FlatImageEntity_h
|
||||
|
||||
#include "EntityItem.h"
|
||||
|
||||
class FlatImageEntity : public EntityItem {
|
||||
public:
|
||||
static EntityItemPointer factory(const EntityItemID& entityID, const EntityItemProperties& properties);
|
||||
|
||||
FlatImageEntity(const EntityItemID& entityItemID);
|
||||
|
||||
ALLOW_INSTANTIATION // This class can be instantiated
|
||||
|
||||
// methods for getting/setting all properties of an entity
|
||||
virtual EntityItemProperties getProperties(EntityPropertyFlags desiredProperties = EntityPropertyFlags()) const override;
|
||||
virtual bool setProperties(const EntityItemProperties& properties) override;
|
||||
|
||||
virtual void appendSubclassData(OctreePacketData* packetData, EncodeBitstreamParams& params,
|
||||
EntityTreeElementExtraEncodeDataPointer entityTreeElementExtraEncodeData,
|
||||
EntityPropertyFlags& requestedProperties,
|
||||
EntityPropertyFlags& propertyFlags,
|
||||
EntityPropertyFlags& propertiesDidntFit,
|
||||
int& propertyCount,
|
||||
OctreeElement::AppendState& appendState) const override;
|
||||
|
||||
static const QString DEFAULT_IMAGE_URL;
|
||||
|
||||
};
|
||||
|
||||
#endif // hifi_FlatImageEntity_h
|
Loading…
Reference in a new issue