Revision 728cff8b
Added by Leszek Koltunski about 3 years ago
src/main/java/org/distorted/helpers/FactoryCubit.java | ||
---|---|---|
722 | 722 |
|
723 | 723 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
724 | 724 |
// EFFECTS |
725 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
726 |
|
|
727 |
VertexEffect[] createVertexEffectsHelicopterFace() |
|
728 |
{ |
|
729 |
float E = 0.5f; |
|
730 |
float F = SQ2/4; |
|
731 |
|
|
732 |
Static3D move0 = new Static3D(-E/4, -E/4, 0); |
|
733 |
Static3D move1 = new Static3D(-(SQ2/24)-E/2, -(SQ2/24)-E/2, 0); |
|
734 |
Static3D move2 = new Static3D(-E/2, F/3, 0); |
|
735 |
Static3D move3 = new Static3D(+E/2, F/3, 0); |
|
736 |
Static3D move4 = new Static3D(+E/3,+E/3, 0); |
|
737 |
Static1D angle1 = new Static1D(135); |
|
738 |
Static1D angle2 = new Static1D(90); |
|
739 |
Static1D angle3 = new Static1D(-90); |
|
740 |
Static1D angle4 = new Static1D(-135); |
|
741 |
Static3D axisX = new Static3D(1,0,0); |
|
742 |
Static3D axisY = new Static3D(0,1,0); |
|
743 |
Static3D axisZ = new Static3D(0,0,1); |
|
744 |
Static3D axis1 = new Static3D(1,-1,0); |
|
745 |
Static3D center = new Static3D(0,0,0); |
|
746 |
Static3D center1= new Static3D(-E/2,-E/2,0); |
|
747 |
|
|
748 |
VertexEffect[] effect = new VertexEffect[10]; |
|
749 |
|
|
750 |
effect[0] = new VertexEffectMove(move0); |
|
751 |
effect[1] = new VertexEffectRotate(angle1, axisZ, center); |
|
752 |
effect[2] = new VertexEffectMove(move1); |
|
753 |
effect[3] = new VertexEffectRotate(angle2, axis1, center1); |
|
754 |
effect[4] = new VertexEffectMove(move2); |
|
755 |
effect[5] = new VertexEffectMove(move3); |
|
756 |
effect[6] = new VertexEffectRotate(angle3, axisZ, center); |
|
757 |
effect[7] = new VertexEffectRotate(angle4, axisX, center); |
|
758 |
effect[8] = new VertexEffectRotate(angle1, axisY, center); |
|
759 |
effect[9] = new VertexEffectMove(move4); |
|
760 |
|
|
761 |
effect[0].setMeshAssociation( 1,-1); // mesh 0 |
|
762 |
effect[1].setMeshAssociation( 2,-1); // mesh 1 |
|
763 |
effect[2].setMeshAssociation( 2,-1); // mesh 1 |
|
764 |
effect[3].setMeshAssociation( 2,-1); // mesh 1 |
|
765 |
effect[4].setMeshAssociation( 4,-1); // mesh 2 |
|
766 |
effect[5].setMeshAssociation( 8,-1); // mesh 3 |
|
767 |
effect[6].setMeshAssociation( 8,-1); // mesh 3 |
|
768 |
effect[7].setMeshAssociation( 4,-1); // mesh 2 |
|
769 |
effect[8].setMeshAssociation( 8,-1); // mesh 3 |
|
770 |
effect[9].setMeshAssociation(15,-1); // meshes 0,1,2,3 |
|
771 |
|
|
772 |
return effect; |
|
773 |
} |
|
774 |
|
|
775 | 725 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
776 | 726 |
|
777 | 727 |
VertexEffect[] createVertexEffectsRediEdge() |
... | ... | |
1250 | 1200 |
// OBJECTS |
1251 | 1201 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
1252 | 1202 |
|
1253 |
public MeshBase createHelicopterFaceMesh() |
|
1254 |
{ |
|
1255 |
MeshBase mesh = createFacesHelicopterFace(); |
|
1256 |
VertexEffect[] effects = createVertexEffectsHelicopterFace(); |
|
1257 |
for( VertexEffect effect : effects ) mesh.apply(effect); |
|
1258 |
|
|
1259 |
float E = 0.5f; |
|
1260 |
Static3D roundingCenter = new Static3D(-E/2 + E/3,-E/2 + E/3,-E/2); |
|
1261 |
|
|
1262 |
Static3D[] verticesType1 = new Static3D[1]; |
|
1263 |
verticesType1[0] = new Static3D(E/3,E/3,0.0f); |
|
1264 |
roundCorners(mesh,roundingCenter,verticesType1,0.06f,0.15f); |
|
1265 |
|
|
1266 |
Static3D[] verticesType2 = new Static3D[2]; |
|
1267 |
verticesType2[0] = new Static3D(-E+E/3, E/3 , 0); |
|
1268 |
verticesType2[1] = new Static3D( E/3 ,-E+E/3, 0); |
|
1269 |
roundCorners(mesh,roundingCenter,verticesType2,0.08f,0.20f); |
|
1270 |
|
|
1271 |
mesh.mergeEffComponents(); |
|
1272 |
mesh.addEmptyTexComponent(); |
|
1273 |
mesh.addEmptyTexComponent(); |
|
1274 |
|
|
1275 |
return mesh; |
|
1276 |
} |
|
1277 |
|
|
1278 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
1279 |
// Redi cube |
|
1280 |
|
|
1281 | 1203 |
public MeshBase createRediEdgeMesh() |
1282 | 1204 |
{ |
1283 | 1205 |
MeshBase mesh = createFacesRediEdge(); |
Also available in: Unified diff
Convert the Helicopter face cubits to the new engine.