示例#1
0
RNBoolean R3Shape:: Inside(const R3Halfspace& ) const { RNAbort("Not implemented"); return FALSE; }
示例#2
0
RNLength R3Shape:: SignedDistance(const R3Plane& ) const { RNAbort("Not implemented"); return 0.0; }
示例#3
0
RNBoolean R3Shape:: Contains(const R3Shape& ) const { RNAbort("Not implemented"); return FALSE; }
示例#4
0
void R3Shape::
Draw(const R3DrawFlags ) const
{
    RNAbort("Not Implemented");
}
示例#5
0
RNLength R3Shape:: Distance(const R3Sphere& ) const { RNAbort("Not implemented"); return 0.0; }
示例#6
0
文件: RNHeap.C 项目: acplus/peptalk
int RNHeap<PtrType>::
BubbleDown(int index)
{
  // Move data down tree to rightful place
  while (index < nentries) {
    int child_index;
    int child1_index = (index << 1) + 1;
    int child2_index = child1_index + 1;
    RNScalar value = 0;
    RNScalar child_value = 0;
    RNScalar child1_value = 0;
    RNScalar child2_value =0;

    // Check child indices
    if (child1_index >= nentries) {
      break;
    }
    else if (child2_index >= nentries) {
      child_index = child1_index;
    }
    else {
      // Get children values
      if (value_offset >= 0) {
        child1_value = *((RNScalar *) ((unsigned char *) entries[child1_index] + value_offset));
        child2_value = *((RNScalar *) ((unsigned char *) entries[child2_index] + value_offset));
      }
      else if (value_callback) {
        child1_value = (*value_callback)(entries[child1_index], callback_data);
        child2_value = (*value_callback)(entries[child2_index], callback_data);
      }
      else RNAbort("No heap value callback or offset\n");

      // Determine child index
      child_index = child1_index;
      if (least_first) { if (child2_value < child1_value) child_index = child2_index; }
      else { if (child2_value > child1_value) child_index = child2_index; }
    }

    // Get values
    if (value_offset >= 0) {
      value  = *((RNScalar *) ((unsigned char *) entries[index] + value_offset));
      child_value  = *((RNScalar *) ((unsigned char *) entries[child_index] + value_offset));
    }
    else if (value_callback) {
      value = (*value_callback)(entries[index], callback_data);
      child_value = (*value_callback)(entries[child_index], callback_data);
    }
    else RNAbort("No heap value callback or offset\n");

    // Compare values
    if (least_first) { if (value <= child_value) break; }
    else { if (value >= child_value) break; }

    // Swap values
    Swap(index, child_index);

    // Move down tree
    index = child_index;
  }

  // Return new index
  return index;
}
示例#7
0
void R3Shape::
Transform(const R3Transformation& /* transformation */)
{
    RNAbort("Not Implemented");
}
示例#8
0
RNLength R2Distance(const R2Span& span, const R2Box& box)
{
    RNAbort("Not implemented");
    return 0.0;
}
示例#9
0
RNLength R2Distance(const R2Halfspace& halfspace, const R2Box& box)
{
    RNAbort("Not implemented");
    return 0.0;
}
示例#10
0
RNLength R2Distance(const R2Ray& ray, const R2Box& box)
{
    RNAbort("Not implemented");
    return 0.0;
}
示例#11
0
RNLength R2Distance(const R2Span& span1, const R2Span& span2)
{
    // Look at this ???
    RNAbort("Not implemented");
    return 0.0;
}
示例#12
0
RNLength R2Distance(const R2Ray& ray, const R2Span& span)
{
    RNAbort("Not implemented");
    return 0.0;
}
示例#13
0
RNLength R2SignedDistance(const R2Line& line, const R2Halfspace& halfspace)
{
    // Return signed distance from line to halfspace
    RNAbort("Not implemented");
    return 0.0;
}
示例#14
0
RNLength R2SignedDistance(const R2Line& line, const R2Ray& ray)
{
    RNAbort("Not implemented");
    return 0.0;
}
示例#15
0
RNLength R2Distance(const R2Line& line, const R2Box& box)
{
    RNAbort("Not implemented");
    return 0.0;
}
示例#16
0
RNLength R2Distance(const R2Line& line1, const R2Line& line2)
{
    // Return distance from line to line 
    RNAbort("Not implemented");
    return 0.0;
}