From 642806b5c57fe23fdd0125cc8e05f03b5b231e35 Mon Sep 17 00:00:00 2001 From: Calclavia Date: Thu, 20 Feb 2014 23:14:53 +0800 Subject: [PATCH] Made electromagnetic levitator multipart --- .../electrical/ClientProxy.java | 3 +- .../electrical/Electrical.java | 9 +- .../electrical/MultipartElectrical.java | 5 +- .../electrical/charger/PartCharger.java | 5 +- .../electrical/levitator/ItemLevitator.java | 37 + .../electrical/levitator/PartLevitator.java | 662 +++++ .../electrical/levitator/RenderLevitator.java | 42 +- .../electrical/levitator/TileLevitator.java | 1 + .../transformer/PartTransformer.java | 8 +- .../core/MultipartUtility.java | 25 + .../languages/en_US.properties | 2 +- .../models/waterTurbines.obj | 2395 +++++++++++++++++ 12 files changed, 3156 insertions(+), 38 deletions(-) create mode 100644 electrical/src/main/java/resonantinduction/electrical/levitator/ItemLevitator.java create mode 100644 electrical/src/main/java/resonantinduction/electrical/levitator/PartLevitator.java create mode 100644 src/main/resources/assets/resonantinduction/models/waterTurbines.obj diff --git a/electrical/src/main/java/resonantinduction/electrical/ClientProxy.java b/electrical/src/main/java/resonantinduction/electrical/ClientProxy.java index 627582d0..b9de89b4 100644 --- a/electrical/src/main/java/resonantinduction/electrical/ClientProxy.java +++ b/electrical/src/main/java/resonantinduction/electrical/ClientProxy.java @@ -11,7 +11,6 @@ import resonantinduction.electrical.encoder.gui.GuiEncoderInventory; import resonantinduction.electrical.generator.solar.RenderSolarPanel; import resonantinduction.electrical.generator.solar.TileSolarPanel; import resonantinduction.electrical.levitator.RenderLevitator; -import resonantinduction.electrical.levitator.TileLevitator; import resonantinduction.electrical.multimeter.GuiMultimeter; import resonantinduction.electrical.multimeter.PartMultimeter; import resonantinduction.electrical.multimeter.RenderMultimeter; @@ -39,8 +38,8 @@ public class ClientProxy extends CommonProxy GlobalItemRenderer.register(Electrical.itemMultimeter.itemID, RenderMultimeter.INSTANCE); GlobalItemRenderer.register(Electrical.itemTransformer.itemID, RenderTransformer.INSTANCE); GlobalItemRenderer.register(Electrical.itemCharger.itemID, RenderCharger.INSTANCE); + GlobalItemRenderer.register(Electrical.itemLevitator.itemID, RenderLevitator.INSTANCE); ClientRegistry.bindTileEntitySpecialRenderer(TileTesla.class, new RenderTesla()); - ClientRegistry.bindTileEntitySpecialRenderer(TileLevitator.class, new RenderLevitator()); ClientRegistry.bindTileEntitySpecialRenderer(TileBattery.class, new RenderBattery()); ClientRegistry.bindTileEntitySpecialRenderer(TileSolarPanel.class, new RenderSolarPanel()); } diff --git a/electrical/src/main/java/resonantinduction/electrical/Electrical.java b/electrical/src/main/java/resonantinduction/electrical/Electrical.java index bf745726..d298d597 100644 --- a/electrical/src/main/java/resonantinduction/electrical/Electrical.java +++ b/electrical/src/main/java/resonantinduction/electrical/Electrical.java @@ -22,8 +22,7 @@ import resonantinduction.electrical.generator.solar.BlockSolarPanel; import resonantinduction.electrical.generator.solar.TileSolarPanel; import resonantinduction.electrical.generator.thermopile.BlockThermopile; import resonantinduction.electrical.generator.thermopile.TileThermopile; -import resonantinduction.electrical.levitator.BlockLevitator; -import resonantinduction.electrical.levitator.TileLevitator; +import resonantinduction.electrical.levitator.ItemLevitator; import resonantinduction.electrical.multimeter.ItemMultimeter; import resonantinduction.electrical.tesla.BlockTesla; import resonantinduction.electrical.tesla.TileTesla; @@ -86,7 +85,7 @@ public class Electrical public static Block blockThermopile; // Transport - public static Block blockEMLevitator; + public static Item itemLevitator; public static Block blockArmbot; public static Item itemDisk; @@ -106,7 +105,7 @@ public class Electrical blockBattery = contentRegistry.createBlock(BlockBattery.class, ItemBlockBattery.class, TileBattery.class); // Transport - blockEMLevitator = contentRegistry.createTile(BlockLevitator.class, TileLevitator.class); + itemLevitator = contentRegistry.createItem(ItemLevitator.class); // blockArmbot = contentRegistry.createTile(BlockArmbot.class, TileArmbot.class); // blockEncoder = contentRegistry.createTile(BlockEncoder.class, TileEncoder.class); itemDisk = contentRegistry.createItem(ItemDisk.class); @@ -177,7 +176,7 @@ public class Electrical GameRegistry.addRecipe(new ShapedOreRecipe(itemCharger, "WWW", "ICI", 'W', "wire", 'I', UniversalRecipe.PRIMARY_METAL.get(), 'C', UniversalRecipe.CIRCUIT_T1.get())); GameRegistry.addRecipe(new ShapedOreRecipe(itemTransformer, "WWW", "WWW", "III", 'W', "wire", 'I', UniversalRecipe.PRIMARY_METAL.get())); - GameRegistry.addRecipe(new ShapedOreRecipe(blockEMLevitator, " G ", "SDS", "SWS", 'W', "wire", 'G', Block.glass, 'D', Block.blockDiamond, 'S', UniversalRecipe.PRIMARY_METAL.get())); + GameRegistry.addRecipe(new ShapedOreRecipe(itemLevitator, " G ", "SDS", "SWS", 'W', "wire", 'G', Block.glass, 'D', Block.blockDiamond, 'S', UniversalRecipe.PRIMARY_METAL.get())); /** Generators **/ GameRegistry.addRecipe(new ShapedOreRecipe(blockSolarPanel, "CCC", "WWW", "III", 'W', "wire", 'C', Item.coal, 'I', UniversalRecipe.PRIMARY_METAL.get())); diff --git a/electrical/src/main/java/resonantinduction/electrical/MultipartElectrical.java b/electrical/src/main/java/resonantinduction/electrical/MultipartElectrical.java index dadb4051..1982b80f 100644 --- a/electrical/src/main/java/resonantinduction/electrical/MultipartElectrical.java +++ b/electrical/src/main/java/resonantinduction/electrical/MultipartElectrical.java @@ -1,6 +1,7 @@ package resonantinduction.electrical; import resonantinduction.electrical.charger.PartCharger; +import resonantinduction.electrical.levitator.PartLevitator; import resonantinduction.electrical.multimeter.PartMultimeter; import resonantinduction.electrical.transformer.PartTransformer; import resonantinduction.electrical.wire.flat.PartFlatSwitchWire; @@ -16,7 +17,7 @@ public class MultipartElectrical implements IPartFactory { public static MultipartElectrical INSTANCE; - public static final String[] PART_TYPES = { "resonant_induction_wire", "resonant_induction_switch_wire", "resonant_induction_flat_wire", "resonant_induction_flat_switch_wire", "resonant_induction_multimeter", "resonant_induction_transformer", "resonant_induction_charger" }; + public static final String[] PART_TYPES = { "resonant_induction_wire", "resonant_induction_switch_wire", "resonant_induction_flat_wire", "resonant_induction_flat_switch_wire", "resonant_induction_multimeter", "resonant_induction_transformer", "resonant_induction_charger", "resonant_induction_levitator" }; public MultipartElectrical() { @@ -43,6 +44,8 @@ public class MultipartElectrical implements IPartFactory return new PartTransformer(); else if (name.equals("resonant_induction_charger")) return new PartCharger(); + else if (name.equals("resonant_induction_levitator")) + return new PartLevitator(); return null; } diff --git a/electrical/src/main/java/resonantinduction/electrical/charger/PartCharger.java b/electrical/src/main/java/resonantinduction/electrical/charger/PartCharger.java index e0bde489..b1680fe0 100644 --- a/electrical/src/main/java/resonantinduction/electrical/charger/PartCharger.java +++ b/electrical/src/main/java/resonantinduction/electrical/charger/PartCharger.java @@ -58,7 +58,7 @@ public class PartCharger extends PartFace implements IExternalInventory, ISidedI { if (WrenchUtility.isUsableWrench(player, player.inventory.getCurrentItem(), x(), y(), z())) { - if (!this.world().isRemote) + if (!world().isRemote) { WrenchUtility.damageWrench(player, player.inventory.getCurrentItem(), x(), y(), z()); facing = (byte) ((facing + 1) % 4); @@ -87,7 +87,8 @@ public class PartCharger extends PartFace implements IExternalInventory, ISidedI { InventoryUtility.dropItemStack(world(), new universalelectricity.api.vector.Vector3(player), getStackInSlot(0), 0); setInventorySlotContents(0, null); - sendDescUpdate(); + if (!world().isRemote) + sendDescUpdate(); } return true; diff --git a/electrical/src/main/java/resonantinduction/electrical/levitator/ItemLevitator.java b/electrical/src/main/java/resonantinduction/electrical/levitator/ItemLevitator.java new file mode 100644 index 00000000..cb1d8546 --- /dev/null +++ b/electrical/src/main/java/resonantinduction/electrical/levitator/ItemLevitator.java @@ -0,0 +1,37 @@ +package resonantinduction.electrical.levitator; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import resonantinduction.core.prefab.part.IHighlight; +import codechicken.lib.vec.BlockCoord; +import codechicken.lib.vec.Vector3; +import codechicken.microblock.FacePlacementGrid$; +import codechicken.multipart.JItemMultiPart; +import codechicken.multipart.MultiPartRegistry; +import codechicken.multipart.TMultiPart; + +public class ItemLevitator extends JItemMultiPart implements IHighlight +{ + public ItemLevitator(int id) + { + super(id); + } + + @Override + public TMultiPart newPart(ItemStack itemStack, EntityPlayer player, World world, BlockCoord pos, int side, Vector3 hit) + { + side = FacePlacementGrid$.MODULE$.getHitSlot(hit, side); + PartLevitator part = (PartLevitator) MultiPartRegistry.createPart("resonant_induction_levitator", false); + + if (part != null) + { + int l = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + int facing = l == 0 ? 2 : (l == 1 ? 5 : (l == 2 ? 3 : (l == 3 ? 4 : 0))); + part.preparePlacement(side, facing); + } + + return part; + } +} diff --git a/electrical/src/main/java/resonantinduction/electrical/levitator/PartLevitator.java b/electrical/src/main/java/resonantinduction/electrical/levitator/PartLevitator.java new file mode 100644 index 00000000..a3f04113 --- /dev/null +++ b/electrical/src/main/java/resonantinduction/electrical/levitator/PartLevitator.java @@ -0,0 +1,662 @@ +package resonantinduction.electrical.levitator; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockFluid; +import net.minecraft.block.BlockLadder; +import net.minecraft.block.BlockSnow; +import net.minecraft.block.BlockVine; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.packet.Packet; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; +import net.minecraftforge.common.ForgeDirection; +import net.minecraftforge.fluids.IFluidBlock; +import resonantinduction.core.MultipartUtility; +import resonantinduction.core.ResonantInduction; +import resonantinduction.core.Settings; +import resonantinduction.core.prefab.part.PartFace; +import resonantinduction.electrical.Electrical; +import resonantinduction.electrical.tesla.TileTesla; +import resonantinduction.electrical.transformer.RenderTransformer; +import universalelectricity.api.vector.Vector3; +import universalelectricity.api.vector.VectorWorld; +import calclavia.components.tool.ToolModeLink; +import calclavia.lib.prefab.block.ILinkable; +import calclavia.lib.render.EnumColor; +import calclavia.lib.utility.WrenchUtility; +import calclavia.lib.utility.inventory.InventoryUtility; +import codechicken.lib.data.MCDataInput; +import codechicken.lib.data.MCDataOutput; +import codechicken.multipart.TMultiPart; + +import com.google.common.io.ByteArrayDataInput; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class PartLevitator extends PartFace implements ILinkable +{ + private int pushDelay; + + private AxisAlignedBB operationBounds; + private AxisAlignedBB suckBounds; + + /** + * true = suck, false = push + */ + public boolean suck = true; + + /** + * Pathfinding + */ + private ThreadEMPathfinding thread; + private PathfinderEMContractor pathfinder; + private Set pathfindingTrackers = new HashSet(); + // TODO: WeakReference + private PartLevitator linked; + private int lastCalcTime = 0; + + /** Color of beam */ + private int dyeID = TileTesla.DEFAULT_COLOR; + + /** + * Linking + */ + private byte linkSide; + private Vector3 tempLinkVector; + + /** + * Client Side Only + */ + public float renderRotation = 0; + + private int ticks; + + @Override + public boolean activate(EntityPlayer player, MovingObjectPosition part, ItemStack itemStack) + { + if (WrenchUtility.isWrench(itemStack)) + { + if (onLink(player, ToolModeLink.getLink(itemStack))) + { + ToolModeLink.clearLink(itemStack); + } + else + { + ToolModeLink.setLink(itemStack, new VectorWorld(world(), x(), y(), z())); + } + + return true; + } + + if (player.getCurrentEquippedItem() != null) + { + if (player.getCurrentEquippedItem().itemID == Item.dyePowder.itemID) + { + setDye(player.getCurrentEquippedItem().getItemDamage()); + + if (!player.capabilities.isCreativeMode) + { + player.inventory.decrStackSize(player.inventory.currentItem, 1); + } + + return true; + } + } + + suck = !suck; + updatePath(); + + return true; + } + + @Override + protected ItemStack getItem() + { + return new ItemStack(Electrical.itemLevitator); + } + + @Override + public String getType() + { + return "resonant_induction_levitator"; + } + + public void initiate() + { + updateBounds(); + } + + @Override + public void update() + { + super.update(); + + if (ticks++ == 0) + { + initiate(); + } + + pushDelay = Math.max(0, pushDelay - 1); + + if (tempLinkVector != null) + { + TMultiPart part = MultipartUtility.getMultipart(world(), tempLinkVector, linkSide); + + if (part instanceof PartLevitator) + { + setLink((PartLevitator) part, true); + } + + tempLinkVector = null; + } + + if (canFunction()) + { + TileEntity inventoryTile = getLatched(); + IInventory inventory = (IInventory) inventoryTile; + + if (!suck) + { + renderRotation = Math.max(0, renderRotation - 0.8f); + if (pushDelay == 0) + { + ItemStack retrieved = InventoryUtility.takeTopItemFromInventory(inventory, placementSide.getOpposite().getOpposite().ordinal()); + + if (retrieved != null) + { + EntityItem item = getItemWithPosition(retrieved); + + if (!world().isRemote) + { + world().spawnEntityInWorld(item); + } + + pushDelay = Settings.LEVITATOR_PUSH_DELAY; + } + } + } + else if (suck) + { + renderRotation = Math.min(20, renderRotation + 0.8f); + if (suckBounds != null) + { + if (!world().isRemote) + { + for (EntityItem item : (List) world().getEntitiesWithinAABB(EntityItem.class, suckBounds)) + { + ItemStack remains = InventoryUtility.putStackInInventory(inventory, item.getEntityItem(), placementSide.getOpposite().getOpposite().ordinal(), false); + + if (remains == null) + { + item.setDead(); + } + else + { + item.setEntityItemStack(remains); + } + + // TODO: Add redstone pulse? + } + } + } + } + + if (thread != null) + { + PathfinderEMContractor newPath = thread.getPath(); + + if (newPath != null) + { + pathfinder = newPath; + thread = null; + } + } + + final int renderFrequency = 1; + final boolean renderBeam = ticks % renderFrequency == 0 && hasLink() && linked.suck != suck; + + if (hasLink()) + { + if (!suck) + { + if (renderBeam) + Electrical.proxy.renderElectricShock(world(), getPosition().translate(0.5), getPosition().translate(new Vector3(placementSide.getOpposite())).translate(0.5), EnumColor.DYES[dyeID].toColor(), false); + + // Push entity along path. + if (pathfinder != null) + { + List results = pathfinder.results; + + for (int i = 0; i < results.size(); i++) + { + Vector3 result = results.get(i).clone(); + + if (PartLevitator.canBePath(world(), result)) + { + if (i - 1 >= 0) + { + Vector3 prevResult = results.get(i - 1).clone(); + + Vector3 difference = prevResult.clone().difference(result); + final ForgeDirection direction = difference.toForgeDirection(); + + if (renderBeam) + { + Electrical.proxy.renderElectricShock(world(), prevResult.clone().translate(0.5), result.clone().translate(0.5), EnumColor.DYES[dyeID].toColor(), false); + } + + AxisAlignedBB bounds = AxisAlignedBB.getAABBPool().getAABB(result.x, result.y, result.z, result.x + 1, result.y + 1, result.z + 1); + List entities = world().getEntitiesWithinAABB(EntityItem.class, bounds); + + for (EntityItem entityItem : entities) + { + moveEntity(entityItem, direction, result); + } + } + + } + else + { + updatePath(); + break; + } + } + } + else + { + updatePath(); + } + } + else + { + if (renderBeam) + { + Electrical.proxy.renderElectricShock(world(), getPosition().translate(0.5), getPosition().translate(new Vector3(placementSide.getOpposite())).translate(0.5), EnumColor.DYES[dyeID].toColor(), false); + } + + pathfinder = null; + + Vector3 searchVec = getPosition().translate(placementSide.getOpposite()); + AxisAlignedBB searchBounds = AxisAlignedBB.getAABBPool().getAABB(searchVec.x, searchVec.y, searchVec.z, searchVec.x + 1, searchVec.y + 1, searchVec.z + 1); + + if (searchBounds != null) + { + for (EntityItem entityItem : (List) world().getEntitiesWithinAABB(EntityItem.class, searchBounds)) + { + moveEntity(entityItem, placementSide.getOpposite(), getPosition()); + } + } + } + } + else if (!hasLink()) + { + for (EntityItem entityItem : (List) world().getEntitiesWithinAABB(EntityItem.class, operationBounds)) + { + if (ticks % renderFrequency == 0) + Electrical.proxy.renderElectricShock(world(), getPosition().translate(0.5), new Vector3(entityItem), EnumColor.DYES[dyeID].toColor(), false); + moveEntity(entityItem, placementSide.getOpposite(), getPosition()); + } + } + + if (linked != null) + { + linked = null; + } + + lastCalcTime--; + } + } + + public static boolean canBePath(World world, Vector3 position) + { + Block block = Block.blocksList[position.getBlockID(world)]; + return block == null || (block instanceof BlockSnow || block instanceof BlockVine || block instanceof BlockLadder || ((block instanceof BlockFluid || block instanceof IFluidBlock) && block.blockID != Block.lavaMoving.blockID && block.blockID != Block.lavaStill.blockID)); + } + + private boolean hasLink() + { + return linked != null && linked.linked == this; + } + + private void moveEntity(EntityItem entityItem, ForgeDirection direction, Vector3 lockVector) + { + switch (direction) + { + case DOWN: + entityItem.setPosition(lockVector.x + 0.5, entityItem.posY, lockVector.z + 0.5); + + entityItem.motionX = 0; + entityItem.motionZ = 0; + + if (!suck) + { + entityItem.motionY = Math.max(-Settings.LEVITATOR_MAX_SPEED, entityItem.motionY - Settings.LEVITATOR_ACCELERATION); + } + else + { + entityItem.motionY = Math.min(Settings.LEVITATOR_MAX_SPEED, entityItem.motionY + .04 + Settings.LEVITATOR_ACCELERATION); + } + + break; + case UP: + + entityItem.setPosition(lockVector.x + 0.5, entityItem.posY, lockVector.z + 0.5); + + entityItem.motionX = 0; + entityItem.motionZ = 0; + + if (!suck) + { + entityItem.motionY = Math.min(Settings.LEVITATOR_MAX_SPEED, entityItem.motionY + .04 + Settings.LEVITATOR_ACCELERATION); + } + else + { + entityItem.motionY = Math.max(-Settings.LEVITATOR_MAX_SPEED, entityItem.motionY - Settings.LEVITATOR_ACCELERATION); + } + + break; + case NORTH: + + entityItem.setPosition(lockVector.x + 0.5, lockVector.y + 0.5, entityItem.posZ); + + entityItem.motionX = 0; + entityItem.motionY = 0; + + if (!suck) + { + entityItem.motionZ = Math.max(-Settings.LEVITATOR_MAX_SPEED, entityItem.motionZ - Settings.LEVITATOR_ACCELERATION); + } + else + { + entityItem.motionZ = Math.min(Settings.LEVITATOR_MAX_SPEED, entityItem.motionZ + Settings.LEVITATOR_ACCELERATION); + } + + break; + case SOUTH: + + entityItem.setPosition(lockVector.x + 0.5, lockVector.y + 0.5, entityItem.posZ); + + entityItem.motionX = 0; + entityItem.motionY = 0; + + if (!suck) + { + entityItem.motionZ = Math.min(Settings.LEVITATOR_MAX_SPEED, entityItem.motionZ + Settings.LEVITATOR_ACCELERATION); + } + else + { + entityItem.motionZ = Math.max(-Settings.LEVITATOR_MAX_SPEED, entityItem.motionZ - Settings.LEVITATOR_ACCELERATION); + } + + break; + case WEST: + + entityItem.setPosition(entityItem.posX, lockVector.y + 0.5, lockVector.z + 0.5); + + entityItem.motionY = 0; + entityItem.motionZ = 0; + + if (!suck) + { + entityItem.motionX = Math.max(-Settings.LEVITATOR_MAX_SPEED, entityItem.motionX - Settings.LEVITATOR_ACCELERATION); + } + else + { + entityItem.motionX = Math.min(Settings.LEVITATOR_MAX_SPEED, entityItem.motionX + Settings.LEVITATOR_ACCELERATION); + } + + break; + case EAST: + entityItem.setPosition(entityItem.posX, lockVector.y + 0.5, lockVector.z + 0.5); + + entityItem.motionY = 0; + entityItem.motionZ = 0; + + if (!suck) + { + entityItem.motionX = Math.min(Settings.LEVITATOR_MAX_SPEED, entityItem.motionX + Settings.LEVITATOR_ACCELERATION); + } + else + { + entityItem.motionX = Math.max(-Settings.LEVITATOR_MAX_SPEED, entityItem.motionX - Settings.LEVITATOR_ACCELERATION); + } + + break; + default: + break; + } + + entityItem.ticksExisted = 1; + entityItem.isAirBorne = true; + entityItem.delayBeforeCanPickup = 1; + entityItem.age = Math.max(entityItem.age - 1, 0); + } + + private EntityItem getItemWithPosition(ItemStack toSend) + { + EntityItem item = null; + + switch (placementSide.getOpposite()) + { + case DOWN: + item = new EntityItem(world(), x() + 0.5, y() - 0.2, z() + 0.5, toSend); + break; + case UP: + item = new EntityItem(world(), x() + 0.5, y() + 1.2, z() + 0.5, toSend); + break; + case NORTH: + item = new EntityItem(world(), x() + 0.5, y() + 0.5, z() - 0.2, toSend); + break; + case SOUTH: + item = new EntityItem(world(), x() + 0.5, y() + 0.5, z() + 1.2, toSend); + break; + case WEST: + item = new EntityItem(world(), x() - 0.2, y() + 0.5, z() + 0.5, toSend); + break; + case EAST: + item = new EntityItem(world(), x() + 1.2, y() + 0.5, z() + 0.5, toSend); + break; + default: + break; + } + + item.motionX = 0; + item.motionY = 0; + item.motionZ = 0; + + return item; + } + + public void updateBounds() + { + ForgeDirection dir = placementSide; + MovingObjectPosition mop = world().clip(getPosition().translate(dir).toVec3(), getPosition().translate(dir, Settings.LEVITATOR_MAX_REACH).toVec3()); + + int reach = Settings.LEVITATOR_MAX_REACH; + + if (mop != null) + { + reach = (int) Math.min(getPosition().distance(new Vector3(mop.hitVec)), reach); + } + + if (dir.offsetX + dir.offsetY + dir.offsetZ < 0) + { + operationBounds = AxisAlignedBB.getBoundingBox(x() + dir.offsetX * reach, y() + dir.offsetY * reach, z() + dir.offsetZ * reach, x() + 1, y() + 1, z() + 1); + suckBounds = AxisAlignedBB.getBoundingBox(x() + dir.offsetX, y() + dir.offsetY, z() + dir.offsetZ, x() + 1, y() + 1, z() + 1); + } + else + { + operationBounds = AxisAlignedBB.getBoundingBox(x(), y(), z(), x() + 1 + dir.offsetX * reach, y() + 1 + dir.offsetY * reach, z() + 1 + dir.offsetZ * reach); + suckBounds = AxisAlignedBB.getBoundingBox(x(), y(), z(), x() + 1 + dir.offsetX, y() + 1 + dir.offsetY, z() + 1 + dir.offsetZ); + } + + } + + public boolean isLatched() + { + return getLatched() != null; + } + + public TileEntity getLatched() + { + ForgeDirection side = placementSide; + + TileEntity tile = world().getBlockTileEntity(x() + side.offsetX, y() + side.offsetY, z() + side.offsetZ); + + if (tile instanceof IInventory) + { + return tile; + } + + return null; + } + + @Override + public void readDesc(MCDataInput packet) + { + super.readDesc(packet); + suck = packet.readBoolean(); + dyeID = packet.readByte(); + + if (packet.readBoolean()) + { + tempLinkVector = new Vector3(packet.readInt(), packet.readInt(), packet.readInt()); + } + } + + @Override + public void writeDesc(MCDataOutput packet) + { + super.writeDesc(packet); + packet.writeBoolean(suck); + packet.writeByte(dyeID); + + if (linked != null) + { + packet.writeBoolean(true); + packet.writeInt(linked.x()); + packet.writeInt(linked.y()); + packet.writeInt(linked.z()); + } + else + { + packet.writeBoolean(false); + } + + } + + public boolean canFunction() + { + return isLatched() && !world().isBlockIndirectlyGettingPowered(x(), y(), z()); + } + + @Override + public void load(NBTTagCompound nbt) + { + super.load(nbt); + + this.suck = nbt.getBoolean("suck"); + this.dyeID = nbt.getInteger("dyeID"); + + if (nbt.hasKey("link")) + { + tempLinkVector = new Vector3(nbt.getCompoundTag("link")); + } + } + + @Override + public void save(NBTTagCompound nbt) + { + super.save(nbt); + + nbt.setBoolean("suck", suck); + nbt.setInteger("dyeID", dyeID); + + if (linked != null) + { + nbt.setCompoundTag("link", new Vector3(linked.x(), linked.y(), linked.z()).writeToNBT(new NBTTagCompound())); + } + } + + /** + * Link between two TileEntities, do pathfinding operation. + */ + public void setLink(PartLevitator tileEntity, boolean setOpponent) + { + if (linked != null && setOpponent) + { + linked.setLink(null, false); + } + + linked = tileEntity; + + if (setOpponent) + { + linked.setLink(this, false); + } + + updatePath(); + } + + public void updatePath() + { + if (thread == null && linked != null && lastCalcTime <= 0) + { + pathfinder = null; + + Vector3 start = getPosition().translate(placementSide.getOpposite()); + Vector3 target = new Vector3(linked.x(), linked.y(), linked.z()).translate(linked.placementSide.getOpposite()); + + if (start.distance(target) < Settings.MAX_CONTRACTOR_DISTANCE) + { + if (PartLevitator.canBePath(world(), start) && PartLevitator.canBePath(world(), target)) + { + thread = new ThreadEMPathfinding(new PathfinderEMContractor(world(), target), start); + thread.start(); + lastCalcTime = 40; + } + } + } + } + + public void setDye(int dye) + { + dyeID = dye; + world().markBlockForUpdate(x(), y(), z()); + } + + @Override + public boolean onLink(EntityPlayer player, VectorWorld vector) + { + tempLinkVector = vector; + return false; + } + + public Vector3 getPosition() + { + return new Vector3(x(), y(), z()); + } + + @Override + @SideOnly(Side.CLIENT) + public void renderDynamic(codechicken.lib.vec.Vector3 pos, float frame, int pass) + { + if (pass == 0) + { + RenderLevitator.INSTANCE.render(this, pos.x, pos.y, pos.z); + } + } +} diff --git a/electrical/src/main/java/resonantinduction/electrical/levitator/RenderLevitator.java b/electrical/src/main/java/resonantinduction/electrical/levitator/RenderLevitator.java index 019a01f2..c980f8be 100644 --- a/electrical/src/main/java/resonantinduction/electrical/levitator/RenderLevitator.java +++ b/electrical/src/main/java/resonantinduction/electrical/levitator/RenderLevitator.java @@ -3,6 +3,7 @@ package resonantinduction.electrical.levitator; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraft.world.IBlockAccess; @@ -12,46 +13,47 @@ import net.minecraftforge.client.model.IModelCustom; import org.lwjgl.opengl.GL11; import resonantinduction.core.Reference; -import resonantinduction.core.ResonantInduction; import calclavia.lib.render.RenderUtility; import calclavia.lib.render.block.ICustomBlockRenderer; +import calclavia.lib.render.item.ISimpleItemRenderer; import cpw.mods.fml.client.FMLClientHandler; -public class RenderLevitator extends TileEntitySpecialRenderer implements ICustomBlockRenderer +public class RenderLevitator implements ISimpleItemRenderer { + public static final RenderLevitator INSTANCE = new RenderLevitator(); + public static final IModelCustom MODEL = AdvancedModelLoader.loadModel(Reference.MODEL_DIRECTORY + "levitator.tcn"); public static final ResourceLocation TEXTURE_ON = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_PATH + "levitator_on.png"); public static final ResourceLocation TEXTURE_OFF = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_PATH + "levitator_off.png"); - @Override - public void renderTileEntityAt(TileEntity t, double x, double y, double z, float f) + public void render(PartLevitator part, double x, double y, double z) { GL11.glPushMatrix(); GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5); - RenderUtility.rotateFaceToSideNoTranslate(((TileLevitator) t).getDirection().getOpposite()); - TileLevitator tile = (TileLevitator) t; - if (tile.canFunction()) - bindTexture(TEXTURE_ON); + RenderUtility.rotateFaceToSideNoTranslate(part.placementSide); + + if (part.canFunction()) + RenderUtility.bind(TEXTURE_ON); else - bindTexture(TEXTURE_OFF); + RenderUtility.bind(TEXTURE_OFF); GL11.glPushMatrix(); - GL11.glRotatef(tile.renderRotation, 1, 0, 0); + GL11.glRotatef(part.renderRotation, 1, 0, 0); MODEL.renderOnly("ring1"); GL11.glPopMatrix(); GL11.glPushMatrix(); - GL11.glRotatef(-tile.renderRotation, 1, 0, 0); + GL11.glRotatef(-part.renderRotation, 1, 0, 0); MODEL.renderOnly("ring2"); GL11.glPopMatrix(); GL11.glPushMatrix(); - GL11.glRotatef(tile.renderRotation, 0, 0, 1); + GL11.glRotatef(part.renderRotation, 0, 0, 1); MODEL.renderOnly("ring3"); GL11.glPopMatrix(); GL11.glPushMatrix(); - GL11.glRotatef(-tile.renderRotation, 0, 0, 1); + GL11.glRotatef(-part.renderRotation, 0, 0, 1); MODEL.renderOnly("ring4"); GL11.glPopMatrix(); @@ -61,19 +63,7 @@ public class RenderLevitator extends TileEntitySpecialRenderer implements ICusto } @Override - public void renderInventory(Block block, int metadata, int modelID, RenderBlocks renderer) - { - - } - - @Override - public boolean renderStatic(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) - { - return false; - } - - @Override - public void renderDynamic(TileEntity tile, Block block, int metadata, int modelID, RenderBlocks renderer) + public void renderInventoryItem(ItemStack itemStack) { GL11.glPushMatrix(); GL11.glTranslatef(0.5f, 0.5f, 0.5f); diff --git a/electrical/src/main/java/resonantinduction/electrical/levitator/TileLevitator.java b/electrical/src/main/java/resonantinduction/electrical/levitator/TileLevitator.java index 176ec2d2..b6224c15 100644 --- a/electrical/src/main/java/resonantinduction/electrical/levitator/TileLevitator.java +++ b/electrical/src/main/java/resonantinduction/electrical/levitator/TileLevitator.java @@ -42,6 +42,7 @@ import com.google.common.io.ByteArrayDataInput; * @author Calclavia * */ +@Deprecated public class TileLevitator extends TileAdvanced implements IPacketReceiver, IPacketSender, ILinkable { private int pushDelay; diff --git a/electrical/src/main/java/resonantinduction/electrical/transformer/PartTransformer.java b/electrical/src/main/java/resonantinduction/electrical/transformer/PartTransformer.java index 67474892..eda5882e 100644 --- a/electrical/src/main/java/resonantinduction/electrical/transformer/PartTransformer.java +++ b/electrical/src/main/java/resonantinduction/electrical/transformer/PartTransformer.java @@ -24,7 +24,13 @@ import codechicken.multipart.TFacePart; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class PartTransformer extends PartFace implements JNormalOcclusion, TFacePart, IVoltageOutput, IEnergyInterface +/** + * TODO: We can't use face parts, need to use thicker ones. Also, transformer is currently NO-OP + * + * @author Calclavia + * + */ +public class PartTransformer extends PartFace implements IVoltageOutput, IEnergyInterface { /** Step the voltage up */ diff --git a/src/main/java/resonantinduction/core/MultipartUtility.java b/src/main/java/resonantinduction/core/MultipartUtility.java index bed0a236..8267033c 100644 --- a/src/main/java/resonantinduction/core/MultipartUtility.java +++ b/src/main/java/resonantinduction/core/MultipartUtility.java @@ -7,7 +7,10 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.oredict.OreDictionary; +import universalelectricity.api.vector.Vector3; +import universalelectricity.api.vector.VectorWorld; import codechicken.lib.vec.BlockCoord; +import codechicken.multipart.TMultiPart; import codechicken.multipart.TileMultipart; /** @@ -24,6 +27,28 @@ public class MultipartUtility return te instanceof TileMultipart ? (TileMultipart) te : null; } + public static TMultiPart getMultipart(World world, Vector3 vector, int partMap) + { + return getMultipart(new VectorWorld(world, vector), partMap); + } + + public static TMultiPart getMultipart(VectorWorld vector, int partMap) + { + return getMultipart(vector.world, vector.intX(), vector.intY(), vector.intZ(), partMap); + } + + public static TMultiPart getMultipart(World world, int x, int y, int z, int partMap) + { + TileEntity tile = world.getBlockTileEntity(x, y, z); + + if (tile instanceof TileMultipart) + { + return ((TileMultipart) tile).partMap(partMap); + } + + return null; + } + public static boolean canPlaceWireOnSide(World w, int x, int y, int z, ForgeDirection side, boolean _default) { if (!w.blockExists(x, y, z)) diff --git a/src/main/resources/assets/resonantinduction/languages/en_US.properties b/src/main/resources/assets/resonantinduction/languages/en_US.properties index d7802e72..fa876aa7 100644 --- a/src/main/resources/assets/resonantinduction/languages/en_US.properties +++ b/src/main/resources/assets/resonantinduction/languages/en_US.properties @@ -106,7 +106,7 @@ tile.resonantinduction\:filter.name=Filter ### Electrical Module ## Blocks tile.resonantinduction\:tesla.name=Tesla Coil -tile.resonantinduction\:levitator.name=Electromagnetic Levitator +item.resonantinduction\:levitator.name=Electromagnetic Levitator tile.resonantinduction\:battery.name=Battery tile.resonantinduction\:armbot.name=Armbot tile.resonantinduction\:encoder.name=Encoder diff --git a/src/main/resources/assets/resonantinduction/models/waterTurbines.obj b/src/main/resources/assets/resonantinduction/models/waterTurbines.obj new file mode 100644 index 00000000..5a036868 --- /dev/null +++ b/src/main/resources/assets/resonantinduction/models/waterTurbines.obj @@ -0,0 +1,2395 @@ +# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware +# File Created: 20.02.2014 13:56:16 + +# +# object turbine_blades +# + +v 0.3207 0.1029 0.1879 +v 0.3394 0.1029 0.1515 +v 0.1668 0.0176 0.0478 +v 0.1509 0.0176 0.0856 +v 0.3712 -0.4247 0.0207 +v 0.1875 -0.4247 0.0205 +v 1.4848 -0.4247 0.0221 +v 1.4848 -0.4247 -0.0189 +v 1.0631 0.4492 1.0365 +v 1.0341 0.4492 1.0654 +v 0.7386 -0.4247 -0.0156 +v 0.5654 0.3765 0.4752 +v 0.5438 0.3765 0.4997 +v 0.7385 -0.4247 0.0170 +v 0.1876 -0.4247 -0.0205 +v 0.3712 -0.4247 -0.0203 +v -0.2965 0.1029 0.2240 +v -0.2700 0.1029 0.2553 +v -0.1082 0.0176 0.1355 +v -0.1370 0.0176 0.1063 +v -0.1614 -0.4247 0.3347 +v -0.0909 -0.4247 0.1651 +v -0.5888 -0.4247 1.3630 +v -0.5509 -0.4247 1.3787 +v -1.3646 0.4492 0.5853 +v -1.3803 0.4492 0.5474 +v -0.2684 -0.4247 0.6880 +v -0.6556 0.3765 0.3402 +v -0.6700 0.3765 0.3109 +v -0.2985 -0.4247 0.6755 +v -0.0531 -0.4247 0.1808 +v -0.1235 -0.4247 0.3504 +v 0.3682 0.1029 0.0509 +v 0.3716 0.1029 0.0100 +v 0.1725 0.0176 -0.0197 +v 0.1723 0.0176 0.0213 +v 0.3509 -0.4247 -0.1229 +v 0.1812 -0.4247 -0.0528 +v 1.3803 -0.4247 -0.5478 +v 1.3646 -0.4247 -0.5857 +v 1.3789 0.4492 0.5507 +v 1.3632 0.4492 0.5886 +v 0.6764 -0.4247 -0.2971 +v 0.7043 0.3765 0.2227 +v 0.6938 0.3765 0.2536 +v 0.6889 -0.4247 -0.2669 +v 0.1655 -0.4247 -0.0907 +v 0.3353 -0.4247 -0.1608 +v 0.3598 0.1029 -0.0939 +v 0.3473 0.1029 -0.1330 +v 0.1519 0.0176 -0.0842 +v 0.1674 0.0176 -0.0462 +v 0.2773 -0.4247 -0.2479 +v 0.1473 -0.4247 -0.1182 +v 1.0657 -0.4247 -1.0343 +v 1.0367 -0.4247 -1.0634 +v 1.4848 0.4492 -0.0189 +v 1.4848 0.4492 0.0221 +v 0.5113 -0.4247 -0.5334 +v 0.7360 0.3765 -0.0638 +v 0.7381 0.3765 -0.0313 +v 0.5344 -0.4247 -0.5103 +v 0.1183 -0.4247 -0.1472 +v 0.2483 -0.4247 -0.2769 +v 0.2965 0.1029 -0.2245 +v 0.2700 0.1029 -0.2558 +v 0.1082 0.0176 -0.1360 +v 0.1370 0.0176 -0.1068 +v 0.1614 -0.4247 -0.3351 +v 0.0909 -0.4247 -0.1655 +v 0.5888 -0.4247 -1.3634 +v 0.5509 -0.4247 -1.3792 +v 1.3646 0.4492 -0.5857 +v 1.3803 0.4492 -0.5478 +v 0.2684 -0.4247 -0.6885 +v 0.6556 0.3765 -0.3406 +v 0.6700 0.3765 -0.3113 +v 0.2985 -0.4247 -0.6759 +v 0.0531 -0.4247 -0.1813 +v 0.1235 -0.4247 -0.3509 +v 0.1881 0.1029 -0.3209 +v 0.1517 0.1029 -0.3396 +v 0.0480 0.0176 -0.1670 +v 0.0858 0.0176 -0.1511 +v 0.0209 -0.4247 -0.3714 +v 0.0207 -0.4247 -0.1877 +v 0.0223 -0.4247 -1.4850 +v -0.0187 -0.4247 -1.4850 +v 1.0367 0.4492 -1.0634 +v 1.0657 0.4492 -1.0343 +v -0.0154 -0.4247 -0.7388 +v 0.4754 0.3765 -0.5656 +v 0.4999 0.3765 -0.5441 +v 0.0172 -0.4247 -0.7387 +v -0.0203 -0.4247 -0.1878 +v -0.0200 -0.4247 -0.3714 +v 0.0511 0.1029 -0.3685 +v 0.0102 0.1029 -0.3718 +v -0.0195 0.0176 -0.1727 +v 0.0215 0.0176 -0.1725 +v -0.1227 -0.4247 -0.3512 +v -0.0526 -0.4247 -0.1814 +v -0.5476 -0.4247 -1.3805 +v -0.5855 -0.4247 -1.3649 +v 0.5509 0.4492 -1.3792 +v 0.5888 0.4492 -1.3634 +v -0.2969 -0.4247 -0.6767 +v 0.2229 0.3765 -0.7045 +v 0.2538 0.3765 -0.6940 +v -0.2667 -0.4247 -0.6891 +v -0.0905 -0.4247 -0.1658 +v -0.1606 -0.4247 -0.3355 +v -0.0937 0.1029 -0.3600 +v -0.1328 0.1029 -0.3475 +v -0.0840 0.0176 -0.1521 +v -0.0460 0.0176 -0.1676 +v -0.2476 -0.4247 -0.2775 +v -0.1179 -0.4247 -0.1475 +v -1.0341 -0.4247 -1.0659 +v -1.0631 -0.4247 -1.0369 +v -0.0187 0.4492 -1.4850 +v 0.0223 0.4492 -1.4850 +v -0.5331 -0.4247 -0.5116 +v -0.0636 0.3765 -0.7362 +v -0.0310 0.3765 -0.7383 +v -0.5100 -0.4247 -0.5346 +v -0.1470 -0.4247 -0.1185 +v -0.2767 -0.4247 -0.2485 +v -0.2243 0.1029 -0.2967 +v -0.2555 0.1029 -0.2702 +v -0.1357 0.0176 -0.1084 +v -0.1066 0.0176 -0.1373 +v -0.3349 -0.4247 -0.1616 +v -0.1653 -0.4247 -0.0911 +v -1.3632 -0.4247 -0.5890 +v -1.3789 -0.4247 -0.5512 +v -0.5855 0.4492 -1.3649 +v -0.5476 0.4492 -1.3805 +v -0.6882 -0.4247 -0.2686 +v -0.3404 0.3765 -0.6558 +v -0.3111 0.3765 -0.6702 +v -0.6757 -0.4247 -0.2987 +v -0.1810 -0.4247 -0.0533 +v -0.3506 -0.4247 -0.1238 +v -0.3207 0.1029 -0.1883 +v -0.3394 0.1029 -0.1519 +v -0.1668 0.0176 -0.0483 +v -0.1509 0.0176 -0.0860 +v -0.3712 -0.4247 -0.0212 +v -0.1875 -0.4247 -0.0209 +v -1.4848 -0.4247 -0.0225 +v -1.4848 -0.4247 0.0185 +v -1.0631 0.4492 -1.0369 +v -1.0341 0.4492 -1.0659 +v -0.7386 -0.4247 0.0152 +v -0.5654 0.3765 -0.4757 +v -0.5438 0.3765 -0.5002 +v -0.7385 -0.4247 -0.0174 +v -0.1876 -0.4247 0.0200 +v -0.3712 -0.4247 0.0198 +v -0.3682 0.1029 -0.0513 +v -0.3716 0.1029 -0.0105 +v -0.1725 0.0176 0.0192 +v -0.1723 0.0176 -0.0218 +v -0.3509 -0.4247 0.1225 +v -0.1812 -0.4247 0.0524 +v -1.3803 -0.4247 0.5474 +v -1.3646 -0.4247 0.5853 +v -1.3789 0.4492 -0.5512 +v -1.3632 0.4492 -0.5890 +v -0.6764 -0.4247 0.2967 +v -0.7043 0.3765 -0.2231 +v -0.6938 0.3765 -0.2540 +v -0.6889 -0.4247 0.2665 +v -0.1655 -0.4247 0.0903 +v -0.3353 -0.4247 0.1604 +v -0.3598 0.1029 0.0935 +v -0.3473 0.1029 0.1325 +v -0.1519 0.0176 0.0838 +v -0.1674 0.0176 0.0458 +v -0.2773 -0.4247 0.2474 +v -0.1473 -0.4247 0.1177 +v -1.0657 -0.4247 1.0339 +v -1.0367 -0.4247 1.0629 +v -1.4848 0.4492 0.0185 +v -1.4848 0.4492 -0.0225 +v -0.5113 -0.4247 0.5329 +v -0.7360 0.3765 0.0634 +v -0.7381 0.3765 0.0308 +v -0.5344 -0.4247 0.5098 +v -0.1183 -0.4247 0.1467 +v -0.2483 -0.4247 0.2764 +v -0.1881 0.1029 0.3204 +v -0.1517 0.1029 0.3392 +v -0.0480 0.0176 0.1666 +v -0.0858 0.0176 0.1507 +v -0.0209 -0.4247 0.3710 +v -0.0207 -0.4247 0.1873 +v -0.0223 -0.4247 1.4845 +v 0.0187 -0.4247 1.4846 +v -1.0367 0.4492 1.0629 +v -1.0657 0.4492 1.0339 +v 0.0154 -0.4247 0.7383 +v -0.4754 0.3765 0.5652 +v -0.4999 0.3765 0.5436 +v -0.0172 -0.4247 0.7383 +v 0.0203 -0.4247 0.1873 +v 0.0200 -0.4247 0.3710 +v -0.0511 0.1029 0.3680 +v -0.0102 0.1029 0.3714 +v 0.0195 0.0176 0.1723 +v -0.0215 0.0176 0.1720 +v 0.1227 -0.4247 0.3507 +v 0.0526 -0.4247 0.1810 +v 0.5476 -0.4247 1.3801 +v 0.5855 -0.4247 1.3644 +v -0.5509 0.4492 1.3787 +v -0.5888 0.4492 1.3630 +v 0.2969 -0.4247 0.6762 +v -0.2229 0.3765 0.7041 +v -0.2538 0.3765 0.6935 +v 0.2667 -0.4247 0.6887 +v 0.0905 -0.4247 0.1653 +v 0.1606 -0.4247 0.3351 +v 0.0937 0.1029 0.3595 +v 0.1328 0.1029 0.3470 +v 0.0840 0.0176 0.1517 +v 0.0460 0.0176 0.1672 +v 0.2476 -0.4247 0.2770 +v 0.1179 -0.4247 0.1470 +v 1.0341 -0.4247 1.0654 +v 1.0631 -0.4247 1.0365 +v 0.0187 0.4492 1.4846 +v -0.0223 0.4492 1.4845 +v 0.5331 -0.4247 0.5111 +v 0.0636 0.3765 0.7358 +v 0.0310 0.3765 0.7378 +v 0.5100 -0.4247 0.5342 +v 0.1470 -0.4247 0.1181 +v 0.2767 -0.4247 0.2481 +v 0.2243 0.1029 0.2963 +v 0.2555 0.1029 0.2698 +v 0.1357 0.0176 0.1080 +v 0.1066 0.0176 0.1368 +v 0.3349 -0.4247 0.1612 +v 0.1653 -0.4247 0.0907 +v 1.3632 -0.4247 0.5886 +v 1.3789 -0.4247 0.5507 +v 0.5855 0.4492 1.3644 +v 0.5476 0.4492 1.3801 +v 0.6882 -0.4247 0.2682 +v 0.3404 0.3765 0.6554 +v 0.3111 0.3765 0.6698 +v 0.6757 -0.4247 0.2983 +v 0.1810 -0.4247 0.0528 +v 0.3506 -0.4247 0.1233 +# 256 vertices + +vn -0.3474 0.9205 -0.1788 +vn -0.3674 0.9171 -0.1548 +vn -0.3701 -0.3126 0.8748 +vn -0.0012 -0.1457 0.9893 +vn 0.9011 0.4335 0.0011 +vn 0.6364 -0.4335 0.6380 +vn -0.0037 0.5218 -0.8530 +vn 0.4204 0.7742 -0.4731 +vn -0.4361 0.8141 -0.3835 +vn -0.5562 0.7801 -0.2863 +vn -0.3799 -0.5434 0.7486 +vn 0.0097 -0.3012 0.9535 +vn 0.4502 0.1569 -0.8790 +vn 0.0012 0.3096 -0.9509 +vn 0.0120 0.3101 -0.9506 +vn 0.4044 0.5398 -0.7383 +vn -0.0682 0.9953 -0.0684 +vn -0.0732 0.9952 -0.0644 +vn -0.4238 -0.7761 0.4670 +vn -0.0058 -0.5171 0.8559 +vn -0.9989 -0.0467 -0.0012 +vn -0.9214 -0.0192 -0.3882 +vn 0.0000 -1.0000 -0.0000 +vn 0.2981 0.9205 -0.2525 +vn 0.2836 0.9171 -0.2802 +vn -0.6666 -0.3126 -0.6767 +vn -0.9136 -0.1457 -0.3797 +vn -0.3459 0.4335 0.8321 +vn -0.8330 -0.4335 0.3438 +vn 0.7895 0.5218 0.3230 +vn 0.2762 0.7742 0.5694 +vn 0.5212 0.8141 -0.2562 +vn 0.4774 0.7801 -0.4043 +vn -0.5463 -0.5434 -0.6374 +vn -0.8846 -0.3012 -0.3559 +vn 0.6398 0.1569 0.7524 +vn 0.8781 0.3096 0.3650 +vn 0.8737 0.3101 0.3749 +vn 0.5274 0.5398 0.6562 +vn 0.0893 0.9953 -0.0369 +vn 0.0875 0.9952 -0.0430 +vn -0.2693 -0.7761 -0.5702 +vn -0.7885 -0.5171 -0.3329 +vn 0.3834 -0.0467 -0.9224 +vn 0.7113 -0.0192 -0.7027 +vn -0.3894 0.9205 -0.0323 +vn -0.3986 0.9171 -0.0024 +vn -0.0072 -0.3126 0.9498 +vn 0.3775 -0.1457 0.9145 +vn 0.8330 0.4335 -0.3438 +vn 0.8321 -0.4335 0.3459 +vn -0.3299 0.5218 -0.7867 +vn 0.2073 0.7742 -0.5980 +vn -0.5497 0.8141 -0.1874 +vn -0.6235 0.7801 -0.0517 +vn -0.0645 -0.5434 0.8370 +vn 0.3739 -0.3012 0.8772 +vn 0.0796 0.1569 -0.9844 +vn -0.3628 0.3096 -0.8789 +vn -0.3527 0.3101 -0.8828 +vn 0.0911 0.5398 -0.8369 +vn -0.0892 0.9953 -0.0371 +vn -0.0923 0.9952 -0.0315 +vn -0.2128 -0.7761 0.5936 +vn 0.3221 -0.5171 0.7930 +vn -0.9233 -0.0467 0.3811 +vn -0.9998 -0.0192 -0.0061 +vn -0.3721 0.9205 0.1192 +vn -0.3692 0.9171 0.1503 +vn 0.3568 -0.3126 0.8803 +vn 0.6987 -0.1457 0.7004 +vn 0.6380 0.4335 -0.6364 +vn 0.9011 -0.4335 0.0011 +vn -0.6058 0.5218 -0.6005 +vn -0.0373 0.7742 -0.6318 +vn -0.5796 0.8141 0.0372 +vn -0.5958 0.7801 0.1908 +vn 0.2607 -0.5434 0.7980 +vn 0.6811 -0.3012 0.6674 +vn -0.3032 0.1569 -0.9399 +vn -0.6716 0.3096 -0.6732 +vn -0.6637 0.3101 -0.6807 +vn -0.2361 0.5398 -0.8080 +vn -0.0966 0.9953 -0.0001 +vn -0.0973 0.9952 0.0062 +vn 0.0306 -0.7761 0.6299 +vn 0.6011 -0.5171 0.6093 +vn -0.7072 -0.0467 0.7055 +vn -0.9260 -0.0192 0.3770 +vn -0.2981 0.9205 0.2525 +vn -0.2836 0.9171 0.2802 +vn 0.6666 -0.3126 0.6767 +vn 0.9136 -0.1457 0.3797 +vn 0.3459 0.4335 -0.8321 +vn 0.8330 -0.4335 -0.3438 +vn -0.7895 0.5218 -0.3230 +vn -0.2762 0.7742 -0.5694 +vn -0.5212 0.8141 0.2562 +vn -0.4774 0.7801 0.4043 +vn 0.5463 -0.5434 0.6374 +vn 0.8846 -0.3012 0.3559 +vn -0.6398 0.1569 -0.7524 +vn -0.8781 0.3096 -0.3650 +vn -0.8737 0.3101 -0.3749 +vn -0.5274 0.5398 -0.6562 +vn -0.0893 0.9953 0.0369 +vn -0.0875 0.9952 0.0430 +vn 0.2693 -0.7761 0.5702 +vn 0.7885 -0.5171 0.3329 +vn -0.3834 -0.0467 0.9224 +vn -0.7113 -0.0192 0.7027 +vn -0.1788 0.9205 0.3474 +vn -0.1548 0.9171 0.3674 +vn 0.8748 -0.3126 0.3701 +vn 0.9893 -0.1457 0.0012 +vn 0.0011 0.4335 -0.9011 +vn 0.6380 -0.4335 -0.6364 +vn -0.8530 0.5218 0.0037 +vn -0.4731 0.7742 -0.4204 +vn -0.3835 0.8141 0.4361 +vn -0.2863 0.7801 0.5562 +vn 0.7486 -0.5434 0.3799 +vn 0.9535 -0.3012 -0.0097 +vn -0.8790 0.1569 -0.4502 +vn -0.9509 0.3096 -0.0012 +vn -0.9506 0.3101 -0.0120 +vn -0.7383 0.5398 -0.4044 +vn -0.0684 0.9953 0.0682 +vn -0.0644 0.9952 0.0732 +vn 0.4670 -0.7761 0.4238 +vn 0.8559 -0.5171 0.0058 +vn -0.0012 -0.0467 0.9989 +vn -0.3882 -0.0192 0.9214 +vn -0.0323 0.9205 0.3894 +vn -0.0024 0.9171 0.3986 +vn 0.9498 -0.3126 0.0072 +vn 0.9145 -0.1457 -0.3775 +vn -0.3438 0.4335 -0.8330 +vn 0.3459 -0.4335 -0.8321 +vn -0.7867 0.5218 0.3299 +vn -0.5980 0.7742 -0.2073 +vn -0.1874 0.8141 0.5497 +vn -0.0517 0.7801 0.6235 +vn 0.8370 -0.5434 0.0645 +vn 0.8772 -0.3012 -0.3739 +vn -0.9844 0.1569 -0.0796 +vn -0.8789 0.3096 0.3628 +vn -0.8828 0.3101 0.3527 +vn -0.8369 0.5398 -0.0911 +vn -0.0371 0.9953 0.0892 +vn -0.0315 0.9952 0.0923 +vn 0.5936 -0.7761 0.2128 +vn 0.7930 -0.5171 -0.3221 +vn 0.3811 -0.0467 0.9233 +vn -0.0061 -0.0192 0.9998 +vn 0.1192 0.9205 0.3721 +vn 0.1503 0.9171 0.3692 +vn 0.8803 -0.3126 -0.3568 +vn 0.7004 -0.1457 -0.6987 +vn -0.6364 0.4335 -0.6380 +vn 0.0011 -0.4335 -0.9011 +vn -0.6005 0.5218 0.6058 +vn -0.6318 0.7742 0.0373 +vn 0.0372 0.8141 0.5796 +vn 0.1908 0.7801 0.5958 +vn 0.7980 -0.5434 -0.2607 +vn 0.6674 -0.3012 -0.6811 +vn -0.9399 0.1569 0.3032 +vn -0.6732 0.3096 0.6716 +vn -0.6807 0.3101 0.6637 +vn -0.8080 0.5398 0.2361 +vn -0.0001 0.9953 0.0966 +vn 0.0062 0.9952 0.0973 +vn 0.6299 -0.7761 -0.0306 +vn 0.6093 -0.5171 -0.6011 +vn 0.7055 -0.0467 0.7072 +vn 0.3770 -0.0192 0.9260 +vn 0.2525 0.9205 0.2981 +vn 0.2802 0.9171 0.2836 +vn 0.6767 -0.3126 -0.6666 +vn 0.3797 -0.1457 -0.9136 +vn -0.8321 0.4335 -0.3459 +vn -0.3438 -0.4335 -0.8330 +vn -0.3230 0.5218 0.7895 +vn -0.5694 0.7742 0.2762 +vn 0.2562 0.8141 0.5212 +vn 0.4043 0.7801 0.4774 +vn 0.6374 -0.5434 -0.5463 +vn 0.3559 -0.3012 -0.8846 +vn -0.7524 0.1569 0.6398 +vn -0.3650 0.3096 0.8781 +vn -0.3749 0.3101 0.8737 +vn -0.6562 0.5398 0.5274 +vn 0.0369 0.9953 0.0893 +vn 0.0430 0.9952 0.0875 +vn 0.5702 -0.7761 -0.2693 +vn 0.3329 -0.5171 -0.7885 +vn 0.9224 -0.0467 0.3834 +vn 0.7027 -0.0192 0.7113 +vn 0.3474 0.9205 0.1788 +vn 0.3674 0.9171 0.1548 +vn 0.3701 -0.3126 -0.8748 +vn 0.0012 -0.1457 -0.9893 +vn -0.9011 0.4335 -0.0011 +vn -0.6364 -0.4335 -0.6380 +vn 0.0037 0.5218 0.8530 +vn -0.4204 0.7742 0.4731 +vn 0.4361 0.8141 0.3835 +vn 0.5562 0.7801 0.2863 +vn 0.3799 -0.5434 -0.7486 +vn -0.0097 -0.3012 -0.9535 +vn -0.4502 0.1569 0.8790 +vn -0.0012 0.3096 0.9509 +vn -0.0120 0.3101 0.9506 +vn -0.4044 0.5398 0.7383 +vn 0.0682 0.9953 0.0684 +vn 0.0732 0.9952 0.0644 +vn 0.4238 -0.7761 -0.4670 +vn 0.0058 -0.5171 -0.8559 +vn 0.9989 -0.0467 0.0012 +vn 0.9214 -0.0192 0.3882 +vn 0.3894 0.9205 0.0323 +vn 0.3986 0.9171 0.0024 +vn 0.0072 -0.3126 -0.9498 +vn -0.3775 -0.1457 -0.9145 +vn -0.8330 0.4335 0.3438 +vn -0.8321 -0.4335 -0.3459 +vn 0.3299 0.5218 0.7867 +vn -0.2073 0.7742 0.5980 +vn 0.5497 0.8141 0.1874 +vn 0.6235 0.7801 0.0517 +vn 0.0645 -0.5434 -0.8370 +vn -0.3739 -0.3012 -0.8772 +vn -0.0796 0.1569 0.9844 +vn 0.3628 0.3096 0.8789 +vn 0.3527 0.3101 0.8828 +vn -0.0911 0.5398 0.8369 +vn 0.0892 0.9953 0.0371 +vn 0.0923 0.9952 0.0315 +vn 0.2128 -0.7761 -0.5936 +vn -0.3221 -0.5171 -0.7930 +vn 0.9233 -0.0467 -0.3811 +vn 0.9998 -0.0192 0.0061 +vn 0.3721 0.9205 -0.1192 +vn 0.3692 0.9171 -0.1503 +vn -0.3568 -0.3126 -0.8803 +vn -0.6987 -0.1457 -0.7004 +vn -0.6380 0.4335 0.6364 +vn -0.9011 -0.4335 -0.0011 +vn 0.6058 0.5218 0.6005 +vn 0.0373 0.7742 0.6318 +vn 0.5796 0.8141 -0.0372 +vn 0.5958 0.7801 -0.1908 +vn -0.2607 -0.5434 -0.7980 +vn -0.6811 -0.3012 -0.6674 +vn 0.3032 0.1569 0.9399 +vn 0.6716 0.3096 0.6732 +vn 0.6637 0.3101 0.6807 +vn 0.2361 0.5398 0.8080 +vn 0.0966 0.9953 0.0001 +vn 0.0973 0.9952 -0.0062 +vn -0.0306 -0.7761 -0.6299 +vn -0.6011 -0.5171 -0.6093 +vn 0.7072 -0.0467 -0.7055 +vn 0.9260 -0.0192 -0.3770 +vn 0.1788 0.9205 -0.3474 +vn 0.1548 0.9171 -0.3674 +vn -0.8748 -0.3126 -0.3701 +vn -0.9893 -0.1457 -0.0012 +vn -0.0011 0.4335 0.9011 +vn -0.6380 -0.4335 0.6364 +vn 0.8530 0.5218 -0.0037 +vn 0.4731 0.7742 0.4204 +vn 0.3835 0.8141 -0.4361 +vn 0.2863 0.7801 -0.5562 +vn -0.7486 -0.5434 -0.3799 +vn -0.9535 -0.3012 0.0097 +vn 0.8790 0.1569 0.4502 +vn 0.9509 0.3096 0.0012 +vn 0.9506 0.3101 0.0120 +vn 0.7383 0.5398 0.4044 +vn 0.0684 0.9953 -0.0682 +vn 0.0644 0.9952 -0.0732 +vn -0.4670 -0.7761 -0.4238 +vn -0.8559 -0.5171 -0.0058 +vn 0.0012 -0.0467 -0.9989 +vn 0.3882 -0.0192 -0.9214 +vn 0.0323 0.9205 -0.3894 +vn 0.0024 0.9171 -0.3986 +vn -0.9498 -0.3126 -0.0072 +vn -0.9145 -0.1457 0.3775 +vn 0.3438 0.4335 0.8330 +vn -0.3459 -0.4335 0.8321 +vn 0.7867 0.5218 -0.3299 +vn 0.5980 0.7742 0.2073 +vn 0.1874 0.8141 -0.5497 +vn 0.0517 0.7801 -0.6235 +vn -0.8370 -0.5434 -0.0645 +vn -0.8772 -0.3012 0.3739 +vn 0.9844 0.1569 0.0796 +vn 0.8789 0.3096 -0.3628 +vn 0.8828 0.3101 -0.3527 +vn 0.8369 0.5398 0.0911 +vn 0.0371 0.9953 -0.0892 +vn 0.0315 0.9952 -0.0923 +vn -0.5936 -0.7761 -0.2128 +vn -0.7930 -0.5171 0.3221 +vn -0.3811 -0.0467 -0.9233 +vn 0.0061 -0.0192 -0.9998 +vn -0.1192 0.9205 -0.3721 +vn -0.1503 0.9171 -0.3692 +vn -0.8803 -0.3126 0.3568 +vn -0.7004 -0.1457 0.6987 +vn 0.6364 0.4335 0.6380 +vn -0.0011 -0.4335 0.9011 +vn 0.6005 0.5218 -0.6058 +vn 0.6318 0.7742 -0.0373 +vn -0.0372 0.8141 -0.5796 +vn -0.1908 0.7801 -0.5958 +vn -0.7980 -0.5434 0.2607 +vn -0.6674 -0.3012 0.6811 +vn 0.9399 0.1569 -0.3032 +vn 0.6732 0.3096 -0.6716 +vn 0.6807 0.3101 -0.6637 +vn 0.8080 0.5398 -0.2361 +vn 0.0001 0.9953 -0.0966 +vn -0.0062 0.9952 -0.0973 +vn -0.6299 -0.7761 0.0306 +vn -0.6093 -0.5171 0.6011 +vn -0.7055 -0.0467 -0.7072 +vn -0.3770 -0.0192 -0.9260 +vn -0.2525 0.9205 -0.2981 +vn -0.2802 0.9171 -0.2836 +vn -0.6767 -0.3126 0.6666 +vn -0.3797 -0.1457 0.9136 +vn 0.8321 0.4335 0.3459 +vn 0.3438 -0.4335 0.8330 +vn 0.3230 0.5218 -0.7895 +vn 0.5694 0.7742 -0.2762 +vn -0.2562 0.8141 -0.5212 +vn -0.4043 0.7801 -0.4774 +vn -0.6374 -0.5434 0.5463 +vn -0.3559 -0.3012 0.8846 +vn 0.7524 0.1569 -0.6398 +vn 0.3650 0.3096 -0.8781 +vn 0.3749 0.3101 -0.8737 +vn 0.6562 0.5398 -0.5274 +vn -0.0369 0.9953 -0.0893 +vn -0.0430 0.9952 -0.0875 +vn -0.5702 -0.7761 0.2693 +vn -0.3329 -0.5171 0.7885 +vn -0.9224 -0.0467 -0.3834 +vn -0.7027 -0.0192 -0.7113 +# 353 vertex normals + +vt 0.1028 0.4836 0.6059 +vt 0.1028 0.5164 0.6059 +vt -0.0562 0.5164 0.5070 +vt -0.0562 0.4836 0.5070 +vt 0.1028 -0.0057 0.4836 +vt 0.1028 0.6059 0.4836 +vt -0.0562 0.5070 0.4836 +vt -0.0441 -0.0057 0.4836 +vt 0.4836 -0.0057 0.9935 +vt 0.5164 -0.0057 0.9935 +vt 0.5164 1.0072 0.9935 +vt 0.4836 1.0072 0.9935 +vt 0.0065 -0.0057 0.5164 +vt 0.6034 -0.0057 0.5130 +vt 0.6034 0.9230 0.5130 +vt 0.0065 1.0072 0.5164 +vt 0.3966 0.4870 0.9230 +vt 0.3966 0.5130 0.9230 +vt 0.3966 -0.0057 0.4870 +vt 0.3966 0.9230 0.4870 +vt 1.0441 -0.0057 0.5164 +vt 1.0562 0.5070 0.5164 +vt 0.8972 0.6059 0.5164 +vt 0.8972 -0.0057 0.5164 +vt 0.9935 0.4836 1.0072 +vt 0.9935 0.5164 1.0072 +vt 0.9935 -0.0057 0.4836 +vt 0.9935 1.0072 0.4836 +vt 0.4836 0.5070 -0.0562 +vt 0.4836 -0.0057 -0.0441 +vt 0.5164 -0.0057 -0.0441 +vt 0.5164 0.5070 -0.0562 +vt 1.0441 0.5164 -0.0057 +vt 0.8972 0.5164 -0.0057 +vt 0.8972 0.4836 -0.0057 +vt 1.0441 0.4836 -0.0057 +vt 0.6034 0.5130 -0.0057 +vt 0.6034 0.4870 -0.0057 +vt 0.0065 0.5164 -0.0057 +vt 0.0065 0.4836 -0.0057 +# 40 texture coords + +g turbine_blades +f 1/1/1 2/2/1 3/3/1 +f 3/3/2 4/4/2 1/1/2 +f 5/5/3 1/6/3 4/7/3 +f 4/7/4 6/8/4 5/5/4 +f 7/9/5 8/10/5 9/11/5 +f 9/11/6 10/12/6 7/9/6 +f 8/13/7 11/14/7 12/15/7 +f 12/15/8 9/16/8 8/13/8 +f 13/17/9 12/18/9 2/2/9 +f 2/2/10 1/1/10 13/17/10 +f 14/19/11 13/20/11 1/6/11 +f 1/6/12 5/5/12 14/19/12 +f 15/21/13 3/22/13 2/23/13 +f 2/23/14 16/24/14 15/21/14 +f 11/14/15 16/24/15 2/23/15 +f 2/23/16 12/15/16 11/14/16 +f 10/25/17 9/26/17 12/18/17 +f 12/18/18 13/17/18 10/25/18 +f 7/27/19 10/28/19 13/20/19 +f 13/20/20 14/19/20 7/27/20 +f 3/29/21 15/30/21 6/31/21 +f 6/31/22 4/32/22 3/29/22 +f 15/33/23 16/34/23 5/35/23 +f 5/35/23 6/36/23 15/33/23 +f 11/37/23 14/38/23 5/35/23 +f 5/35/23 16/34/23 11/37/23 +f 8/39/23 7/40/23 14/38/23 +f 14/38/23 11/37/23 8/39/23 +f 17/1/24 18/2/24 19/3/24 +f 19/3/25 20/4/25 17/1/25 +f 21/5/26 17/6/26 20/7/26 +f 20/7/27 22/8/27 21/5/27 +f 23/9/28 24/10/28 25/11/28 +f 25/11/29 26/12/29 23/9/29 +f 24/13/30 27/14/30 28/15/30 +f 28/15/31 25/16/31 24/13/31 +f 29/17/32 28/18/32 18/2/32 +f 18/2/33 17/1/33 29/17/33 +f 30/19/34 29/20/34 17/6/34 +f 17/6/35 21/5/35 30/19/35 +f 31/21/36 19/22/36 18/23/36 +f 18/23/37 32/24/37 31/21/37 +f 27/14/38 32/24/38 18/23/38 +f 18/23/39 28/15/39 27/14/39 +f 26/25/40 25/26/40 28/18/40 +f 28/18/41 29/17/41 26/25/41 +f 23/27/42 26/28/42 29/20/42 +f 29/20/43 30/19/43 23/27/43 +f 19/29/44 31/30/44 22/31/44 +f 22/31/45 20/32/45 19/29/45 +f 31/33/23 32/34/23 21/35/23 +f 21/35/23 22/36/23 31/33/23 +f 27/37/23 30/38/23 21/35/23 +f 21/35/23 32/34/23 27/37/23 +f 24/39/23 23/40/23 30/38/23 +f 30/38/23 27/37/23 24/39/23 +f 1/1/1 2/2/1 3/3/1 +f 3/3/2 4/4/2 1/1/2 +f 5/5/3 1/6/3 4/7/3 +f 4/7/4 6/8/4 5/5/4 +f 7/9/5 8/10/5 9/11/5 +f 9/11/6 10/12/6 7/9/6 +f 8/13/7 11/14/7 12/15/7 +f 12/15/8 9/16/8 8/13/8 +f 13/17/9 12/18/9 2/2/9 +f 2/2/10 1/1/10 13/17/10 +f 14/19/11 13/20/11 1/6/11 +f 1/6/12 5/5/12 14/19/12 +f 15/21/13 3/22/13 2/23/13 +f 2/23/14 16/24/14 15/21/14 +f 11/14/15 16/24/15 2/23/15 +f 2/23/16 12/15/16 11/14/16 +f 10/25/17 9/26/17 12/18/17 +f 12/18/18 13/17/18 10/25/18 +f 7/27/19 10/28/19 13/20/19 +f 13/20/20 14/19/20 7/27/20 +f 3/29/21 15/30/21 6/31/21 +f 6/31/22 4/32/22 3/29/22 +f 15/33/23 16/34/23 5/35/23 +f 5/35/23 6/36/23 15/33/23 +f 11/37/23 14/38/23 5/35/23 +f 5/35/23 16/34/23 11/37/23 +f 8/39/23 7/40/23 14/38/23 +f 14/38/23 11/37/23 8/39/23 +f 33/1/46 34/2/46 35/3/46 +f 35/3/47 36/4/47 33/1/47 +f 37/5/48 33/6/48 36/7/48 +f 36/7/49 38/8/49 37/5/49 +f 39/9/50 40/10/50 41/11/50 +f 41/11/51 42/12/51 39/9/51 +f 40/13/52 43/14/52 44/15/52 +f 44/15/53 41/16/53 40/13/53 +f 45/17/54 44/18/54 34/2/54 +f 34/2/55 33/1/55 45/17/55 +f 46/19/56 45/20/56 33/6/56 +f 33/6/57 37/5/57 46/19/57 +f 47/21/58 35/22/58 34/23/58 +f 34/23/59 48/24/59 47/21/59 +f 43/14/60 48/24/60 34/23/60 +f 34/23/61 44/15/61 43/14/61 +f 42/25/62 41/26/62 44/18/62 +f 44/18/63 45/17/63 42/25/63 +f 39/27/64 42/28/64 45/20/64 +f 45/20/65 46/19/65 39/27/65 +f 35/29/66 47/30/66 38/31/66 +f 38/31/67 36/32/67 35/29/67 +f 47/33/23 48/34/23 37/35/23 +f 37/35/23 38/36/23 47/33/23 +f 43/37/23 46/38/23 37/35/23 +f 37/35/23 48/34/23 43/37/23 +f 40/39/23 39/40/23 46/38/23 +f 46/38/23 43/37/23 40/39/23 +f 49/1/68 50/2/68 51/3/68 +f 51/3/69 52/4/69 49/1/69 +f 53/5/70 49/6/70 52/7/70 +f 52/7/71 54/8/71 53/5/71 +f 55/9/72 56/10/72 57/11/72 +f 57/11/73 58/12/73 55/9/73 +f 56/13/74 59/14/74 60/15/74 +f 60/15/75 57/16/75 56/13/75 +f 61/17/76 60/18/76 50/2/76 +f 50/2/77 49/1/77 61/17/77 +f 62/19/78 61/20/78 49/6/78 +f 49/6/79 53/5/79 62/19/79 +f 63/21/80 51/22/80 50/23/80 +f 50/23/81 64/24/81 63/21/81 +f 59/14/82 64/24/82 50/23/82 +f 50/23/83 60/15/83 59/14/83 +f 58/25/84 57/26/84 60/18/84 +f 60/18/85 61/17/85 58/25/85 +f 55/27/86 58/28/86 61/20/86 +f 61/20/87 62/19/87 55/27/87 +f 51/29/88 63/30/88 54/31/88 +f 54/31/89 52/32/89 51/29/89 +f 63/33/23 64/34/23 53/35/23 +f 53/35/23 54/36/23 63/33/23 +f 59/37/23 62/38/23 53/35/23 +f 53/35/23 64/34/23 59/37/23 +f 56/39/23 55/40/23 62/38/23 +f 62/38/23 59/37/23 56/39/23 +f 65/1/90 66/2/90 67/3/90 +f 67/3/91 68/4/91 65/1/91 +f 69/5/92 65/6/92 68/7/92 +f 68/7/93 70/8/93 69/5/93 +f 71/9/94 72/10/94 73/11/94 +f 73/11/95 74/12/95 71/9/95 +f 72/13/96 75/14/96 76/15/96 +f 76/15/97 73/16/97 72/13/97 +f 77/17/98 76/18/98 66/2/98 +f 66/2/99 65/1/99 77/17/99 +f 78/19/100 77/20/100 65/6/100 +f 65/6/101 69/5/101 78/19/101 +f 79/21/102 67/22/102 66/23/102 +f 66/23/103 80/24/103 79/21/103 +f 75/14/104 80/24/104 66/23/104 +f 66/23/105 76/15/105 75/14/105 +f 74/25/106 73/26/106 76/18/106 +f 76/18/107 77/17/107 74/25/107 +f 71/27/108 74/28/108 77/20/108 +f 77/20/109 78/19/109 71/27/109 +f 67/29/110 79/30/110 70/31/110 +f 70/31/111 68/32/111 67/29/111 +f 79/33/23 80/34/23 69/35/23 +f 69/35/23 70/36/23 79/33/23 +f 75/37/23 78/38/23 69/35/23 +f 69/35/23 80/34/23 75/37/23 +f 72/39/23 71/40/23 78/38/23 +f 78/38/23 75/37/23 72/39/23 +f 81/1/112 82/2/112 83/3/112 +f 83/3/113 84/4/113 81/1/113 +f 85/5/114 81/6/114 84/7/114 +f 84/7/115 86/8/115 85/5/115 +f 87/9/116 88/10/116 89/11/116 +f 89/11/117 90/12/117 87/9/117 +f 88/13/118 91/14/118 92/15/118 +f 92/15/119 89/16/119 88/13/119 +f 93/17/120 92/18/120 82/2/120 +f 82/2/121 81/1/121 93/17/121 +f 94/19/122 93/20/122 81/6/122 +f 81/6/123 85/5/123 94/19/123 +f 95/21/124 83/22/124 82/23/124 +f 82/23/125 96/24/125 95/21/125 +f 91/14/126 96/24/126 82/23/126 +f 82/23/127 92/15/127 91/14/127 +f 90/25/128 89/26/128 92/18/128 +f 92/18/129 93/17/129 90/25/129 +f 87/27/130 90/28/130 93/20/130 +f 93/20/131 94/19/131 87/27/131 +f 83/29/132 95/30/132 86/31/132 +f 86/31/133 84/32/133 83/29/133 +f 95/33/23 96/34/23 85/35/23 +f 85/35/23 86/36/23 95/33/23 +f 91/37/23 94/38/23 85/35/23 +f 85/35/23 96/34/23 91/37/23 +f 88/39/23 87/40/23 94/38/23 +f 94/38/23 91/37/23 88/39/23 +f 97/1/134 98/2/134 99/3/134 +f 99/3/135 100/4/135 97/1/135 +f 101/5/136 97/6/136 100/7/136 +f 100/7/137 102/8/137 101/5/137 +f 103/9/138 104/10/138 105/11/138 +f 105/11/139 106/12/139 103/9/139 +f 104/13/140 107/14/140 108/15/140 +f 108/15/141 105/16/141 104/13/141 +f 109/17/142 108/18/142 98/2/142 +f 98/2/143 97/1/143 109/17/143 +f 110/19/144 109/20/144 97/6/144 +f 97/6/145 101/5/145 110/19/145 +f 111/21/146 99/22/146 98/23/146 +f 98/23/147 112/24/147 111/21/147 +f 107/14/148 112/24/148 98/23/148 +f 98/23/149 108/15/149 107/14/149 +f 106/25/150 105/26/150 108/18/150 +f 108/18/151 109/17/151 106/25/151 +f 103/27/152 106/28/152 109/20/152 +f 109/20/153 110/19/153 103/27/153 +f 99/29/154 111/30/154 102/31/154 +f 102/31/155 100/32/155 99/29/155 +f 111/33/23 112/34/23 101/35/23 +f 101/35/23 102/36/23 111/33/23 +f 107/37/23 110/38/23 101/35/23 +f 101/35/23 112/34/23 107/37/23 +f 104/39/23 103/40/23 110/38/23 +f 110/38/23 107/37/23 104/39/23 +f 113/1/156 114/2/156 115/3/156 +f 115/3/157 116/4/157 113/1/157 +f 117/5/158 113/6/158 116/7/158 +f 116/7/159 118/8/159 117/5/159 +f 119/9/160 120/10/160 121/11/160 +f 121/11/161 122/12/161 119/9/161 +f 120/13/162 123/14/162 124/15/162 +f 124/15/163 121/16/163 120/13/163 +f 125/17/164 124/18/164 114/2/164 +f 114/2/165 113/1/165 125/17/165 +f 126/19/166 125/20/166 113/6/166 +f 113/6/167 117/5/167 126/19/167 +f 127/21/168 115/22/168 114/23/168 +f 114/23/169 128/24/169 127/21/169 +f 123/14/170 128/24/170 114/23/170 +f 114/23/171 124/15/171 123/14/171 +f 122/25/172 121/26/172 124/18/172 +f 124/18/173 125/17/173 122/25/173 +f 119/27/174 122/28/174 125/20/174 +f 125/20/175 126/19/175 119/27/175 +f 115/29/176 127/30/176 118/31/176 +f 118/31/177 116/32/177 115/29/177 +f 127/33/23 128/34/23 117/35/23 +f 117/35/23 118/36/23 127/33/23 +f 123/37/23 126/38/23 117/35/23 +f 117/35/23 128/34/23 123/37/23 +f 120/39/23 119/40/23 126/38/23 +f 126/38/23 123/37/23 120/39/23 +f 129/1/178 130/2/178 131/3/178 +f 131/3/179 132/4/179 129/1/179 +f 133/5/180 129/6/180 132/7/180 +f 132/7/181 134/8/181 133/5/181 +f 135/9/182 136/10/182 137/11/182 +f 137/11/183 138/12/183 135/9/183 +f 136/13/184 139/14/184 140/15/184 +f 140/15/185 137/16/185 136/13/185 +f 141/17/186 140/18/186 130/2/186 +f 130/2/187 129/1/187 141/17/187 +f 142/19/188 141/20/188 129/6/188 +f 129/6/189 133/5/189 142/19/189 +f 143/21/190 131/22/190 130/23/190 +f 130/23/191 144/24/191 143/21/191 +f 139/14/192 144/24/192 130/23/192 +f 130/23/193 140/15/193 139/14/193 +f 138/25/194 137/26/194 140/18/194 +f 140/18/195 141/17/195 138/25/195 +f 135/27/196 138/28/196 141/20/196 +f 141/20/197 142/19/197 135/27/197 +f 131/29/198 143/30/198 134/31/198 +f 134/31/199 132/32/199 131/29/199 +f 143/33/23 144/34/23 133/35/23 +f 133/35/23 134/36/23 143/33/23 +f 139/37/23 142/38/23 133/35/23 +f 133/35/23 144/34/23 139/37/23 +f 136/39/23 135/40/23 142/38/23 +f 142/38/23 139/37/23 136/39/23 +f 145/1/200 146/2/200 147/3/200 +f 147/3/201 148/4/201 145/1/201 +f 149/5/202 145/6/202 148/7/202 +f 148/7/203 150/8/203 149/5/203 +f 151/9/204 152/10/204 153/11/204 +f 153/11/205 154/12/205 151/9/205 +f 152/13/206 155/14/206 156/15/206 +f 156/15/207 153/16/207 152/13/207 +f 157/17/208 156/18/208 146/2/208 +f 146/2/209 145/1/209 157/17/209 +f 158/19/210 157/20/210 145/6/210 +f 145/6/211 149/5/211 158/19/211 +f 159/21/212 147/22/212 146/23/212 +f 146/23/213 160/24/213 159/21/213 +f 155/14/214 160/24/214 146/23/214 +f 146/23/215 156/15/215 155/14/215 +f 154/25/216 153/26/216 156/18/216 +f 156/18/217 157/17/217 154/25/217 +f 151/27/218 154/28/218 157/20/218 +f 157/20/219 158/19/219 151/27/219 +f 147/29/220 159/30/220 150/31/220 +f 150/31/221 148/32/221 147/29/221 +f 159/33/23 160/34/23 149/35/23 +f 149/35/23 150/36/23 159/33/23 +f 155/37/23 158/38/23 149/35/23 +f 149/35/23 160/34/23 155/37/23 +f 152/39/23 151/40/23 158/38/23 +f 158/38/23 155/37/23 152/39/23 +f 161/1/222 162/2/222 163/3/222 +f 163/3/223 164/4/223 161/1/223 +f 165/5/224 161/6/224 164/7/224 +f 164/7/225 166/8/225 165/5/225 +f 167/9/226 168/10/226 169/11/226 +f 169/11/227 170/12/227 167/9/227 +f 168/13/228 171/14/228 172/15/228 +f 172/15/229 169/16/229 168/13/229 +f 173/17/230 172/18/230 162/2/230 +f 162/2/231 161/1/231 173/17/231 +f 174/19/232 173/20/232 161/6/232 +f 161/6/233 165/5/233 174/19/233 +f 175/21/234 163/22/234 162/23/234 +f 162/23/235 176/24/235 175/21/235 +f 171/14/236 176/24/236 162/23/236 +f 162/23/237 172/15/237 171/14/237 +f 170/25/238 169/26/238 172/18/238 +f 172/18/239 173/17/239 170/25/239 +f 167/27/240 170/28/240 173/20/240 +f 173/20/241 174/19/241 167/27/241 +f 163/29/242 175/30/242 166/31/242 +f 166/31/243 164/32/243 163/29/243 +f 175/33/23 176/34/23 165/35/23 +f 165/35/23 166/36/23 175/33/23 +f 171/37/23 174/38/23 165/35/23 +f 165/35/23 176/34/23 171/37/23 +f 168/39/23 167/40/23 174/38/23 +f 174/38/23 171/37/23 168/39/23 +f 177/1/244 178/2/244 179/3/244 +f 179/3/245 180/4/245 177/1/245 +f 181/5/246 177/6/246 180/7/246 +f 180/7/247 182/8/247 181/5/247 +f 183/9/248 184/10/248 185/11/248 +f 185/11/249 186/12/249 183/9/249 +f 184/13/250 187/14/250 188/15/250 +f 188/15/251 185/16/251 184/13/251 +f 189/17/252 188/18/252 178/2/252 +f 178/2/253 177/1/253 189/17/253 +f 190/19/254 189/20/254 177/6/254 +f 177/6/255 181/5/255 190/19/255 +f 191/21/256 179/22/256 178/23/256 +f 178/23/257 192/24/257 191/21/257 +f 187/14/258 192/24/258 178/23/258 +f 178/23/259 188/15/259 187/14/259 +f 186/25/260 185/26/260 188/18/260 +f 188/18/261 189/17/261 186/25/261 +f 183/27/262 186/28/262 189/20/262 +f 189/20/263 190/19/263 183/27/263 +f 179/29/264 191/30/264 182/31/264 +f 182/31/265 180/32/265 179/29/265 +f 191/33/23 192/34/23 181/35/23 +f 181/35/23 182/36/23 191/33/23 +f 187/37/23 190/38/23 181/35/23 +f 181/35/23 192/34/23 187/37/23 +f 184/39/23 183/40/23 190/38/23 +f 190/38/23 187/37/23 184/39/23 +f 193/1/266 194/2/266 195/3/266 +f 195/3/267 196/4/267 193/1/267 +f 197/5/268 193/6/268 196/7/268 +f 196/7/269 198/8/269 197/5/269 +f 199/9/270 200/10/270 201/11/270 +f 201/11/271 202/12/271 199/9/271 +f 200/13/272 203/14/272 204/15/272 +f 204/15/273 201/16/273 200/13/273 +f 205/17/274 204/18/274 194/2/274 +f 194/2/275 193/1/275 205/17/275 +f 206/19/276 205/20/276 193/6/276 +f 193/6/277 197/5/277 206/19/277 +f 207/21/278 195/22/278 194/23/278 +f 194/23/279 208/24/279 207/21/279 +f 203/14/280 208/24/280 194/23/280 +f 194/23/281 204/15/281 203/14/281 +f 202/25/282 201/26/282 204/18/282 +f 204/18/283 205/17/283 202/25/283 +f 199/27/284 202/28/284 205/20/284 +f 205/20/285 206/19/285 199/27/285 +f 195/29/286 207/30/286 198/31/286 +f 198/31/287 196/32/287 195/29/287 +f 207/33/23 208/34/23 197/35/23 +f 197/35/23 198/36/23 207/33/23 +f 203/37/23 206/38/23 197/35/23 +f 197/35/23 208/34/23 203/37/23 +f 200/39/23 199/40/23 206/38/23 +f 206/38/23 203/37/23 200/39/23 +f 209/1/288 210/2/288 211/3/288 +f 211/3/289 212/4/289 209/1/289 +f 213/5/290 209/6/290 212/7/290 +f 212/7/291 214/8/291 213/5/291 +f 215/9/292 216/10/292 217/11/292 +f 217/11/293 218/12/293 215/9/293 +f 216/13/294 219/14/294 220/15/294 +f 220/15/295 217/16/295 216/13/295 +f 221/17/296 220/18/296 210/2/296 +f 210/2/297 209/1/297 221/17/297 +f 222/19/298 221/20/298 209/6/298 +f 209/6/299 213/5/299 222/19/299 +f 223/21/300 211/22/300 210/23/300 +f 210/23/301 224/24/301 223/21/301 +f 219/14/302 224/24/302 210/23/302 +f 210/23/303 220/15/303 219/14/303 +f 218/25/304 217/26/304 220/18/304 +f 220/18/305 221/17/305 218/25/305 +f 215/27/306 218/28/306 221/20/306 +f 221/20/307 222/19/307 215/27/307 +f 211/29/308 223/30/308 214/31/308 +f 214/31/309 212/32/309 211/29/309 +f 223/33/23 224/34/23 213/35/23 +f 213/35/23 214/36/23 223/33/23 +f 219/37/23 222/38/23 213/35/23 +f 213/35/23 224/34/23 219/37/23 +f 216/39/23 215/40/23 222/38/23 +f 222/38/23 219/37/23 216/39/23 +f 225/1/310 226/2/310 227/3/310 +f 227/3/311 228/4/311 225/1/311 +f 229/5/312 225/6/312 228/7/312 +f 228/7/313 230/8/313 229/5/313 +f 231/9/314 232/10/314 233/11/314 +f 233/11/315 234/12/315 231/9/315 +f 232/13/316 235/14/316 236/15/316 +f 236/15/317 233/16/317 232/13/317 +f 237/17/318 236/18/318 226/2/318 +f 226/2/319 225/1/319 237/17/319 +f 238/19/320 237/20/320 225/6/320 +f 225/6/321 229/5/321 238/19/321 +f 239/21/322 227/22/322 226/23/322 +f 226/23/323 240/24/323 239/21/323 +f 235/14/324 240/24/324 226/23/324 +f 226/23/325 236/15/325 235/14/325 +f 234/25/326 233/26/326 236/18/326 +f 236/18/327 237/17/327 234/25/327 +f 231/27/328 234/28/328 237/20/328 +f 237/20/329 238/19/329 231/27/329 +f 227/29/330 239/30/330 230/31/330 +f 230/31/331 228/32/331 227/29/331 +f 239/33/23 240/34/23 229/35/23 +f 229/35/23 230/36/23 239/33/23 +f 235/37/23 238/38/23 229/35/23 +f 229/35/23 240/34/23 235/37/23 +f 232/39/23 231/40/23 238/38/23 +f 238/38/23 235/37/23 232/39/23 +f 241/1/332 242/2/332 243/3/332 +f 243/3/333 244/4/333 241/1/333 +f 245/5/334 241/6/334 244/7/334 +f 244/7/335 246/8/335 245/5/335 +f 247/9/336 248/10/336 249/11/336 +f 249/11/337 250/12/337 247/9/337 +f 248/13/338 251/14/338 252/15/338 +f 252/15/339 249/16/339 248/13/339 +f 253/17/340 252/18/340 242/2/340 +f 242/2/341 241/1/341 253/17/341 +f 254/19/342 253/20/342 241/6/342 +f 241/6/343 245/5/343 254/19/343 +f 255/21/344 243/22/344 242/23/344 +f 242/23/345 256/24/345 255/21/345 +f 251/14/346 256/24/346 242/23/346 +f 242/23/347 252/15/347 251/14/347 +f 250/25/348 249/26/348 252/18/348 +f 252/18/349 253/17/349 250/25/349 +f 247/27/350 250/28/350 253/20/350 +f 253/20/351 254/19/351 247/27/351 +f 243/29/352 255/30/352 246/31/352 +f 246/31/353 244/32/353 243/29/353 +f 255/33/23 256/34/23 245/35/23 +f 245/35/23 246/36/23 255/33/23 +f 251/37/23 254/38/23 245/35/23 +f 245/35/23 256/34/23 251/37/23 +f 248/39/23 247/40/23 254/38/23 +f 254/38/23 251/37/23 248/39/23 +# 476 faces + +# +# object turbine_centre +# + +v 0.0000 -0.4518 -0.2406 +v 0.2286 0.1492 -0.0745 +v 0.2286 -0.4518 -0.0745 +v 0.0000 0.1492 -0.2406 +v 0.1486 0.1492 -0.0485 +v 0.0000 0.1492 -0.1565 +v 0.1486 -0.4518 -0.0485 +v 0.0000 -0.4518 -0.1565 +v 0.1413 0.1492 0.1943 +v 0.1413 -0.4518 0.1943 +v 0.0918 0.1492 0.1262 +v 0.0918 -0.4518 0.1262 +v -0.1413 0.1492 0.1943 +v -0.1413 -0.4518 0.1943 +v -0.0918 0.1492 0.1262 +v -0.0918 -0.4518 0.1262 +v -0.2286 0.1492 -0.0745 +v -0.2286 -0.4518 -0.0745 +v -0.1486 0.1492 -0.0485 +v -0.1486 -0.4518 -0.0485 +# 20 vertices + +vn 0.0000 0.0000 -1.0000 +vn 0.9511 0.0000 -0.3090 +vn -0.0000 1.0000 0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.9511 -0.0000 0.3090 +vn 0.0000 -1.0000 -0.0000 +vn 0.5878 -0.0000 0.8090 +vn -0.5878 0.0000 -0.8090 +vn -0.5878 -0.0000 0.8090 +vn 0.5878 0.0000 -0.8090 +vn -0.9511 0.0000 -0.3090 +vn 0.9511 -0.0000 0.3090 +# 12 vertex normals + +vt 1.0000 0.4911 0.4000 +vt 0.8000 0.9911 0.4000 +vt 0.8000 0.4911 0.4000 +vt 1.0000 0.9911 0.4000 +vt 0.8000 0.9911 0.2600 +vt 1.0000 0.9911 0.2600 +vt 0.8000 0.4911 0.2600 +vt 1.0000 0.4911 0.2600 +vt 0.6000 0.9911 0.4000 +vt 0.6000 0.4911 0.4000 +vt 0.6000 0.9911 0.2600 +vt 0.6000 0.4911 0.2600 +vt 0.4000 0.9911 0.4000 +vt 0.4000 0.4911 0.4000 +vt 0.4000 0.9911 0.2600 +vt 0.4000 0.4911 0.2600 +vt 0.2000 0.9911 0.4000 +vt 0.2000 0.4911 0.4000 +vt 0.2000 0.9911 0.2600 +vt 0.2000 0.4911 0.2600 +vt -0.0000 0.9911 0.4000 +vt -0.0000 0.4911 0.4000 +vt -0.0000 0.9911 0.2600 +vt -0.0000 0.4911 0.2600 +# 24 texture coords + +g turbine_centre +f 257/41/354 258/42/355 259/43/355 +f 257/41/354 260/44/354 258/42/355 +f 260/44/356 261/45/356 258/42/356 +f 260/44/356 262/46/356 261/45/356 +f 262/46/357 263/47/358 261/45/358 +f 262/46/357 264/48/357 263/47/358 +f 264/48/359 259/43/359 263/47/359 +f 264/48/359 257/41/359 259/43/359 +f 259/43/355 265/49/360 266/50/360 +f 259/43/355 258/42/355 265/49/360 +f 258/42/356 267/51/356 265/49/356 +f 258/42/356 261/45/356 267/51/356 +f 261/45/358 268/52/361 267/51/361 +f 261/45/358 263/47/358 268/52/361 +f 263/47/359 266/50/359 268/52/359 +f 263/47/359 259/43/359 266/50/359 +f 266/50/360 269/53/362 270/54/362 +f 266/50/360 265/49/360 269/53/362 +f 265/49/356 271/55/356 269/53/356 +f 265/49/356 267/51/356 271/55/356 +f 267/51/361 272/56/363 271/55/363 +f 267/51/361 268/52/361 272/56/363 +f 268/52/359 270/54/359 272/56/359 +f 268/52/359 266/50/359 270/54/359 +f 270/54/362 273/57/364 274/58/364 +f 270/54/362 269/53/362 273/57/364 +f 269/53/356 275/59/356 273/57/356 +f 269/53/356 271/55/356 275/59/356 +f 271/55/363 276/60/365 275/59/365 +f 271/55/363 272/56/363 276/60/365 +f 272/56/359 274/58/359 276/60/359 +f 272/56/359 270/54/359 274/58/359 +f 274/58/364 260/61/354 257/62/354 +f 274/58/364 273/57/364 260/61/354 +f 273/57/356 262/63/356 260/61/356 +f 273/57/356 275/59/356 262/63/356 +f 275/59/365 264/64/357 262/63/357 +f 275/59/365 276/60/365 264/64/357 +f 276/60/359 257/62/359 264/64/359 +f 276/60/359 274/58/359 257/62/359 +# 40 faces + +# +# object Beamknot +# + +v -0.1806 0.1015 0.1806 +v -0.1806 0.1015 -0.1806 +v 0.1806 0.1015 -0.1806 +v 0.1806 0.1015 0.1806 +v -0.1806 0.3022 0.1806 +v 0.1806 0.3022 0.1806 +v 0.1806 0.3022 -0.1806 +v -0.1806 0.3022 -0.1806 +# 8 vertices + +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 1.0000 -0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 -0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 -0.0000 +# 6 vertex normals + +vt 1.0000 0.0000 0.0000 +vt 1.0000 1.0000 0.0000 +vt 0.0000 1.0000 0.0000 +vt 0.0000 0.0000 0.0000 +# 4 texture coords + +g Beamknot +f 277/65/366 278/66/366 279/67/366 +f 279/67/366 280/68/366 277/65/366 +f 281/68/367 282/65/367 283/66/367 +f 283/66/367 284/67/367 281/68/367 +f 277/68/368 280/65/368 282/66/368 +f 282/66/368 281/67/368 277/68/368 +f 280/68/369 279/65/369 283/66/369 +f 283/66/369 282/67/369 280/68/369 +f 279/68/370 278/65/370 284/66/370 +f 284/66/370 283/67/370 279/68/370 +f 278/68/371 277/65/371 281/66/371 +f 281/66/371 284/67/371 278/68/371 +# 12 faces + +# +# object wheel_shaft +# + +v 0.0625 -0.3022 0.0625 +v 0.0625 0.1228 0.0625 +v -0.0625 0.1228 0.0625 +v -0.0625 -0.3022 0.0625 +v -0.0625 0.1228 -0.0625 +v -0.0625 -0.3022 -0.0625 +v 0.0625 0.1228 -0.0625 +v 0.0625 -0.3022 -0.0625 +# 8 vertices + +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 -0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 -0.0000 +vn 1.0000 0.0000 -0.0000 +# 5 vertex normals + +vt 0.2501 1.0004 0.0000 +vt 0.2501 0.5752 0.0000 +vt 0.3751 0.5752 0.0000 +vt 0.3751 1.0004 0.0000 +vt 0.2501 0.0000 0.0000 +vt 0.2501 0.4251 0.0000 +vt 0.1250 0.4251 0.0000 +vt 0.1250 0.0000 0.0000 +vt 0.5002 0.0000 0.0000 +vt 0.5002 0.4251 0.0000 +vt 0.3751 0.4251 0.0000 +vt 0.3751 0.0000 0.0000 +vt 0.5002 0.1250 0.0000 +vt 0.6252 0.1250 0.0000 +vt 0.0000 1.0004 0.0000 +vt 0.0000 0.5752 0.0000 +vt 0.1250 0.5752 0.0000 +vt 0.1250 1.0004 0.0000 +vt 0.6252 0.0000 0.0000 +# 19 texture coords + +g wheel_shaft +f 285/69/372 286/70/372 287/71/372 +f 287/71/372 288/72/372 285/69/372 +f 288/73/373 287/74/373 289/75/373 +f 289/75/373 290/76/373 288/73/373 +f 290/77/374 289/78/374 291/79/374 +f 291/79/374 292/80/374 290/77/374 +f 285/81/375 288/77/375 292/82/375 +f 292/83/376 291/84/376 286/85/376 +f 286/85/376 285/86/376 292/83/376 +f 288/77/375 290/87/375 292/82/375 +# 10 faces + +# +# object BaseSupporter +# + +v -0.0502 -0.2816 1.4257 +v 0.0502 -0.2816 1.4257 +v 0.0502 -0.1813 1.4257 +v -0.0502 -0.1813 1.4257 +v -0.0502 -0.2816 0.0519 +v 0.0502 -0.2816 0.0519 +v 0.0502 -0.1813 0.0519 +v -0.0502 -0.1813 0.0519 +v 0.0502 0.2542 1.4257 +v -0.0502 0.2542 1.4257 +v -0.0502 0.1539 1.4257 +v 0.0502 0.1539 1.4257 +v 0.0502 0.2542 0.0519 +v -0.0502 0.2542 0.0519 +v -0.0502 0.1539 0.0520 +v 0.0502 0.1539 0.0520 +v -1.2096 -0.2816 -0.7563 +v -1.2598 -0.2816 -0.6694 +v -1.2598 -0.1813 -0.6694 +v -1.2096 -0.1813 -0.7563 +v -0.0199 -0.2816 -0.0694 +v -0.0701 -0.2816 0.0175 +v -0.0701 -0.1813 0.0175 +v -0.0199 -0.1813 -0.0694 +v -1.2598 0.2542 -0.6694 +v -1.2096 0.2542 -0.7563 +v -1.2096 0.1539 -0.7563 +v -1.2598 0.1539 -0.6694 +v -0.0701 0.2542 0.0175 +v -0.0199 0.2542 -0.0694 +v -0.0199 0.1539 -0.0694 +v -0.0701 0.1539 0.0175 +v -1.2598 -0.2816 0.6694 +v -1.2096 -0.2816 0.7563 +v -1.2096 -0.1813 0.7563 +v -1.2598 -0.1813 0.6694 +v -0.0701 -0.2816 -0.0175 +v -0.0199 -0.2816 0.0694 +v -0.0199 -0.1813 0.0694 +v -0.0701 -0.1813 -0.0175 +v -1.2096 0.2542 0.7563 +v -1.2598 0.2542 0.6694 +v -1.2598 0.1539 0.6694 +v -1.2096 0.1539 0.7563 +v -0.0199 0.2542 0.0694 +v -0.0701 0.2542 -0.0175 +v -0.0701 0.1539 -0.0175 +v -0.0199 0.1539 0.0694 +v 1.2096 -0.2816 0.7563 +v 1.2598 -0.2816 0.6694 +v 1.2598 -0.1813 0.6694 +v 1.2096 -0.1813 0.7563 +v 0.0199 -0.2816 0.0694 +v 0.0701 -0.2816 -0.0175 +v 0.0701 -0.1813 -0.0175 +v 0.0199 -0.1813 0.0694 +v 1.2598 0.2542 0.6694 +v 1.2096 0.2542 0.7563 +v 1.2096 0.1539 0.7563 +v 1.2598 0.1539 0.6694 +v 0.0701 0.2542 -0.0175 +v 0.0199 0.2542 0.0694 +v 0.0199 0.1539 0.0694 +v 0.0701 0.1539 -0.0175 +v 1.2598 -0.2816 -0.6694 +v 1.2096 -0.2816 -0.7563 +v 1.2096 -0.1813 -0.7563 +v 1.2598 -0.1813 -0.6694 +v 0.0701 -0.2816 0.0175 +v 0.0199 -0.2816 -0.0694 +v 0.0199 -0.1813 -0.0694 +v 0.0701 -0.1813 0.0175 +v 1.2096 0.2542 -0.7563 +v 1.2598 0.2542 -0.6694 +v 1.2598 0.1539 -0.6694 +v 1.2096 0.1539 -0.7563 +v 0.0199 0.2542 -0.0694 +v 0.0701 0.2542 0.0175 +v 0.0701 0.1539 0.0175 +v 0.0199 0.1539 -0.0694 +v 0.0502 -0.2816 -1.4257 +v -0.0502 -0.2816 -1.4257 +v -0.0502 -0.1813 -1.4257 +v 0.0502 -0.1813 -1.4257 +v 0.0502 -0.2816 -0.0519 +v -0.0502 -0.2816 -0.0519 +v -0.0502 -0.1813 -0.0519 +v 0.0502 -0.1813 -0.0519 +v -0.0502 0.2542 -1.4257 +v 0.0502 0.2542 -1.4257 +v 0.0502 0.1539 -1.4257 +v -0.0502 0.1539 -1.4257 +v -0.0502 0.2542 -0.0519 +v 0.0502 0.2542 -0.0519 +v 0.0502 0.1539 -0.0520 +v -0.0502 0.1539 -0.0520 +# 96 vertices + +vn 0.0000 -0.0000 1.0000 +vn 0.0000 -1.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn 1.0000 0.0000 -0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -1.0000 -0.0000 0.0000 +vn 0.0000 1.0000 -0.0000 +vn -1.0000 0.0000 -0.0000 +vn -0.0000 -1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn -0.8660 -0.0000 -0.5000 +vn -0.5000 -0.0000 0.8660 +vn -0.5000 0.0000 0.8660 +vn -0.0000 1.0000 -0.0000 +vn 0.5000 -0.0000 -0.8660 +vn -0.8660 0.0000 -0.5000 +vn -0.0000 1.0000 0.0000 +vn 0.5000 0.0000 -0.8660 +vn -0.8660 -0.0000 0.5000 +vn 0.5000 0.0000 0.8660 +vn 0.5000 -0.0000 0.8660 +vn -0.5000 0.0000 -0.8660 +vn -0.5000 -0.0000 -0.8660 +vn -0.0000 -1.0000 -0.0000 +vn 0.8660 -0.0000 0.5000 +vn 0.8660 -0.0000 -0.5000 +vn 0.8660 0.0000 -0.5000 +vn 0.0000 0.0000 -1.0000 +vn -0.0000 0.0000 -1.0000 +# 31 vertex normals + +vt 0.2349 0.0162 -1.4911 +vt 0.2349 0.2839 -1.4911 +vt -0.0543 0.2839 -1.4911 +vt -0.0543 0.0162 -1.4911 +vt 2.4911 0.0162 0.7651 +vt 2.4911 0.2839 0.7651 +vt -1.4911 0.2839 0.7651 +vt -1.4911 0.0162 0.7651 +vt 2.4911 0.7651 0.2839 +vt 2.4911 1.0543 0.2839 +vt -1.4911 1.0543 0.2839 +vt -1.4911 0.7651 0.2839 +vt -1.4911 0.2839 1.0543 +vt -1.4911 0.0162 1.0543 +vt 2.4911 0.0162 1.0543 +vt 2.4911 0.2839 1.0543 +vt -1.4911 1.0543 0.0162 +vt -1.4911 0.7651 0.0162 +vt 2.4911 0.7651 0.0162 +vt 2.4911 1.0543 0.0162 +# 20 texture coords + +g BaseSupporter +f 293/88/377 294/89/377 295/90/377 +f 295/90/377 296/91/377 293/88/377 +f 297/92/378 298/93/378 294/94/378 +f 294/94/378 293/95/378 297/92/378 +f 298/96/379 299/97/379 295/98/380 +f 295/98/380 294/99/380 298/96/379 +f 299/100/381 300/101/381 296/102/381 +f 296/102/381 295/103/381 299/100/381 +f 300/104/382 297/105/382 293/106/383 +f 293/106/383 296/107/383 300/104/382 +f 301/88/377 302/89/377 303/90/377 +f 303/90/377 304/91/377 301/88/377 +f 305/92/384 306/93/384 302/94/384 +f 302/94/384 301/95/384 305/92/384 +f 306/96/382 307/97/382 303/98/382 +f 303/98/382 302/99/385 306/96/382 +f 307/100/386 308/101/387 304/102/386 +f 304/102/386 303/103/386 307/100/386 +f 308/104/379 305/105/379 301/106/379 +f 301/106/379 304/107/388 308/104/379 +f 309/88/389 310/89/389 311/90/389 +f 311/90/389 312/91/389 309/88/389 +f 313/92/387 314/93/387 310/94/387 +f 310/94/387 309/95/387 313/92/387 +f 314/96/390 315/97/390 311/98/391 +f 311/98/391 310/99/391 314/96/390 +f 315/100/392 316/101/392 312/102/392 +f 312/102/392 311/103/392 315/100/392 +f 316/104/393 313/105/393 309/106/393 +f 309/106/393 312/107/393 316/104/393 +f 317/88/394 318/89/394 319/90/394 +f 319/90/394 320/91/394 317/88/394 +f 321/92/395 322/93/395 318/94/395 +f 318/94/395 317/95/395 321/92/395 +f 322/96/396 323/97/396 319/98/396 +f 319/98/396 318/99/396 322/96/396 +f 323/100/378 324/101/378 320/102/378 +f 320/102/378 319/103/378 323/100/378 +f 324/104/391 321/105/391 317/106/390 +f 317/106/390 320/107/390 324/104/391 +f 325/88/397 326/89/397 327/90/397 +f 327/90/397 328/91/397 325/88/397 +f 329/92/378 330/93/378 326/94/378 +f 326/94/378 325/95/378 329/92/378 +f 330/96/398 331/97/398 327/98/399 +f 327/98/399 326/99/399 330/96/398 +f 331/100/395 332/101/395 328/102/395 +f 328/102/395 327/103/395 331/100/395 +f 332/104/400 329/105/400 325/106/400 +f 325/106/400 328/107/400 332/104/400 +f 333/88/397 334/89/397 335/90/397 +f 335/90/397 336/91/397 333/88/397 +f 337/92/381 338/93/381 334/94/381 +f 334/94/381 333/95/381 337/92/381 +f 338/96/401 339/97/401 335/98/400 +f 335/98/400 334/99/400 338/96/401 +f 339/100/402 340/101/402 336/102/402 +f 336/102/402 335/103/402 339/100/402 +f 340/104/398 337/105/398 333/106/399 +f 333/106/399 336/107/399 340/104/398 +f 341/88/403 342/89/403 343/90/403 +f 343/90/403 344/91/403 341/88/403 +f 345/92/402 346/93/402 342/94/402 +f 342/94/402 341/95/402 345/92/402 +f 346/96/396 347/97/396 343/98/396 +f 343/98/396 342/99/396 346/96/396 +f 347/100/381 348/101/381 344/102/381 +f 344/102/381 343/103/381 347/100/381 +f 348/104/391 345/105/391 341/106/390 +f 341/106/390 344/107/390 348/104/391 +f 349/88/403 350/89/403 351/90/403 +f 351/90/403 352/91/403 349/88/403 +f 353/92/395 354/93/395 350/94/384 +f 350/94/384 349/95/384 353/92/395 +f 354/96/391 355/97/391 351/98/390 +f 351/98/390 350/99/390 354/96/391 +f 355/100/378 356/101/378 352/102/378 +f 352/102/378 351/103/378 355/100/378 +f 356/104/393 353/105/393 349/106/396 +f 349/106/396 352/107/396 356/104/393 +f 357/88/404 358/89/404 359/90/404 +f 359/90/404 360/91/404 357/88/404 +f 361/92/386 362/93/386 358/94/386 +f 358/94/386 357/95/386 361/92/386 +f 362/96/400 363/97/400 359/98/401 +f 359/98/401 358/99/401 362/96/400 +f 363/100/384 364/101/384 360/102/384 +f 360/102/384 359/103/384 363/100/384 +f 364/104/399 361/105/399 357/106/398 +f 357/106/398 360/107/398 364/104/399 +f 365/88/405 366/89/405 367/90/405 +f 367/90/405 368/91/405 365/88/405 +f 369/92/381 370/93/381 366/94/392 +f 366/94/392 365/95/392 369/92/381 +f 370/96/398 371/97/398 367/98/399 +f 367/98/399 366/99/399 370/96/398 +f 371/100/402 372/101/402 368/102/402 +f 368/102/402 367/103/402 371/100/402 +f 372/104/401 369/105/401 365/106/400 +f 365/106/400 368/107/400 372/104/401 +f 373/88/406 374/89/406 375/90/406 +f 375/90/406 376/91/406 373/88/406 +f 377/92/387 378/93/387 374/94/387 +f 374/94/387 373/95/387 377/92/387 +f 378/96/383 379/97/383 375/98/383 +f 375/98/383 374/99/383 378/96/383 +f 379/100/384 380/101/384 376/102/384 +f 376/102/384 375/103/384 379/100/384 +f 380/104/380 377/105/380 373/106/380 +f 373/106/380 376/107/380 380/104/380 +f 381/88/407 382/89/407 383/90/407 +f 383/90/407 384/91/407 381/88/407 +f 385/92/395 386/93/395 382/94/395 +f 382/94/395 381/95/395 385/92/395 +f 386/96/380 387/97/380 383/98/380 +f 383/98/380 382/99/380 386/96/380 +f 387/100/378 388/101/378 384/102/378 +f 384/102/378 383/103/378 387/100/378 +f 388/104/383 385/105/383 381/106/383 +f 381/106/383 384/107/383 388/104/383 +# 120 faces + +# +# object Scoops +# + +v -0.0000 0.1451 -1.4480 +v 0.6734 0.1071 -1.0274 +v 0.6734 -0.1346 -1.0274 +v -0.0000 -0.1725 -1.4480 +v -0.0000 0.2020 -1.5040 +v -0.0000 0.2020 -1.0207 +v 0.7520 0.2020 -1.3025 +v -0.0000 -0.2294 -1.0207 +v -0.0000 -0.2294 -1.5040 +v 0.7520 -0.2294 -1.3025 +v 0.7240 0.1451 -1.2540 +v 1.0969 0.1071 -0.5531 +v 1.0969 -0.1346 -0.5531 +v 0.7240 -0.1725 -1.2540 +v 0.8892 0.2020 -0.5255 +v 1.3025 0.2020 -0.7520 +v 0.8892 -0.2294 -0.5255 +v 1.3025 -0.2294 -0.7520 +v 1.2540 0.1451 -0.7240 +v 1.2265 0.1071 0.0694 +v 1.2265 -0.1346 0.0694 +v 1.2540 -0.1725 -0.7240 +v 1.5040 0.2020 -0.0000 +v 1.5040 -0.2294 -0.0000 +v 1.4480 0.1451 -0.0000 +v 1.0274 0.1071 0.6734 +v 1.0274 -0.1346 0.6734 +v 1.4480 -0.1725 -0.0000 +v 0.8892 0.2020 0.5255 +v 1.3025 0.2020 0.7520 +v 0.8892 -0.2294 0.5255 +v 1.3025 -0.2294 0.7520 +v 1.2540 0.1451 0.7240 +v 0.5531 0.1071 1.0969 +v 0.5531 -0.1346 1.0969 +v 1.2540 -0.1725 0.7240 +v -0.0000 0.2020 1.0207 +v 0.7520 0.2020 1.3025 +v -0.0000 -0.2294 1.0207 +v 0.7520 -0.2294 1.3025 +v 0.7240 0.1451 1.2540 +v -0.0694 0.1071 1.2265 +v -0.0694 -0.1346 1.2265 +v 0.7240 -0.1725 1.2540 +v -0.0000 -0.2294 1.5040 +v -0.0000 0.1451 1.4480 +v -0.6734 0.1071 1.0274 +v -0.6734 -0.1346 1.0274 +v -0.0000 -0.1725 1.4480 +v -0.0000 0.2020 1.5040 +v -0.7520 0.2020 1.3025 +v -0.7240 0.1451 1.2540 +v -1.0969 0.1071 0.5531 +v -1.0969 -0.1346 0.5531 +v -0.7240 -0.1725 1.2540 +v -0.8892 0.2020 0.5255 +v -1.3025 0.2020 0.7520 +v -0.8892 -0.2294 0.5255 +v -0.7520 -0.2294 1.3025 +v -1.3025 -0.2294 0.7520 +v -1.2540 0.1451 0.7240 +v -1.2265 0.1071 -0.0694 +v -1.2265 -0.1346 -0.0694 +v -1.2540 -0.1725 0.7240 +v -0.8892 0.2020 -0.5255 +v -1.5040 0.2020 0.0000 +v -0.8892 -0.2294 -0.5255 +v -1.5040 -0.2294 0.0000 +v -1.4480 0.1451 0.0000 +v -1.0274 0.1071 -0.6734 +v -1.0274 -0.1346 -0.6734 +v -1.4480 -0.1725 0.0000 +v -1.3025 0.2020 -0.7520 +v -1.2540 0.1451 -0.7240 +v -0.5531 0.1071 -1.0969 +v -0.5531 -0.1346 -1.0969 +v -1.2540 -0.1725 -0.7240 +v -0.7520 0.2020 -1.3025 +v -1.3025 -0.2294 -0.7520 +v -0.7520 -0.2294 -1.3025 +v -0.7240 0.1451 -1.2540 +v 0.0694 0.1071 -1.2265 +v 0.0694 -0.1346 -1.2265 +v -0.7240 -0.1725 -1.2540 +# 84 vertices + +vn 0.5297 0.0000 -0.8482 +vn 0.0000 1.0000 -0.0000 +vn 0.0000 -1.0000 -0.0000 +vn 0.8828 0.0000 -0.4697 +vn -0.4866 0.0000 0.8736 +vn 0.9994 -0.0000 0.0347 +vn 0.9994 0.0000 0.0347 +vn 0.8482 0.0000 0.5297 +vn 0.4697 0.0000 0.8828 +vn -0.4866 0.0000 -0.8736 +vn -0.0347 0.0000 0.9994 +vn -0.5297 0.0000 0.8482 +vn -0.8828 0.0000 0.4697 +vn 0.4866 0.0000 -0.8736 +vn -0.9994 0.0000 -0.0347 +vn 1.0000 0.0000 -0.0000 +vn -0.8482 0.0000 -0.5297 +vn -0.4697 0.0000 -0.8828 +vn 0.4866 0.0000 0.8736 +vn 0.0347 0.0000 -0.9994 +vn 0.1874 -0.6897 -0.6994 +vn 0.1874 0.6897 -0.6994 +vn 0.5120 -0.6897 -0.5120 +vn 0.5120 0.6897 -0.5120 +vn 0.6994 -0.6897 -0.1874 +vn 0.6994 0.6897 -0.1874 +vn 0.6994 -0.6897 0.1874 +vn 0.6994 0.6897 0.1874 +vn 0.5120 -0.6897 0.5120 +vn 0.5120 0.6897 0.5120 +vn 0.1874 -0.6897 0.6994 +vn 0.1874 0.6897 0.6994 +vn -0.1874 -0.6897 0.6994 +vn -0.1874 0.6897 0.6994 +vn -0.5120 -0.6897 0.5120 +vn -0.5120 0.6897 0.5120 +vn -0.6994 -0.6897 0.1874 +vn -0.6994 0.6897 0.1874 +vn -0.6994 -0.6897 -0.1874 +vn -0.6994 0.6897 -0.1874 +vn -0.5120 -0.6897 -0.5120 +vn -0.5120 0.6897 -0.5120 +vn -0.1874 -0.6897 -0.6994 +vn -0.1874 0.6897 -0.6994 +vn 0.0418 -0.9869 -0.1561 +vn -0.9759 0.0000 -0.2180 +vn 0.0418 0.9869 -0.1561 +vn 0.1143 -0.9869 -0.1143 +vn -0.7362 0.0000 -0.6768 +vn 0.1143 0.9869 -0.1143 +vn 0.1561 -0.9869 -0.0418 +vn -0.2992 0.0000 -0.9542 +vn 0.1561 0.9869 -0.0418 +vn 0.1561 -0.9869 0.0418 +vn 0.2180 0.0000 -0.9759 +vn 0.1561 0.9869 0.0418 +vn 0.1143 -0.9869 0.1143 +vn 0.6768 0.0000 -0.7362 +vn 0.1143 0.9869 0.1143 +vn 0.0418 -0.9869 0.1561 +vn 0.9542 0.0000 -0.2992 +vn 0.0418 0.9869 0.1561 +vn -0.0418 -0.9869 0.1561 +vn 0.9759 0.0000 0.2180 +vn -0.0418 0.9869 0.1561 +vn -0.1143 -0.9869 0.1143 +vn 0.7362 0.0000 0.6768 +vn -0.1143 0.9869 0.1143 +vn -0.1561 -0.9869 0.0418 +vn 0.2992 0.0000 0.9542 +vn 0.2992 -0.0000 0.9542 +vn -0.1561 0.9869 0.0418 +vn -0.1561 -0.9869 -0.0418 +vn -0.2180 0.0000 0.9759 +vn -0.1561 0.9869 -0.0418 +vn -0.1143 -0.9869 -0.1143 +vn -0.6768 0.0000 0.7362 +vn -0.1143 0.9869 -0.1143 +vn -0.0418 -0.9869 -0.1561 +vn -0.9542 0.0000 0.2992 +vn -0.0418 0.9869 -0.1561 +vn -1.0000 0.0000 -0.0000 +# 82 vertex normals + +vt 0.5000 0.6840 2.8804 +vt -0.6070 0.6400 2.1891 +vt -0.6070 0.3600 2.1891 +vt 0.5000 0.3160 2.8804 +vt -0.7363 2.6413 0.7498 +vt -0.3390 1.9532 0.7498 +vt 0.5000 2.9725 0.7498 +vt 1.3390 1.9532 0.2502 +vt 1.7363 2.6413 0.2502 +vt 0.5000 2.9725 0.2502 +vt 2.5615 0.6840 1.6902 +vt 1.4093 0.6400 2.3032 +vt 1.4093 0.3600 2.3032 +vt 2.5615 0.3160 1.6902 +vt 1.3340 1.9790 0.7498 +vt 1.7363 2.6413 0.7498 +vt 0.5000 0.7498 2.1780 +vt 0.5000 0.2502 2.1780 +vt 1.9618 0.2502 1.3639 +vt 1.9618 0.7498 1.3639 +vt -0.7363 2.6413 0.2502 +vt -0.3340 1.9790 0.2502 +vt 1.6902 0.6840 2.5615 +vt 0.3858 0.6400 2.5163 +vt 0.3858 0.3600 2.5163 +vt 1.6902 0.3160 2.5615 +vt 1.7239 -1.6484 0.7498 +vt 1.3554 -0.9668 0.7498 +vt 0.4857 -1.9725 0.7498 +vt 1.3639 1.9618 0.2502 +vt -0.3723 -0.9568 0.7498 +vt -0.7486 -1.6341 0.7498 +vt -0.3639 1.9618 0.2502 +vt 2.5615 0.6840 -0.6902 +vt 1.4093 0.6400 -1.3032 +vt 1.4093 0.3600 -1.3032 +vt 2.5615 0.3160 -0.6902 +vt 1.7363 -1.6413 0.7498 +vt 1.3340 -0.9790 0.7498 +vt -0.3390 -0.9532 0.7498 +vt 0.5000 -1.9725 0.7498 +vt -0.9618 0.7498 -0.3639 +vt -0.9618 0.2502 -0.3639 +vt 0.5000 0.2502 -1.1780 +vt 0.5000 0.7498 -1.1780 +vt -0.3264 -0.9833 0.2502 +vt -0.7252 -1.6476 0.2502 +vt 0.5128 -1.9725 0.2502 +vt 1.3465 -0.9488 0.2502 +vt 1.6902 0.6840 -1.5615 +vt 0.3858 0.6400 -1.5163 +vt 0.3858 0.3600 -1.5163 +vt 1.6902 0.3160 -1.5615 +vt 1.7473 -1.6348 0.2502 +vt 0.5000 0.6840 -1.8804 +vt -0.6070 0.6400 -1.1891 +vt -0.6070 0.3600 -1.1891 +vt 0.5000 0.3160 -1.8804 +vt 1.3390 -0.9532 0.7498 +vt -0.3340 -0.9790 0.7498 +vt -0.7363 -1.6413 0.7498 +vt 1.9618 0.2502 -0.3639 +vt 1.9618 0.7498 -0.3639 +vt -0.3390 -0.9532 0.2502 +vt 0.5000 -1.9725 0.2502 +vt 1.7363 -1.6413 0.2502 +vt 1.3340 -0.9790 0.2502 +vt -0.3554 1.9668 0.7498 +vt 1.3723 1.9568 0.7498 +vt 0.5143 2.9725 0.7498 +vt -0.3639 0.7498 -0.9618 +vt -0.3639 0.2502 -0.9618 +vt 1.3639 0.2502 -0.9618 +vt 1.3639 0.7498 -0.9618 +vt -0.3639 -0.9618 0.2502 +vt -0.7363 -1.6413 0.2502 +vt 1.7486 2.6341 0.7498 +vt -0.3340 1.9790 0.7498 +vt 1.3390 1.9532 0.7498 +vt -0.9618 0.7498 1.3639 +vt -0.9618 0.2502 1.3639 +vt 1.3264 1.9833 0.2502 +vt 1.7252 2.6476 0.2502 +vt 0.4872 2.9725 0.2502 +vt -0.3465 1.9488 0.2502 +vt -0.7473 2.6348 0.2502 +vt 0.5000 0.7498 2.9725 +vt -0.7363 0.7498 2.6413 +vt -0.6902 0.6840 2.5615 +vt -0.7363 0.2502 2.6413 +vt 0.5000 0.2502 2.9725 +vt -0.6902 0.3160 2.5615 +vt 2.6413 0.7498 1.7363 +vt 1.7363 0.7498 2.6413 +vt 1.7363 0.2502 2.6413 +vt 2.6413 0.2502 1.7363 +vt 2.6413 0.7498 -0.7363 +vt 1.7363 0.7498 -1.6413 +vt 1.7363 0.2502 -1.6413 +vt 2.6413 0.2502 -0.7363 +vt 0.5000 0.7498 -1.9725 +vt 0.5000 0.2502 -1.9725 +vt -0.7363 0.7498 -1.6413 +vt -0.6902 0.6840 -1.5615 +vt -0.7363 0.2502 -1.6413 +vt -0.6902 0.3160 -1.5615 +vt -1.6413 0.7498 -0.7363 +vt -1.5615 0.6840 -0.6902 +vt -1.6413 0.2502 -0.7363 +vt -1.5615 0.3160 -0.6902 +vt 0.5000 2.8804 0.6840 +vt -0.6902 2.5615 0.6840 +vt -0.6070 2.1891 0.6400 +vt -1.5615 0.6840 1.6902 +vt -1.5615 0.3160 1.6902 +vt -1.1891 0.3600 1.6070 +vt -1.1891 0.6400 1.6070 +vt 1.6902 2.5615 0.3160 +vt 0.5000 2.8804 0.3160 +vt 1.6070 2.1891 0.3600 +vt -1.5615 1.6902 0.6840 +vt -1.3032 1.4093 0.6400 +vt -0.4093 0.3600 2.3032 +vt -0.4093 0.6400 2.3032 +vt 2.5615 1.6902 0.3160 +vt 2.3032 1.4093 0.3600 +vt -1.8804 0.5000 0.6840 +vt -1.5163 0.3858 0.6400 +vt -1.8804 0.6840 0.5000 +vt -1.8804 0.3160 0.5000 +vt -1.5163 0.3600 0.3858 +vt -1.5163 0.6400 0.3858 +vt 2.8804 0.5000 0.3160 +vt 2.5163 0.3858 0.3600 +vt -1.5615 -0.6902 0.6840 +vt -1.1891 -0.6070 0.6400 +vt -1.1891 0.3600 -0.6070 +vt -1.1891 0.6400 -0.6070 +vt 2.5615 -0.6902 0.3160 +vt 2.1891 -0.6070 0.3600 +vt -0.6902 -1.5615 0.6840 +vt -0.4093 -1.3032 0.6400 +vt -0.4093 0.3600 -1.3032 +vt -0.4093 0.6400 -1.3032 +vt 1.6902 -1.5615 0.3160 +vt 1.4093 -1.3032 0.3600 +vt 0.5000 -1.8804 0.6840 +vt 0.6142 -1.5163 0.6400 +vt 0.5000 -1.8804 0.3160 +vt 0.3858 -1.5163 0.3600 +vt 1.6902 -1.5615 0.6840 +vt 1.6070 -1.1891 0.6400 +vt -0.6902 -1.5615 0.3160 +vt -0.6070 -1.1891 0.3600 +vt 2.5615 -0.6902 0.6840 +vt 2.3032 -0.4093 0.6400 +vt -1.5615 -0.6902 0.3160 +vt -1.3032 -0.4093 0.3600 +vt 2.8804 0.5000 0.6840 +vt 2.5163 0.6142 0.6400 +vt -1.5163 0.3600 0.6142 +vt -1.5163 0.6400 0.6142 +vt -1.8804 0.5000 0.3160 +vt -1.5163 0.6142 0.3600 +vt 2.5615 1.6902 0.6840 +vt 2.1891 1.6070 0.6400 +vt 1.6902 2.5615 0.6840 +vt 1.4093 2.3032 0.6400 +vt -0.6902 2.5615 0.3160 +vt -1.5615 1.6902 0.3160 +vt -0.4093 2.3032 0.3600 +vt 0.3858 2.5163 0.6400 +vt 0.6142 2.5163 0.3600 +vt -0.7239 2.6484 0.7498 +vt 1.3639 -0.9618 0.2502 +vt -0.3639 0.2502 1.9618 +vt 1.3639 0.2502 1.9618 +vt 1.3639 0.7498 1.9618 +vt -0.3639 0.7498 1.9618 +# 179 texture coords + +g Scoops +f 389/108/408 390/109/408 391/110/408 +f 391/110/408 392/111/408 389/108/408 +f 393/112/409 394/113/409 395/114/409 +f 396/115/410 397/116/410 398/117/410 +f 399/118/411 400/119/411 401/120/411 +f 401/120/411 402/121/411 399/118/411 +f 395/114/409 394/113/409 403/122/409 +f 403/122/409 404/123/409 395/114/409 +f 394/124/412 396/125/412 405/126/412 +f 405/126/412 403/127/412 394/124/412 +f 396/115/410 398/117/410 406/128/410 +f 406/128/410 405/129/410 396/115/410 +f 407/130/413 408/131/413 409/132/413 +f 409/132/414 410/133/414 407/130/414 +f 404/134/409 403/135/409 411/136/409 +f 405/137/410 406/116/410 412/117/410 +f 413/108/415 414/109/415 415/110/415 +f 415/110/415 416/111/415 413/108/415 +f 411/136/409 417/138/409 418/139/409 +f 419/140/410 412/117/410 420/128/410 +f 421/141/416 422/142/416 423/143/416 +f 423/143/416 424/144/416 421/141/416 +f 418/145/409 417/146/409 425/147/409 +f 425/147/409 426/148/409 418/145/409 +f 417/149/417 419/150/417 427/151/417 +f 427/151/417 425/152/417 417/149/417 +f 419/153/410 420/154/410 428/155/410 +f 428/155/410 427/156/410 419/153/410 +f 429/157/418 430/158/418 431/159/418 +f 431/159/418 432/160/418 429/157/418 +f 427/156/410 428/155/410 433/161/410 +f 434/162/419 435/163/419 436/164/419 +f 436/164/419 437/165/419 434/162/419 +f 438/145/409 425/166/409 439/148/409 +f 440/141/420 441/142/420 442/143/420 +f 442/143/420 443/144/420 440/141/420 +f 439/148/409 425/166/409 444/167/409 +f 444/167/409 445/168/409 439/148/409 +f 425/152/421 427/151/421 446/169/421 +f 446/169/421 444/170/421 425/152/421 +f 427/171/410 447/172/410 448/173/410 +f 448/173/410 446/174/410 427/171/410 +f 449/157/422 450/158/422 451/159/422 +f 451/159/422 452/160/422 449/157/422 +f 444/175/409 453/176/409 454/177/409 +f 444/178/423 446/179/423 455/180/423 +f 455/180/423 453/181/423 444/178/423 +f 446/182/410 448/183/410 456/172/410 +f 457/162/424 458/163/424 459/164/424 +f 459/164/424 460/165/424 457/162/424 +f 454/177/409 453/176/409 461/184/409 +f 462/118/425 463/119/425 464/120/425 +f 464/120/425 465/121/425 462/118/425 +f 461/112/409 453/185/409 394/186/409 +f 394/186/409 466/114/409 461/112/409 +f 453/187/426 455/188/426 396/125/426 +f 396/125/426 394/124/426 453/187/426 +f 455/189/410 467/190/410 468/191/410 +f 468/191/410 396/192/410 455/189/410 +f 469/130/427 470/131/427 471/132/427 +f 471/132/427 472/133/427 469/130/427 +f 466/114/409 394/186/409 393/123/409 +f 396/192/410 468/191/410 397/193/410 +f 393/194/428 395/195/428 399/196/428 +f 399/196/428 389/108/428 393/194/428 +f 398/197/429 397/198/429 392/111/429 +f 392/111/429 402/199/429 398/197/429 +f 395/200/430 404/201/430 407/130/430 +f 407/130/430 399/118/430 395/200/430 +f 406/202/431 398/203/431 402/121/431 +f 402/121/431 410/133/431 406/202/431 +f 404/201/432 411/194/432 413/108/432 +f 413/108/432 407/130/432 404/201/432 +f 412/198/433 406/202/433 410/133/433 +f 410/133/433 416/111/433 412/198/433 +f 411/194/434 418/195/434 421/196/434 +f 421/196/434 413/108/434 411/194/434 +f 420/197/435 412/198/435 416/111/435 +f 416/111/435 424/199/435 420/197/435 +f 418/204/436 426/205/436 429/157/436 +f 429/157/436 421/141/436 418/204/436 +f 428/206/437 420/207/437 424/144/437 +f 424/144/437 432/160/437 428/206/437 +f 426/205/438 438/208/438 434/162/438 +f 434/162/438 429/157/438 426/205/438 +f 433/209/439 428/206/439 432/160/439 +f 432/160/439 437/165/439 433/209/439 +f 438/208/440 439/210/440 440/211/440 +f 440/211/440 434/162/440 438/208/440 +f 447/212/441 433/209/441 437/165/441 +f 437/165/441 443/213/441 447/212/441 +f 439/204/442 445/205/442 449/157/442 +f 449/157/442 440/141/442 439/204/442 +f 448/206/443 447/207/443 443/144/443 +f 443/144/443 452/160/443 448/206/443 +f 445/205/444 454/208/444 457/162/444 +f 457/162/444 449/157/444 445/205/444 +f 456/209/445 448/206/445 452/160/445 +f 452/160/445 460/165/445 456/209/445 +f 454/208/446 461/210/446 462/211/446 +f 462/211/446 457/162/446 454/208/446 +f 467/212/447 456/209/447 460/165/447 +f 460/165/447 465/213/447 467/212/447 +f 461/210/448 466/214/448 469/215/448 +f 469/215/448 462/211/448 461/210/448 +f 468/216/449 467/212/449 465/213/449 +f 465/213/449 472/217/449 468/216/449 +f 466/201/450 393/194/450 389/108/450 +f 389/108/450 469/130/450 466/201/450 +f 397/198/451 468/202/451 472/133/451 +f 472/133/451 392/111/451 397/198/451 +f 389/218/452 399/219/452 390/220/452 +f 399/221/453 402/222/453 391/223/453 +f 391/223/453 390/224/453 399/221/453 +f 402/225/454 392/226/454 391/227/454 +f 399/219/455 407/228/455 400/229/455 +f 407/196/456 410/199/456 401/230/456 +f 401/230/456 400/231/456 407/196/456 +f 410/232/457 402/225/457 401/233/457 +f 407/228/458 413/234/458 408/235/458 +f 413/236/459 416/237/459 409/238/459 +f 409/238/459 408/239/459 413/236/459 +f 416/240/460 410/232/460 409/241/460 +f 413/234/461 421/242/461 414/243/461 +f 421/215/462 424/217/462 415/244/462 +f 415/244/462 414/245/462 421/215/462 +f 424/246/463 416/240/463 415/247/463 +f 421/242/464 429/248/464 422/249/464 +f 429/211/465 432/213/465 423/250/465 +f 423/250/465 422/251/465 429/211/465 +f 432/252/466 424/246/466 423/253/466 +f 429/248/467 434/254/467 430/255/467 +f 434/236/468 437/237/468 431/238/468 +f 431/238/468 430/239/468 434/236/468 +f 437/256/469 432/252/469 431/257/469 +f 434/254/470 440/258/470 435/259/470 +f 440/215/471 443/217/471 436/244/471 +f 436/244/471 435/245/471 440/215/471 +f 443/260/472 437/256/472 436/261/472 +f 440/258/473 449/262/473 441/263/473 +f 449/211/474 452/213/474 442/250/474 +f 442/250/474 441/251/474 449/211/474 +f 452/264/475 443/260/475 442/265/475 +f 449/262/476 457/266/476 450/267/476 +f 457/236/477 460/237/477 451/268/477 +f 451/268/478 450/269/478 457/236/478 +f 460/270/479 452/264/479 451/271/479 +f 457/266/480 462/272/480 458/273/480 +f 462/221/481 465/222/481 459/223/481 +f 459/223/481 458/224/481 462/221/481 +f 465/225/482 460/226/482 459/227/482 +f 462/272/483 469/274/483 463/275/483 +f 469/196/484 472/199/484 464/230/484 +f 464/230/484 463/231/484 469/196/484 +f 472/276/485 465/277/485 464/278/485 +f 469/274/486 389/218/486 470/279/486 +f 389/236/487 392/237/487 471/268/487 +f 471/268/487 470/269/487 389/236/487 +f 392/226/488 472/276/488 471/280/488 +f 454/177/409 445/281/409 444/175/409 +f 456/172/410 455/282/410 446/182/410 +f 456/172/410 467/173/410 455/282/410 +f 438/168/409 426/148/409 425/147/409 +f 433/183/410 447/172/410 427/171/410 +f 403/135/409 417/138/409 411/136/409 +f 405/137/410 412/117/410 419/140/410 +f 405/283/489 419/284/489 417/285/489 +f 417/285/489 403/286/489 405/283/489 +# 168 faces + +# +# object SupporterCircle +# + +v -0.0000 0.1016 -0.7062 +v 0.6116 0.2019 -0.3531 +v 0.6116 0.1016 -0.3531 +v -0.0000 0.2019 -0.7062 +v 0.4604 0.2019 -0.2658 +v -0.0000 0.2019 -0.5316 +v 0.4604 0.1016 -0.2658 +v -0.0000 0.1016 -0.5316 +v 0.6116 0.2019 0.3531 +v 0.6116 0.1016 0.3531 +v 0.4604 0.2019 0.2658 +v 0.4604 0.1016 0.2658 +v -0.0000 0.2019 0.7062 +v -0.0000 0.1016 0.7062 +v -0.0000 0.2019 0.5316 +v -0.0000 0.1016 0.5316 +v -0.6116 0.2019 0.3531 +v -0.6116 0.1016 0.3531 +v -0.4604 0.2019 0.2658 +v -0.4604 0.1016 0.2658 +v -0.6116 0.2019 -0.3531 +v -0.6116 0.1016 -0.3531 +v -0.4604 0.2019 -0.2658 +v -0.4604 0.1016 -0.2658 +v -0.0000 -0.1290 -0.7062 +v -0.6116 -0.2293 -0.3531 +v -0.6116 -0.1290 -0.3531 +v -0.0000 -0.2293 -0.7062 +v -0.4604 -0.2293 -0.2658 +v -0.0000 -0.2293 -0.5316 +v -0.4604 -0.1290 -0.2658 +v -0.0000 -0.1290 -0.5316 +v -0.6116 -0.2293 0.3531 +v -0.6116 -0.1290 0.3531 +v -0.4604 -0.2293 0.2658 +v -0.4604 -0.1290 0.2658 +v -0.0000 -0.2293 0.7062 +v -0.0000 -0.1290 0.7062 +v -0.0000 -0.2293 0.5316 +v -0.0000 -0.1290 0.5316 +v 0.6116 -0.2293 0.3531 +v 0.6116 -0.1290 0.3531 +v 0.4604 -0.2293 0.2658 +v 0.4604 -0.1290 0.2658 +v 0.6116 -0.2293 -0.3531 +v 0.6116 -0.1290 -0.3531 +v 0.4604 -0.2293 -0.2658 +v 0.4604 -0.1290 -0.2658 +# 48 vertices + +vn 0.0000 0.0000 -1.0000 +vn 0.8660 0.0000 -0.5000 +vn -0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 -0.0000 +vn 0.0000 0.0000 1.0000 +vn -0.8660 0.0000 0.5000 +vn 0.0000 -1.0000 -0.0000 +vn 0.8660 0.0000 0.5000 +vn -0.8660 0.0000 -0.5000 +vn -0.0000 0.0000 1.0000 +vn -0.8660 -0.0000 -0.5000 +vn 0.0000 -0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 1.0000 0.0000 +vn -0.8660 -0.0000 0.5000 +vn 0.0000 -0.0000 1.0000 +# 18 vertex normals + +vt 0.9451 0.5224 1.5057 +vt -0.3710 0.8009 1.0029 +vt -0.3710 0.5224 1.0029 +vt 0.9451 0.8009 1.5057 +vt -0.1953 0.0091 0.6652 +vt 1.0540 0.3142 0.6652 +vt 1.2358 0.0106 0.6652 +vt -0.0249 0.3127 0.6652 +vt 0.9451 0.8009 1.2571 +vt 1.9359 0.5224 0.8786 +vt 1.9359 0.8009 0.8786 +vt 0.9451 0.5224 1.2571 +vt 1.0488 0.3103 0.5224 +vt -0.2005 0.0052 0.5224 +vt -0.0244 0.3103 0.5224 +vt 1.2249 0.0052 0.5224 +vt 1.7049 0.5224 1.3710 +vt 0.1853 0.8009 1.3710 +vt 0.1853 0.5224 1.3710 +vt 1.7049 0.8009 1.3710 +vt -0.2005 0.0052 0.6652 +vt 1.0488 0.3103 0.6652 +vt 1.2249 0.0052 0.6652 +vt -0.0244 0.3103 0.6652 +vt 0.3731 0.8009 1.1557 +vt 1.5171 0.5224 1.1557 +vt 1.5171 0.8009 1.1557 +vt 0.3731 0.5224 1.1557 +vt -0.0209 0.3146 0.5224 +vt 1.2284 0.0094 0.5224 +vt 1.0522 0.3146 0.5224 +vt -0.1971 0.0094 0.5224 +vt 2.2612 0.5224 -0.0029 +vt 0.9451 0.8009 -0.5057 +vt 0.9451 0.5224 -0.5057 +vt 2.2612 0.8009 -0.0029 +vt 1.2284 0.0094 0.6652 +vt -0.0209 0.3146 0.6652 +vt -0.1971 0.0095 0.6652 +vt 1.0522 0.3146 0.6652 +vt -0.0457 0.8009 0.1214 +vt 0.9451 0.5224 -0.2571 +vt 0.9451 0.8009 -0.2571 +vt -0.0457 0.5224 0.1214 +vt 1.2284 0.0095 0.5224 +vt -0.3710 0.8009 -0.0029 +vt -0.3710 0.5224 -0.0029 +vt 1.2279 0.0071 0.6652 +vt -0.0214 0.3122 0.6652 +vt -0.1976 0.0071 0.6652 +vt 1.0517 0.3122 0.6652 +vt 1.9359 0.5224 0.1214 +vt 1.9359 0.8009 0.1214 +vt 1.7049 0.5224 -0.3710 +vt 0.1853 0.8009 -0.3710 +vt 0.1853 0.5224 -0.3710 +vt 1.7049 0.8009 -0.3710 +vt -0.1971 0.0094 0.6652 +vt 0.3731 0.8009 -0.1557 +vt 1.5171 0.5224 -0.1557 +vt 1.5171 0.8009 -0.1557 +vt 0.3731 0.5224 -0.1557 +vt 2.2612 0.5224 1.0029 +vt 2.2612 0.8009 1.0029 +vt -0.0457 0.8009 0.8786 +vt -0.0457 0.5224 0.8786 +# 66 texture coords + +g SupporterCircle +f 473/287/490 474/288/491 475/289/491 +f 473/287/490 476/290/492 474/288/491 +f 476/291/493 477/292/493 474/293/493 +f 476/291/493 478/294/493 477/292/493 +f 478/295/494 479/296/495 477/297/495 +f 478/295/494 480/298/494 479/296/495 +f 480/299/496 475/300/496 479/301/496 +f 480/299/496 473/302/496 475/300/496 +f 475/303/491 481/304/497 482/305/497 +f 475/303/491 474/306/491 481/304/497 +f 474/307/493 483/308/493 481/309/493 +f 474/307/493 477/310/493 483/308/493 +f 477/311/495 484/312/498 483/313/498 +f 477/311/495 479/314/495 484/312/498 +f 479/315/496 482/316/496 484/317/496 +f 479/315/496 475/318/496 482/316/496 +f 482/319/497 485/320/494 486/321/499 +f 482/319/497 481/322/497 485/320/494 +f 481/323/493 487/324/493 485/325/493 +f 481/323/493 483/326/493 487/324/493 +f 483/327/498 488/328/492 487/329/492 +f 483/327/498 484/330/498 488/328/492 +f 484/315/496 486/331/496 488/317/496 +f 484/315/496 482/318/496 486/331/496 +f 486/321/499 489/332/495 490/333/495 +f 486/321/499 485/320/494 489/332/495 +f 485/334/493 491/335/493 489/336/493 +f 485/334/493 487/337/493 491/335/493 +f 487/329/492 492/338/491 491/339/491 +f 487/329/492 488/328/492 492/338/491 +f 488/315/496 490/316/496 492/317/496 +f 488/315/496 486/318/496 490/316/496 +f 490/340/495 493/341/498 494/342/498 +f 490/340/495 489/343/495 493/341/498 +f 489/323/493 495/324/493 493/344/493 +f 489/323/493 491/326/493 495/324/493 +f 491/345/491 496/346/497 495/347/497 +f 491/345/491 492/348/491 496/346/497 +f 492/299/496 494/300/496 496/301/496 +f 492/299/496 490/302/496 494/300/496 +f 494/349/498 476/290/492 473/287/490 +f 494/349/498 493/350/498 476/290/492 +f 493/307/493 478/308/493 476/309/493 +f 493/307/493 495/310/493 478/308/493 +f 495/351/497 480/298/494 478/295/494 +f 495/351/497 496/352/497 480/298/494 +f 496/299/496 473/300/496 480/301/496 +f 496/299/496 494/302/496 473/300/496 +f 497/287/492 498/288/500 499/289/498 +f 497/287/492 500/290/501 498/288/500 +f 500/291/502 501/292/502 498/293/502 +f 500/291/502 502/294/496 501/292/502 +f 502/295/503 503/296/497 501/297/497 +f 502/295/503 504/298/499 503/296/497 +f 504/299/504 499/300/504 503/301/504 +f 504/299/504 497/302/505 499/300/504 +f 499/303/498 505/304/495 506/305/506 +f 499/303/498 498/306/500 505/304/495 +f 498/307/502 507/308/496 505/309/496 +f 498/307/502 501/310/502 507/308/496 +f 501/311/497 508/312/491 507/313/491 +f 501/311/497 503/314/497 508/312/491 +f 503/315/504 506/316/505 508/317/505 +f 503/315/504 499/318/504 506/316/505 +f 506/319/506 509/320/499 510/321/507 +f 506/319/506 505/322/495 509/320/499 +f 505/323/496 511/324/496 509/325/502 +f 505/323/496 507/326/496 511/324/496 +f 507/327/491 512/328/501 511/329/492 +f 507/327/491 508/330/491 512/328/501 +f 508/315/505 510/331/505 512/317/504 +f 508/315/505 506/318/505 510/331/505 +f 510/321/507 513/332/497 514/333/497 +f 510/321/507 509/320/499 513/332/497 +f 509/334/502 515/335/502 513/336/502 +f 509/334/502 511/337/496 515/335/502 +f 511/329/492 516/338/500 515/339/498 +f 511/329/492 512/328/501 516/338/500 +f 512/315/504 514/316/504 516/317/504 +f 512/315/504 510/318/505 514/316/504 +f 514/340/497 517/341/491 518/342/491 +f 514/340/497 513/343/497 517/341/491 +f 513/323/502 519/324/496 517/344/496 +f 513/323/502 515/326/502 519/324/496 +f 515/345/498 520/346/495 519/347/506 +f 515/345/498 516/348/500 520/346/495 +f 516/299/504 518/300/505 520/301/505 +f 516/299/504 514/302/504 518/300/505 +f 518/349/491 500/290/501 497/287/492 +f 518/349/491 517/350/491 500/290/501 +f 517/307/496 502/308/496 500/309/502 +f 517/307/496 519/310/496 502/308/496 +f 519/351/506 504/298/499 502/295/503 +f 519/351/506 520/352/495 504/298/499 +f 520/299/505 497/300/505 504/301/504 +f 520/299/505 518/302/505 497/300/505 +# 96 faces +