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


C++ vec3::set方法代码示例

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


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

示例1: turn

void Camera::turn(vec3& v1, vec3& v2, float amount)
{
   double cosTheta = std::cos(amount);
   double sinTheta = std::sin(amount);

   float vX =  cosTheta*v1[0] + sinTheta*v2[0]; 
   float vY =  cosTheta*v1[1] + sinTheta*v2[1]; 
   float vZ =  cosTheta*v1[2] + sinTheta*v2[2]; 

   float nX = -sinTheta*v1[0] + cosTheta*v2[0]; 
   float nY = -sinTheta*v1[1] + cosTheta*v2[1]; 
   float nZ = -sinTheta*v1[2] + cosTheta*v2[2]; 

   v1.set(vX, vY, vZ);
   v2.set(nX, nY, nZ);
}
开发者ID:chenwan,项目名称:fluidsim,代码行数:16,代码来源:camera.cpp

示例2: getPosition

bool getPosition(const TiXmlElement *root, vec3 &pos) {
  bool ok1, ok2, ok3;
  if (root == NULL) {
    QTWARNING("The given root is not a Position Element");
    return false;
  }
  QString rootValue = root->Value();
  rootValue = rootValue.stripWhiteSpace();
  if (!(rootValue == "position" || rootValue == "orientation")) {
    QTWARNING("The given root is not a Position Element");
    return false;
  }
  QString valueStr = root->GetText();
  valueStr = valueStr.simplifyWhiteSpace().stripWhiteSpace();
  QStringList l;
  l = QStringList::split(' ', valueStr);
  if (l.count() != 3) {
    QTWARNING("Invalid position input");
    return false;
  }
  double x, y, z;
  x = l[0].toDouble(&ok1);
  y = l[1].toDouble(&ok2);
  z = l[2].toDouble(&ok3);
  if (!ok1 || !ok2 || !ok3) {
    QTWARNING("Invalid position input");
    return false;
  }
  pos.set(x, y, z);
  return true;
}
开发者ID:graspit-simulator,项目名称:graspit,代码行数:31,代码来源:mytools.cpp

示例3: screenToWorld

bool Camera::screenToWorld(int screenX, int screenY, vec3& worldCoords)
{
   double x, y, z;
   GLint result = gluUnProject(screenX, screenY, 0.0, 
                               myModelMatrix, myProjMatrix, myViewport, 
                               &x, &y, &z);

   worldCoords.set(x, y, z);
   return result == GL_TRUE;
}
开发者ID:chenwan,项目名称:fluidsim,代码行数:10,代码来源:camera.cpp

示例4: get_target_dir

//--------------------------------------------------------------------------------
// get target look at
//--------------------------------------------------------------------------------
bool zz_camera_follow::get_target_dir (vec3& dir)
{
	if (!target_) {
		dir.set(0, 1, 0);
		return false;
	}
	dir = target_->get_look_at();
	dir.normalize();
	return true;
}
开发者ID:eaglescv,项目名称:znzin,代码行数:13,代码来源:zz_camera_follow.cpp

示例5:

/////////////////////////////////////////////////////////////////////
// get the closest point to pt in the primative
bool
sphere::
closestPtIn ( vec3& dest, ValueType xval, ValueType yval, ValueType zval ) const
{
	if ( isEmpty () )
		return false;

	if ( contains ( xval, yval, zval ) )
		dest.set ( xval, yval, zval );
	else
	{
		dest.set ( xval, yval, zval );
		dest -= center;
		dest.normalize ();
		dest *= radius;
		dest += center;
	}
	
	return true;
}
开发者ID:prwhite,项目名称:philibs,代码行数:22,代码来源:pnisphere.cpp

示例6: ToIntColour

void ToIntColour(const vec3<F32>& floatColour, vec3<I32>& colourOut) noexcept {
    colourOut.set(to_U32(FLOAT_TO_SCHAR_SNORM(floatColour.r)),
                  to_U32(FLOAT_TO_SCHAR_SNORM(floatColour.g)),
                  to_U32(FLOAT_TO_SCHAR_SNORM(floatColour.b)));
}
开发者ID:IonutCava,项目名称:trunk,代码行数:5,代码来源:MathHelper.cpp

示例7: ToByteColour

void ToByteColour(const vec3<F32>& floatColour, vec3<U8>& colourOut) noexcept {
    colourOut.set(FLOAT_TO_CHAR_SNORM(floatColour.r),
                  FLOAT_TO_CHAR_SNORM(floatColour.g),
                  FLOAT_TO_CHAR_SNORM(floatColour.b));
}
开发者ID:IonutCava,项目名称:trunk,代码行数:5,代码来源:MathHelper.cpp

示例8: ToFloatColour

void ToFloatColour(const vec3<U32>& uintColour, vec3<F32>& colourOut) noexcept {
    colourOut.set(uintColour.r / 255.0f,
                  uintColour.g / 255.0f,
                  uintColour.b / 255.0f);
}
开发者ID:IonutCava,项目名称:trunk,代码行数:5,代码来源:MathHelper.cpp


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