MCPcopy Create free account
hub / github.com/davidgiven/fluxengine / dilate_triangle

Function dilate_triangle

dep/agg/include/agg_math.h:208–247  ·  view source on GitHub ↗

--------------------------------------------------------dilate_triangle

Source from the content-addressed store, hash-verified

206
207 //--------------------------------------------------------dilate_triangle
208 AGG_INLINE void dilate_triangle(double x1,
209 double y1,
210 double x2,
211 double y2,
212 double x3,
213 double y3,
214 double* x,
215 double* y,
216 double d)
217 {
218 double dx1 = 0.0;
219 double dy1 = 0.0;
220 double dx2 = 0.0;
221 double dy2 = 0.0;
222 double dx3 = 0.0;
223 double dy3 = 0.0;
224 double loc = cross_product(x1, y1, x2, y2, x3, y3);
225 if (std::fabs(loc) > intersection_epsilon)
226 {
227 if (cross_product(x1, y1, x2, y2, x3, y3) > 0.0)
228 {
229 d = -d;
230 }
231 calc_orthogonal(d, x1, y1, x2, y2, &dx1, &dy1);
232 calc_orthogonal(d, x2, y2, x3, y3, &dx2, &dy2);
233 calc_orthogonal(d, x3, y3, x1, y1, &dx3, &dy3);
234 }
235 *x++ = x1 + dx1;
236 *y++ = y1 + dy1;
237 *x++ = x2 + dx1;
238 *y++ = y2 + dy1;
239 *x++ = x2 + dx2;
240 *y++ = y2 + dy2;
241 *x++ = x3 + dx2;
242 *y++ = y3 + dy2;
243 *x++ = x3 + dx3;
244 *y++ = y3 + dy3;
245 *x++ = x1 + dx3;
246 *y++ = y1 + dy3;
247 }
248
249 //------------------------------------------------------calc_triangle_area
250 AGG_INLINE double calc_triangle_area(

Callers 1

triangleMethod · 0.85

Calls 2

cross_productFunction · 0.85
calc_orthogonalFunction · 0.85

Tested by

no test coverage detected