Я пытаюсь создать 3D-сцену для графического представления моей модели. Моя модель содержит N объектов (objA, objB,...), каждый из которых происходит от абстрактного класса, который имеет некоторые свойства, такие как Position,With,Height,Length и т.д.
На данный момент мой Viewport3D делается таким образом:
<Viewport3D>
...
<ModelVisual3D Content="{StaticResource objAView}">
<ModelVisual3D.Transform>
<Transform3DGroup>
<ScaleTransform3D ScaleX="{Binding Path=objA.Width}" ScaleY="{Binding Path=objA.Height}" ScaleZ="{Binding Path=objA.Length}"/>
<TranslateTransform3D OffsetX="{Binding Path=objA.Position.X}" OffsetY="{Binding Path=objA.Position.Y}" OffsetZ="{Binding Path=objA.Position.Z}"/>
</Transform3DGroup>
</ModelVisual3D.Transform>
</ModelVisual3D>
<ModelVisual3D Content="{StaticResource objBView}">
<ModelVisual3D.Transform>
<Transform3DGroup>
<ScaleTransform3D ScaleX="{Binding Path=objB.Width}" ScaleY="{Binding Path=objB.Height}" ScaleZ="{Binding Path=objB.Length}"/>
<TranslateTransform3D OffsetX="{Binding Path=objB.Position.X}" OffsetY="{Binding Path=objB.Position.Y}" OffsetZ="{Binding Path=objB.Position.Z}"/>
</Transform3DGroup>
</ModelVisual3D.Transform>
</ModelVisual3D>
...
</Viewport3D>
Можно ли избежать перезаписи Transform3DGroup для каждого ModelVisual3D, учитывая, что они почти одинаковы?
Спасибо