public:
NURBSCurve m_curveNURBS;
+ SignalHandlerId m_curveNURBSChanged;
CatmullRomSpline m_curveCatmullRom;
+ SignalHandlerId m_curveCatmullRomChanged;
private:
mutable AABB m_curveBounds;
m_transform.localToParent() = g_matrix4_identity;
if(isModel())
{
- matrix4_translate_by_vec3(m_transform.localToParent(), m_originKey.m_origin);
- matrix4_multiply_by_matrix4(m_transform.localToParent(), rotation_toMatrix(m_rotationKey.m_rotation));
+ matrix4_translate_by_vec3(m_transform.localToParent(), m_origin);
+ matrix4_multiply_by_matrix4(m_transform.localToParent(), rotation_toMatrix(m_rotation));
}
m_transformChanged();
if(!isModel())
m_curveCatmullRom(m_contained.m_curveCatmullRom.m_controlPointsTransformed, SelectionChangedComponentCaller(*this))
{
m_contained.instanceAttach(Instance::path());
- m_contained.m_curveNURBS.attach(CurveEdit::CurveChangedCaller(m_curveNURBS));
- m_contained.m_curveCatmullRom.attach(CurveEdit::CurveChangedCaller(m_curveCatmullRom));
+ m_contained.m_curveNURBSChanged = m_contained.m_curveNURBS.connect(CurveEdit::CurveChangedCaller(m_curveNURBS));
+ m_contained.m_curveCatmullRomChanged = m_contained.m_curveCatmullRom.connect(CurveEdit::CurveChangedCaller(m_curveCatmullRom));
StaticRenderableConnectionLines::instance().attach(*this);
}
{
StaticRenderableConnectionLines::instance().detach(*this);
- m_contained.m_curveCatmullRom.detach(CurveEdit::CurveChangedCaller(m_curveCatmullRom));
- m_contained.m_curveNURBS.detach(CurveEdit::CurveChangedCaller(m_curveNURBS));
+ m_contained.m_curveCatmullRom.disconnect(m_contained.m_curveCatmullRomChanged);
+ m_contained.m_curveNURBS.disconnect(m_contained.m_curveNURBSChanged);
m_contained.instanceDetach(Instance::path());
}
void renderSolid(Renderer& renderer, const VolumeTest& volume) const