#include "cubeitem.h"
m_Point1(10,10),
m_Point2(100,100),
m_Point3(50,150),
m_pi(pi)
{
if (pi){
startPoint = pi->shape().currentPosition();
startPoint = mapFromItem(pi,startPoint);
}
else{
startPoint = m_Point1;
}
setFlags(ItemIsSelectable|ItemIsMovable|ItemSendsGeometryChanges);
setData(0,"CubeItem");
setShapePath();
qDebug() << startPoint;
}
CubeItem::~CubeItem()
{
}
void CubeItem
::setPoint1(QPointF arg
) {
m_Point1 = arg;
setShapePath();
update();
}
void CubeItem
::setPoint2(QPointF arg
) {
m_Point2 = arg;
setShapePath();
update();
}
void CubeItem
::setPoint3(QPointF arg
) {
m_Point3 = arg;
setShapePath();
update();
}
void CubeItem::setShapePath()
{
path.moveTo(startPoint);
qDebug() << m_Point1 << "=="<< m_Point2 << "=="<< m_Point3;
path.cubicTo(m_Point1, m_Point2, m_Point3);
setPath(path);
pen.setWidth(0);
setPen(pen);
}
{
if (change==ItemPositionChange){
if (m_pi){
setPoint1(startPoint);
}
}
return value;
}
#include "cubeitem.h"
CubeItem::CubeItem(QGraphicsPathItem *pi, QGraphicsItem *parent):QGraphicsPathItem(parent),QObject(),
m_Point1(10,10),
m_Point2(100,100),
m_Point3(50,150),
m_pi(pi)
{
if (pi){
startPoint = pi->shape().currentPosition();
startPoint = mapFromItem(pi,startPoint);
}
else{
startPoint = m_Point1;
}
setFlags(ItemIsSelectable|ItemIsMovable|ItemSendsGeometryChanges);
setData(0,"CubeItem");
setShapePath();
qDebug() << startPoint;
}
CubeItem::~CubeItem()
{
}
void CubeItem::setPoint1(QPointF arg)
{
m_Point1 = arg;
setShapePath();
update();
}
void CubeItem::setPoint2(QPointF arg)
{
m_Point2 = arg;
setShapePath();
update();
}
void CubeItem::setPoint3(QPointF arg)
{
m_Point3 = arg;
setShapePath();
update();
}
void CubeItem::setShapePath()
{
QPainterPath path;
path.moveTo(startPoint);
qDebug() << m_Point1 << "=="<< m_Point2 << "=="<< m_Point3;
path.cubicTo(m_Point1, m_Point2, m_Point3);
setPath(path);
QPen pen(Qt::gray);
pen.setWidth(0);
setPen(pen);
}
QVariant CubeItem::itemChange(GraphicsItemChange change, const QVariant &value)
{
if (change==ItemPositionChange){
if (m_pi){
setPoint1(startPoint);
}
}
return value;
}
To copy to clipboard, switch view to plain text mode
Bookmarks