当前位置: 首页>>代码示例>>C++>>正文


C++ TVectorImageP::getNearestStroke方法代码示例

本文整理汇总了C++中TVectorImageP::getNearestStroke方法的典型用法代码示例。如果您正苦于以下问题:C++ TVectorImageP::getNearestStroke方法的具体用法?C++ TVectorImageP::getNearestStroke怎么用?C++ TVectorImageP::getNearestStroke使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TVectorImageP的用法示例。


在下文中一共展示了TVectorImageP::getNearestStroke方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: TImageP

TStroke *PinchTool::getClosestStroke(const TPointD &pos, double &w) const
{
	TVectorImageP vi = TImageP(getImage(false));
	if (!vi)
		return 0;
	double dist = 0;
	UINT index;
	if (vi->getNearestStroke(pos, w, index, dist, true))
		return vi->getStroke(index);
	else
		return 0;
}
开发者ID:CroW-CZ,项目名称:opentoonz,代码行数:12,代码来源:pinchtool.cpp

示例2: leftButtonDown

void PinchTool::leftButtonDown(const TPointD &pos,
							   const TMouseEvent &event)
{
	m_curr = m_down = pos;

	if (!m_active &&
		!m_selector.isSelected()) {
		m_active = false;

		assert(m_undo == 0);

		StrokeDeformation *
			deformation = m_deformation;

		TVectorImageP
			vi = TImageP(getImage(true));

		if (!vi)
			return;

		m_active = true;

		ContextStatus
			*status = &m_status;

		// reset status
		status->init();

		double
			w,
			dist2;

		// find nearest stroke
		if (vi->getNearestStroke(m_down,
								 w,
								 m_n,
								 dist2, true)) {

			TStroke
				*stroke = vi->getStroke(m_n);
			assert(stroke && "Not valid stroke found!!!");
			if (!stroke)
				return;

			updateStrokeStatus(stroke,
							   w);

			// set parameters from sliders
			updateInterfaceStatus(event);

			deformation->activate(status);

			// stroke can be changed (replaced by another) during deformation activate
			if (TTool::getApplication()->getCurrentObject()->isSpline())
				m_undo = new ToolUtils::UndoPath(getXsheet()->getStageObject(getObjectId())->getSpline());
			else {
				TXshSimpleLevel *sl = TTool::getApplication()->getCurrentLevel()->getSimpleLevel();
				assert(sl);
				TFrameId id = getCurrentFid();
				m_undo = new UndoModifyStrokeAndPaint(sl, id, m_n);
			}
		}
	}

	m_selector.mouseDown(m_curr);
	m_prev = m_curr;

	invalidate();
}
开发者ID:CroW-CZ,项目名称:opentoonz,代码行数:69,代码来源:pinchtool.cpp


注:本文中的TVectorImageP::getNearestStroke方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。