예제 #1
0
static void
waterVertices(CompScreen * s, GLenum type, XPoint * p, int n, float v)
{
	WATER_SCREEN(s);

	if (!s->fragmentProgram)
		return;

	scaleVertices(s, p, n);

	if (!fboVertices(s, type, p, n, v))
		softwareVertices(s, type, p, n, v);

	if (ws->count < 3000)
		ws->count = 3000;
}
예제 #2
0
void leatherman::scaleVertices(const std::vector<geometry_msgs::Point> &vin, double sx, double sy, double sz, std::vector<geometry_msgs::Point> &vout)
{
  std::vector<Eigen::Vector3d> evin(vin.size()), evout;
  for(size_t p = 0; p < vin.size(); ++p)
  {
    evin[p](0) = vin[p].x;
    evin[p](1) = vin[p].y;
    evin[p](2) = vin[p].z;
  }

  scaleVertices(evin, sx, sy, sz, evout);

  vout.resize(evout.size());
  for(size_t p = 0; p < evout.size(); ++p)
  {
    vout[p].x = evout[p](0);
    vout[p].y = evout[p](1);
    vout[p].z = evout[p](2);
  }
}