I need a way to combine multiple EllipseGeometry to make a union between them, but CombineGeometry class only can combine 2 Geometries.
The ideal way is to have a class similar CombineGeometry that accepts more than Geometry1 and Geometry2 shapes.
Anyone knows an object that makes such a behaviour?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
EllipseGeometry is a Geometry too so you can combine like this:
<CombinedGeometry GeometryCombineMode="Union">
<CombinedGeometry.Geometry1>
<EllipseGeometry RadiusX="70" RadiusY="30" Center="100,150" />
</CombinedGeometry.Geometry1>
<CombinedGeometry.Geometry2>
<EllipseGeometry RadiusX="70" RadiusY="30" Center="200,150" />
</CombinedGeometry.Geometry2>
</CombinedGeometry>
EDIT To combine three or more EllipseGeometries you could use this mechanism
<CombinedGeometry GeometryCombineMode="Union">
<CombinedGeometry.Geometry1>
<CombinedGeometry GeometryCombineMode="Union">
<CombinedGeometry.Geometry1>
<EllipseGeometry RadiusX="70" RadiusY="30" Center="100,150" />
</CombinedGeometry.Geometry1>
<CombinedGeometry.Geometry2>
<EllipseGeometry RadiusX="70" RadiusY="30" Center="200,150" />
</CombinedGeometry.Geometry2>
</CombinedGeometry>
</CombinedGeometry.Geometry1>
<CombinedGeometry.Geometry2>
<EllipseGeometry RadiusX="70" RadiusY="30" Center="100,150" />
</CombinedGeometry.Geometry2>
</CombinedGeometry>
You can create a new class that is derived from Geometry and have a Geometry[] in it and implement methods using above mechanism.