RNBoolean R3Shape:: Inside(const R3Halfspace& ) const { RNAbort("Not implemented"); return FALSE; }
RNLength R3Shape:: SignedDistance(const R3Plane& ) const { RNAbort("Not implemented"); return 0.0; }
RNBoolean R3Shape:: Contains(const R3Shape& ) const { RNAbort("Not implemented"); return FALSE; }
void R3Shape:: Draw(const R3DrawFlags ) const { RNAbort("Not Implemented"); }
RNLength R3Shape:: Distance(const R3Sphere& ) const { RNAbort("Not implemented"); return 0.0; }
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; }
void R3Shape:: Transform(const R3Transformation& /* transformation */) { RNAbort("Not Implemented"); }
RNLength R2Distance(const R2Span& span, const R2Box& box) { RNAbort("Not implemented"); return 0.0; }
RNLength R2Distance(const R2Halfspace& halfspace, const R2Box& box) { RNAbort("Not implemented"); return 0.0; }
RNLength R2Distance(const R2Ray& ray, const R2Box& box) { RNAbort("Not implemented"); return 0.0; }
RNLength R2Distance(const R2Span& span1, const R2Span& span2) { // Look at this ??? RNAbort("Not implemented"); return 0.0; }
RNLength R2Distance(const R2Ray& ray, const R2Span& span) { RNAbort("Not implemented"); return 0.0; }
RNLength R2SignedDistance(const R2Line& line, const R2Halfspace& halfspace) { // Return signed distance from line to halfspace RNAbort("Not implemented"); return 0.0; }
RNLength R2SignedDistance(const R2Line& line, const R2Ray& ray) { RNAbort("Not implemented"); return 0.0; }
RNLength R2Distance(const R2Line& line, const R2Box& box) { RNAbort("Not implemented"); return 0.0; }
RNLength R2Distance(const R2Line& line1, const R2Line& line2) { // Return distance from line to line RNAbort("Not implemented"); return 0.0; }