コード例 #1
0
ファイル: hand.cpp プロジェクト: andrewrch/taster_project
void Hand::initialiseFinger(
    Digit finger,
    glm::mat4 start,
    double params[NUM_PARAMETERS])
{
  double coneRatio = 0.95;
  double lengthUpdate = 0.5;
  double diameter = diameters[finger];
  double length = lengths[finger];

  glm::mat4 s, t, r, c, current;
  // Where finger joins the palm
  s = glm::scale(s, glm::vec3(diameter, diameter, diameter));
  sphereWVPs.push_back(start * s);

  double temp = 0.0f;
  current = initialiseJoint(
      start, 
      &params[getParamPos(finger, ROT_1X)],
      &params[getParamPos(finger, ROT_1Z)],
      diameter,
      length,
      coneRatio);

  diameter *= coneRatio;
  length *= lengthUpdate;


  current = initialiseJoint(
      current, 
      &temp,
      &params[getParamPos(finger, ROT_2Z)],
      diameter,
      length,
      coneRatio);

  coneRatio = 0.8;
  diameter *= coneRatio;
//  length *= lengthUpdate;

  current = initialiseJoint(
      current, 
      &temp,
      &params[getParamPos(finger, ROT_3Z)],
      diameter,
      length,
      coneRatio);
}
コード例 #2
0
ファイル: line.c プロジェクト: SWI-Prolog/packages-xpce
status
initialiseLine(Line ln, Int xa, Int ya, Int xb, Int yb, Name arrows)
{ if ( isDefault(xa) )	xa = ZERO;
  if ( isDefault(ya) )	ya = ZERO;
  if ( isDefault(xb) )	xb = ZERO;
  if ( isDefault(yb) )	yb = ZERO;

  assign(ln, start_x, xa);
  assign(ln, start_y, ya);
  assign(ln, end_x,   xb);
  assign(ln, end_y,   yb);

  initialiseJoint((Joint) ln, ZERO, ZERO, ZERO, ZERO, arrows);

  return requestComputeGraphical(ln, DEFAULT);
}
コード例 #3
0
ファイル: arc.c プロジェクト: lamby/pkg-swi-prolog
static status
initialiseArc(Arc a, Int radius, Real start_angle, Real size_angle)
{ initialiseJoint((Joint) a, ZERO, ZERO, ZERO, ZERO, DEFAULT);

  if ( isDefault(radius) )
    radius = getClassVariableValueObject(a, NAME_radius);
  if ( isDefault(start_angle) )
    start_angle = CtoReal(0.0);
  if ( isDefault(size_angle) )
    size_angle = CtoReal(90.0);

  assign(a, size,	  newObject(ClassSize, radius, radius, EAV));
  assign(a, position,	  newObject(ClassPoint, EAV));
  assign(a, start_angle,  start_angle);
  assign(a, size_angle,	  size_angle);
  assign(a, close,	  NAME_none);

  return requestComputeGraphical(a, DEFAULT);
}