本文整理汇总了C++中HeeksObj::StretchTemporary方法的典型用法代码示例。如果您正苦于以下问题:C++ HeeksObj::StretchTemporary方法的具体用法?C++ HeeksObj::StretchTemporary怎么用?C++ HeeksObj::StretchTemporary使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HeeksObj
的用法示例。
在下文中一共展示了HeeksObj::StretchTemporary方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnGripperMoved
void GripperSelTransform::OnGripperMoved( double* from, const double* to ){
if ( m_data.m_type == GripperTypeStretch)
{
bool stretch_done = false;
double shift[3];
if(m_data.m_move_relative){
shift[0] = to[0] - from[0];
shift[1] = to[1] - from[1];
shift[2] = to[2] - from[2];
}
else{
shift[0] = to[0] - m_initial_grip_pos[0];
shift[1] = to[1] - m_initial_grip_pos[1];
shift[2] = to[2] - m_initial_grip_pos[2];
}
{
std::list<HeeksObj *>::iterator It;
for ( It = m_items_marked_at_grab.begin(); It != m_items_marked_at_grab.end(); It++ )
{
HeeksObj* object = *It;
if(object)
{
double p[3] = {m_data.m_x, m_data.m_y, m_data.m_z};
stretch_done = object->StretchTemporary(p, shift,m_data.m_data);
}
}
}
if(stretch_done)
{
m_data.m_x += shift[0];
m_data.m_y += shift[1];
m_data.m_z += shift[2];
from[0] += shift[0];
from[1] += shift[1];
from[2] += shift[2];
m_initial_grip_pos[0] += shift[0];
m_initial_grip_pos[1] += shift[1];
m_initial_grip_pos[2] += shift[2];
}
wxGetApp().Repaint(true);
return;
}
double object_m[16] = {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1};
if(m_items_marked_at_grab.size() > 0)m_items_marked_at_grab.front()->GetScaleAboutMatrix(object_m);
MakeMatrix ( from, to, object_m, wxGetApp().m_drag_matrix );
wxGetApp().Repaint();
}