MCPcopy Create free account
hub / github.com/MapServer/MapServer / dilate_triangle

Function dilate_triangle

renderers/agg/include/agg_math.h:190–219  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

188
189 //--------------------------------------------------------dilate_triangle
190 AGG_INLINE void dilate_triangle(double x1, double y1,
191 double x2, double y2,
192 double x3, double y3,
193 double *x, double* y,
194 double d)
195 {
196 double dx1=0.0;
197 double dy1=0.0;
198 double dx2=0.0;
199 double dy2=0.0;
200 double dx3=0.0;
201 double dy3=0.0;
202 double loc = cross_product(x1, y1, x2, y2, x3, y3);
203 if(fabs(loc) > intersection_epsilon)
204 {
205 if(cross_product(x1, y1, x2, y2, x3, y3) > 0.0)
206 {
207 d = -d;
208 }
209 calc_orthogonal(d, x1, y1, x2, y2, &dx1, &dy1);
210 calc_orthogonal(d, x2, y2, x3, y3, &dx2, &dy2);
211 calc_orthogonal(d, x3, y3, x1, y1, &dx3, &dy3);
212 }
213 *x++ = x1 + dx1; *y++ = y1 + dy1;
214 *x++ = x2 + dx1; *y++ = y2 + dy1;
215 *x++ = x2 + dx2; *y++ = y2 + dy2;
216 *x++ = x3 + dx2; *y++ = y3 + dy2;
217 *x++ = x3 + dx3; *y++ = y3 + dy3;
218 *x++ = x1 + dx3; *y++ = y1 + dy3;
219 }
220
221 //------------------------------------------------------calc_triangle_area
222 AGG_INLINE double calc_triangle_area(double x1, double y1,

Callers 1

triangleMethod · 0.85

Calls 2

cross_productFunction · 0.85
calc_orthogonalFunction · 0.85

Tested by

no test coverage detected