Prepare bone functions
parent
9aef6b1855
commit
231d3f38cf
|
@ -20,6 +20,11 @@
|
|||
|
||||
unsigned long Document::m_maxSnapshot = 1000;
|
||||
|
||||
Document::Bone::Bone(const dust3d::Uuid& withId)
|
||||
{
|
||||
id = withId.isNull() ? dust3d::Uuid::createUuid() : withId;
|
||||
}
|
||||
|
||||
void Document::Node::setRadius(float toRadius)
|
||||
{
|
||||
if (toRadius < MeshGenerator::m_minimalRadius)
|
||||
|
@ -2775,3 +2780,33 @@ void Document::collectCutFaceList(std::vector<QString>& cutFaces) const
|
|||
for (const auto& it : cutFacePartIdList)
|
||||
cutFaces.push_back(QString(it.toString().c_str()));
|
||||
}
|
||||
|
||||
void Document::addBone(const dust3d::Uuid& boneId)
|
||||
{
|
||||
// TODO:
|
||||
}
|
||||
|
||||
void Document::addNodesToBone(const dust3d::Uuid& boneId, const std::vector<dust3d::Uuid>& nodeIds)
|
||||
{
|
||||
// TODO:
|
||||
}
|
||||
|
||||
void Document::removeNodesFromBone(const dust3d::Uuid& boneId, const std::vector<dust3d::Uuid>& nodeIds)
|
||||
{
|
||||
// TODO:
|
||||
}
|
||||
|
||||
void Document::markNodeAsJointForBone(const dust3d::Uuid& boneId, const dust3d::Uuid& nodeId)
|
||||
{
|
||||
// TODO:
|
||||
}
|
||||
|
||||
void Document::markNodeAsNotJointForBone(const dust3d::Uuid& boneId, const dust3d::Uuid& nodeId)
|
||||
{
|
||||
// TODO:
|
||||
}
|
||||
|
||||
void Document::removeBone(const dust3d::Uuid& boneId)
|
||||
{
|
||||
// TODO:
|
||||
}
|
||||
|
|
|
@ -561,6 +561,15 @@ public:
|
|||
std::set<dust3d::Uuid> m_childrenIdSet;
|
||||
};
|
||||
|
||||
class Bone {
|
||||
public:
|
||||
dust3d::Uuid id;
|
||||
dust3d::Uuid parentId;
|
||||
std::vector<dust3d::Uuid> childrenIds;
|
||||
|
||||
Bone(const dust3d::Uuid& withId = dust3d::Uuid());
|
||||
};
|
||||
|
||||
signals:
|
||||
void nodeCutRotationChanged(dust3d::Uuid nodeId);
|
||||
void nodeCutFaceChanged(dust3d::Uuid nodeId);
|
||||
|
@ -656,7 +665,9 @@ public: // need initialize
|
|||
std::map<dust3d::Uuid, Node> nodeMap;
|
||||
std::map<dust3d::Uuid, Edge> edgeMap;
|
||||
std::map<dust3d::Uuid, Component> componentMap;
|
||||
std::map<dust3d::Uuid, Bone> boneMap;
|
||||
Component rootComponent;
|
||||
Bone rootBone;
|
||||
|
||||
public:
|
||||
Document();
|
||||
|
@ -851,6 +862,12 @@ public slots:
|
|||
void setYlockState(bool locked);
|
||||
void setZlockState(bool locked);
|
||||
void setRadiusLockState(bool locked);
|
||||
void addBone(const dust3d::Uuid& boneId);
|
||||
void addNodesToBone(const dust3d::Uuid& boneId, const std::vector<dust3d::Uuid>& nodeIds);
|
||||
void removeNodesFromBone(const dust3d::Uuid& boneId, const std::vector<dust3d::Uuid>& nodeIds);
|
||||
void markNodeAsJointForBone(const dust3d::Uuid& boneId, const dust3d::Uuid& nodeId);
|
||||
void markNodeAsNotJointForBone(const dust3d::Uuid& boneId, const dust3d::Uuid& nodeId);
|
||||
void removeBone(const dust3d::Uuid& boneId);
|
||||
|
||||
private:
|
||||
void resolveSnapshotBoundingBox(const dust3d::Snapshot& snapshot, QRectF* mainProfile, QRectF* sideProfile);
|
||||
|
|
Loading…
Reference in New Issue