Compare commits
192 Commits
0.4.16
...
2018-12-01
Author | SHA1 | Date | |
---|---|---|---|
ef5d30c92d | |||
f2fff77e90 | |||
f37b21e632 | |||
c9a951c2e8 | |||
f5a60ba407 | |||
d7dfd11364 | |||
4c20de48b2 | |||
9725fa2f28 | |||
25c00a6e05 | |||
d8ed6d3af4 | |||
a69c210b56 | |||
cb8a4f3cec | |||
002bcbf850 | |||
6fdda18390 | |||
6492b8ec76 | |||
8186f003be | |||
d19f4fc518 | |||
92a55c3985 | |||
1a396c707c | |||
ea94718a9a | |||
bfd44443a2 | |||
7ee48e0938 | |||
cb5530c6c8 | |||
cb692d2188 | |||
91bd0c7e98 | |||
57fc8c67f8 | |||
a2e183c6f3 | |||
fb91ba53f1 | |||
97522b6a24 | |||
755dd26208 | |||
56362cdd2a | |||
28a3ba44d1 | |||
d659cb38b3 | |||
83c3030494 | |||
8fa259c93f | |||
8db1f02bca | |||
59d9e0b97d | |||
ee0c276900 | |||
e46e2f8c45 | |||
67b777885b | |||
a2f9be258e | |||
d71e371d17 | |||
c2bd682388 | |||
82524cb448 | |||
8ffef8e43c | |||
7b167224f4 | |||
8817918a53 | |||
dfc09f3acc | |||
75978a0207 | |||
538e33c537 | |||
86fa342d85 | |||
d4b32d5fa3 | |||
4d1c8d5529 | |||
bd172a3ca1 | |||
b7714df954 | |||
b2b29a1737 | |||
9df0ec7edb | |||
fd4bd8eadc | |||
0913098a9d | |||
efcec7bdce | |||
3a85152e4d | |||
7f7dfb79d5 | |||
7b141fb0ea | |||
38a893ec82 | |||
0a97abcaf6 | |||
653aaffa3e | |||
084bbc6c0b | |||
a69c5e24a9 | |||
0a4d15d26e | |||
909b321f3c | |||
d68d3d5852 | |||
a7c171940e | |||
aacd5ec829 | |||
7bacbdf015 | |||
0dd1dbc901 | |||
c55374cdfa | |||
fd978204dd | |||
e41167813b | |||
0e74978a73 | |||
04db73aa6c | |||
15bb7b129c | |||
30bedbfecc | |||
edbb3aace9 | |||
fa4817136c | |||
2e0891cf1b | |||
cd9102cef1 | |||
eefcbc1e86 | |||
47ba123113 | |||
4915b2564f | |||
f8cb55a60e | |||
366dd24e5b | |||
a81834558a | |||
b0de9d9958 | |||
a028aef9c9 | |||
467907602b | |||
085ee7b497 | |||
72f793e2b3 | |||
084174123d | |||
d5e3f1cf68 | |||
ce0983d239 | |||
c2553928f2 | |||
eaf6c33bae | |||
32a24730f1 | |||
e98e4e268b | |||
7e09da50c2 | |||
6a25e56336 | |||
f94c93bb59 | |||
d4346919bc | |||
9ab197af2f | |||
07e769d1b9 | |||
bd32b4fca2 | |||
453a114cd0 | |||
187e755aa5 | |||
ea92bfe4d3 | |||
91d057fcab | |||
9c770532e6 | |||
be1a6d53aa | |||
65b3448796 | |||
016f9de82f | |||
608a9a6980 | |||
34cfee8a2f | |||
1669cfd451 | |||
d175f0b94f | |||
157f117c62 | |||
57362118dc | |||
6f90ee0875 | |||
31a67cf4f9 | |||
4f58a3039c | |||
465e28cbd3 | |||
7eb5dc6aca | |||
750612181a | |||
894ea5174f | |||
8e53526b54 | |||
76ebd0a0e1 | |||
667eeb7d09 | |||
dc13ec619f | |||
9abdeb3d62 | |||
df3d54f58a | |||
de44593b41 | |||
396a4fdacd | |||
13383770ef | |||
a1fc493de1 | |||
e6b55028fc | |||
caacc2a261 | |||
0fb0eab723 | |||
f3cd1b61d7 | |||
d9b616c5f0 | |||
f7b1719767 | |||
3a1edac06c | |||
e615a1013b | |||
f3a94fcd24 | |||
15b41d14f3 | |||
463e7a206a | |||
4cf9c90bb9 | |||
3486ee319e | |||
aee23d7642 | |||
ec9cf1df50 | |||
31741e33e2 | |||
21892456f5 | |||
c3627551b0 | |||
d69941a0ae | |||
afcec82ae3 | |||
aaef5eb22b | |||
7498a32364 | |||
8dfbcad949 | |||
0251baf692 | |||
40eeaac2ec | |||
10221c6c15 | |||
ca4837f1c6 | |||
879b4489b2 | |||
1666dfc2c7 | |||
9d01482488 | |||
3e827c23b9 | |||
2d70d2b657 | |||
df8ef255a3 | |||
69133818f7 | |||
d6dcd51302 | |||
c3708b154c | |||
67350b55bb | |||
c5e5aa069f | |||
6a0fe9f3c0 | |||
59ac978093 | |||
64a5b18e89 | |||
f82570f580 | |||
2adcd3e777 | |||
cf93eca017 | |||
b2bb4c5280 | |||
736d67784c | |||
e8e9de04dd | |||
05c0a8670b | |||
a5e1bfa0e8 | |||
c57a35d5bd |
2
README
@ -1,7 +1,7 @@
|
|||||||
This mod uses nodeboxes to supply a complete set of 3D pipes and tubes,
|
This mod uses nodeboxes to supply a complete set of 3D pipes and tubes,
|
||||||
along devices that work with them.
|
along devices that work with them.
|
||||||
|
|
||||||
See https://github.com/VanessaE/pipeworks/wiki/ for detailed information about usage of this mod.
|
See https://gitlab.com/VanessaE/pipeworks/wikis/ for detailed information about usage of this mod.
|
||||||
|
|
||||||
Unlike the previous version of this mod, these pipes are rounded, and when
|
Unlike the previous version of this mod, these pipes are rounded, and when
|
||||||
placed, they'll automatically join together as needed. Pipes can go vertically
|
placed, they'll automatically join together as needed. Pipes can go vertically
|
||||||
|
@ -407,7 +407,7 @@ minetest.register_craft( {
|
|||||||
output = "pipeworks:autocrafter 2",
|
output = "pipeworks:autocrafter 2",
|
||||||
recipe = {
|
recipe = {
|
||||||
{ "default:steel_ingot", "default:mese_crystal", "default:steel_ingot" },
|
{ "default:steel_ingot", "default:mese_crystal", "default:steel_ingot" },
|
||||||
{ "homedecor:plastic_sheeting", "default:steel_ingot", "homedecor:plastic_sheeting" },
|
{ "basic_materials:plastic_sheet", "default:steel_ingot", "basic_materials:plastic_sheet" },
|
||||||
{ "default:steel_ingot", "default:mese_crystal", "default:steel_ingot" }
|
{ "default:steel_ingot", "default:mese_crystal", "default:steel_ingot" }
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
9
autodetect-finite-water.lua
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
-- enable finite liquid in the presence of dynamic liquid to preserve water volume.
|
||||||
|
local enable = false
|
||||||
|
|
||||||
|
if minetest.get_modpath("dynamic_liquid") then
|
||||||
|
pipeworks.logger("detected mod dynamic_liquid, enabling finite liquid flag")
|
||||||
|
enable = true
|
||||||
|
end
|
||||||
|
|
||||||
|
pipeworks.toggles.finite_water = enable
|
@ -159,6 +159,18 @@ function pipeworks.scan_pipe_surroundings(pos)
|
|||||||
pzp = f or pzp
|
pzp = f or pzp
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- ...straight-only pipe...
|
||||||
|
|
||||||
|
local match,a,b,c,d,e,f = pipeworks.get_axis_dir(nodetable, "pipeworks:straight_pipe")
|
||||||
|
if match then
|
||||||
|
pxm = a or pxm
|
||||||
|
pxp = b or pxp
|
||||||
|
pym = c or pym
|
||||||
|
pyp = d or pyp
|
||||||
|
pzm = e or pzm
|
||||||
|
pzp = f or pzp
|
||||||
|
end
|
||||||
|
|
||||||
-- ... other nodes
|
-- ... other nodes
|
||||||
|
|
||||||
local def_left = minetest.registered_nodes[nxp.name] -- the node that {pos} is to the left of (not the
|
local def_left = minetest.registered_nodes[nxp.name] -- the node that {pos} is to the left of (not the
|
||||||
|
@ -111,6 +111,22 @@ function pipeworks.after_dig(pos)
|
|||||||
pipeworks.scan_for_tube_objects(pos)
|
pipeworks.scan_for_tube_objects(pos)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Screwdriver calls this function before rotating a node.
|
||||||
|
-- However, connections must be updated *after* the node is rotated
|
||||||
|
-- So, this function does the rotation itself and returns `true`.
|
||||||
|
-- (Note: screwdriver already checks for protected areas.)
|
||||||
|
|
||||||
|
-- This should only be used for tubes that don't autoconnect.
|
||||||
|
-- (For example, one-way tubes.)
|
||||||
|
-- Autoconnecting tubes will just revert back to their original state
|
||||||
|
-- when they are updated.
|
||||||
|
function pipeworks.on_rotate(pos, node, user, mode, new_param2)
|
||||||
|
node.param2 = new_param2
|
||||||
|
minetest.swap_node(pos, node)
|
||||||
|
pipeworks.scan_for_tube_objects(pos)
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
if minetest.get_modpath("mesecons_mvps") then
|
if minetest.get_modpath("mesecons_mvps") then
|
||||||
mesecon.register_on_mvps_move(function(moved_nodes)
|
mesecon.register_on_mvps_move(function(moved_nodes)
|
||||||
for _, n in ipairs(moved_nodes) do
|
for _, n in ipairs(moved_nodes) do
|
||||||
|
@ -1,6 +1,55 @@
|
|||||||
Changelog
|
Changelog
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2017-10-19 (thetaepsilon)
|
||||||
|
Directional flowables are now implemented.
|
||||||
|
All devices for which it is relevant (valve, flow sensor etc.) have been converted so that they only flow on their connecting sides, so pressure propogation now works as expected for these devices when pressure logic is enabled.
|
||||||
|
Classic mode continues to be preserved by default as before.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2017-10-14 (thetaepsilon, VanessaE)
|
||||||
|
Node breakers have been updated to not have a tool by default, and determine if the node that they are trying to break can be dug with the tool in it's inventory slot.
|
||||||
|
The crafting recipe for the node breakers has been updated, using a new gear crafting item that requires iron instead of mese, which should be a more accessible cost in most cases.
|
||||||
|
Existing node breakers in worlds will get their mese pick back if their slot is empty via LBM - the mese pick will show up in the inventory slot so you can reclaim your hard-earned mese crystals.
|
||||||
|
Gear item texture and updated node breaker textures provided by VanessaE.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2017-10-08 (thetaepsilon)
|
||||||
|
A lot more of the new flow logic work.
|
||||||
|
There are two sub-modes of this now, non-finite and finite mode.
|
||||||
|
Non-finite mode most closely resembles "classic mode", whereas finite mode is more intended for use with mods such as dynamic_liquids which enable water sources to move themselves.
|
||||||
|
Everything that was functional in classic mode more or less works correctly now.
|
||||||
|
Still TODO:
|
||||||
|
+ Flow directionality - things like flow sensors and airtight panels will flow in directions that don't make sense from their visuals.
|
||||||
|
Possible feature requests:
|
||||||
|
+ Making tanks and gratings do something useful.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2017-09-27 (thetaepsilon)
|
||||||
|
Start of new flow logic re-implementation.
|
||||||
|
This mode is current *very* incomplete, and requires a per-world setting to enable.
|
||||||
|
Adds a pressure value stored in all pipe node metadata, and a mechanism to balance it out with nearby nodes on ABM trigger.
|
||||||
|
Currently, this inhibits the old behaviour when enabled, and (again WHEN ENABLED) breaks pretty much everything but normal pipes, spigots and pumps.
|
||||||
|
For this reason it is far from being intended as the default for some time to come yet.
|
||||||
|
What *does* work:
|
||||||
|
+ Pumps will try to take in water (and removes it!) as long as internal pressure does not exceed a threshold.
|
||||||
|
- a TODO is to make this pressure threshold configurable.
|
||||||
|
+ Pipes will balance this pressure between themselves, and will slowly average out over time.
|
||||||
|
+ Spigots will try to make the node beneath them a water source if the pressure is great enough and the existing node is flowing water or air.
|
||||||
|
- This is admittedly of fairly limited use with default water mechanics; those looking for more realistic mechanics might want to look at the dynamic_liquid mod, though that mod comes with it's own caveats (most notably drastic changes to previous worlds...).
|
||||||
|
What *does not* work:
|
||||||
|
+ Flow sensors, valves. Valves in particular currently do not function as a barrier to water's path under the experimental logic.
|
||||||
|
- TODO: internal code to allow this to be overriden.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*seems this hasn't been updated in a while*
|
||||||
|
|
||||||
2013-01-13: Tubes can transport items now! Namely, I added Novatux/Nore's item
|
2013-01-13: Tubes can transport items now! Namely, I added Novatux/Nore's item
|
||||||
transport mod as a default part of this mod, to make tubes do something useful!
|
transport mod as a default part of this mod, to make tubes do something useful!
|
||||||
Thanks to Nore and RealBadAngel for the code contributions!
|
Thanks to Nore and RealBadAngel for the code contributions!
|
||||||
|
131
common.lua
@ -157,3 +157,134 @@ function pipeworks.load_position(pos)
|
|||||||
local vm = minetest.get_voxel_manip()
|
local vm = minetest.get_voxel_manip()
|
||||||
vm:read_from_map(pos, pos)
|
vm:read_from_map(pos, pos)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function delay(...)
|
||||||
|
local args = {...}
|
||||||
|
return (function() return unpack(args) end)
|
||||||
|
end
|
||||||
|
|
||||||
|
local function get_set_wrap(name, is_dynamic)
|
||||||
|
return (function(self)
|
||||||
|
return self["_" .. name]
|
||||||
|
end), (function(self, value)
|
||||||
|
if is_dynamic then
|
||||||
|
self["_" .. name] = type(value) == "table"
|
||||||
|
and table.copy(value) or value
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
function pipeworks.create_fake_player(def, is_dynamic)
|
||||||
|
local wielded_item = ItemStack("")
|
||||||
|
if def.inventory and def.wield_list then
|
||||||
|
wielded_item = def.inventory:get_stack(def.wield_list, def.wield_index or 1)
|
||||||
|
end
|
||||||
|
local p = {
|
||||||
|
get_player_name = delay(def.name),
|
||||||
|
is_player = delay(true),
|
||||||
|
is_fake_player = true,
|
||||||
|
|
||||||
|
_formspec = def.formspec or default.gui_survival_form,
|
||||||
|
_hp = def.hp or 20,
|
||||||
|
_breath = 11,
|
||||||
|
_pos = def.position and table.copy(def.position) or vector.new(),
|
||||||
|
_properties = def.properties or { eye_height = def.eye_height or 1.47 },
|
||||||
|
_inventory = def.inventory,
|
||||||
|
_wield_index = def.wield_index or 1,
|
||||||
|
_wielded_item = wielded_item,
|
||||||
|
|
||||||
|
-- Model and view
|
||||||
|
_eye_offset1 = vector.new(),
|
||||||
|
_eye_offset3 = vector.new(),
|
||||||
|
set_eye_offset = function(self, first, third)
|
||||||
|
self._eye_offset1 = table.copy(first)
|
||||||
|
self._eye_offset3 = table.copy(third)
|
||||||
|
end,
|
||||||
|
get_eye_offset = function(self)
|
||||||
|
return self._eye_offset1, self._eye_offset3
|
||||||
|
end,
|
||||||
|
get_look_dir = delay(def.look_dir or {x=0, y=0, z=1}),
|
||||||
|
get_look_pitch = delay(def.look_pitch or 0),
|
||||||
|
get_look_yaw = delay(def.look_yaw or 0),
|
||||||
|
get_look_horizontal = delay(def.look_yaw or 0),
|
||||||
|
get_look_vertical = delay(-(def.look_pitch or 0)),
|
||||||
|
set_animation = delay(),
|
||||||
|
|
||||||
|
-- Controls
|
||||||
|
get_player_control = delay({
|
||||||
|
jump=false, right=false, left=false, LMB=false, RMB=false,
|
||||||
|
sneak=def.sneak, aux1=false, down=false, up=false
|
||||||
|
}),
|
||||||
|
get_player_control_bits = delay(def.sneak and 64 or 0),
|
||||||
|
|
||||||
|
-- Inventory and ItemStacks
|
||||||
|
get_inventory = delay(def.inventory),
|
||||||
|
set_wielded_item = function(self, item)
|
||||||
|
if self._inventory and def.wield_list then
|
||||||
|
return self._inventory:set_stack(def.wield_list,
|
||||||
|
self._wield_index, item)
|
||||||
|
end
|
||||||
|
_wielded_item = ItemStack(item)
|
||||||
|
end,
|
||||||
|
get_wielded_item = function(self, item)
|
||||||
|
if self._inventory and def.wield_list then
|
||||||
|
return self._inventory:get_stack(def.wield_list,
|
||||||
|
self._wield_index)
|
||||||
|
end
|
||||||
|
return ItemStack(self._wielded_item)
|
||||||
|
end,
|
||||||
|
get_wield_list = delay(def.wield_list),
|
||||||
|
|
||||||
|
punch = delay(),
|
||||||
|
remove = delay(),
|
||||||
|
right_click = delay(),
|
||||||
|
set_attach = delay(),
|
||||||
|
set_detach = delay(),
|
||||||
|
set_bone_position = delay(),
|
||||||
|
hud_change = delay(),
|
||||||
|
}
|
||||||
|
local _trash
|
||||||
|
-- Getter & setter functions
|
||||||
|
p.get_inventory_formspec, p.set_inventory_formspec
|
||||||
|
= get_set_wrap("formspec", is_dynamic)
|
||||||
|
p.get_breath, p.set_breath = get_set_wrap("breath", is_dynamic)
|
||||||
|
p.get_hp, p.set_hp = get_set_wrap("hp", is_dynamic)
|
||||||
|
p.get_pos, p.set_pos = get_set_wrap("pos", is_dynamic)
|
||||||
|
_trash, p.move_to = get_set_wrap("pos", is_dynamic)
|
||||||
|
p.get_wield_index, p.set_wield_index = get_set_wrap("wield_index", true)
|
||||||
|
p.get_properties, p.set_properties = get_set_wrap("properties", false)
|
||||||
|
|
||||||
|
-- Backwards compatibilty
|
||||||
|
p.getpos = p.get_pos
|
||||||
|
p.setpos = p.set_pos
|
||||||
|
p.moveto = p.move_to
|
||||||
|
|
||||||
|
-- TODO "implement" all these
|
||||||
|
-- set_armor_groups
|
||||||
|
-- get_armor_groups
|
||||||
|
-- get_animation
|
||||||
|
-- get_bone_position
|
||||||
|
-- get_player_velocity
|
||||||
|
-- set_look_pitch
|
||||||
|
-- set_look_yaw
|
||||||
|
-- set_physics_override
|
||||||
|
-- get_physics_override
|
||||||
|
-- hud_add
|
||||||
|
-- hud_remove
|
||||||
|
-- hud_get
|
||||||
|
-- hud_set_flags
|
||||||
|
-- hud_get_flags
|
||||||
|
-- hud_set_hotbar_itemcount
|
||||||
|
-- hud_get_hotbar_itemcount
|
||||||
|
-- hud_set_hotbar_image
|
||||||
|
-- hud_get_hotbar_image
|
||||||
|
-- hud_set_hotbar_selected_image
|
||||||
|
-- hud_get_hotbar_selected_image
|
||||||
|
-- hud_replace_builtin
|
||||||
|
-- set_sky
|
||||||
|
-- get_sky
|
||||||
|
-- override_day_night_ratio
|
||||||
|
-- get_day_night_ratio
|
||||||
|
-- set_local_animation
|
||||||
|
return p
|
||||||
|
end
|
||||||
|
@ -44,6 +44,7 @@ local function chest_lid_obstructed(pos)
|
|||||||
local above = { x = pos.x, y = pos.y + 1, z = pos.z }
|
local above = { x = pos.x, y = pos.y + 1, z = pos.z }
|
||||||
local def = minetest.registered_nodes[minetest.get_node(above).name]
|
local def = minetest.registered_nodes[minetest.get_node(above).name]
|
||||||
-- allow ladders, signs, wallmounted things and torches to not obstruct
|
-- allow ladders, signs, wallmounted things and torches to not obstruct
|
||||||
|
if not def then return true end
|
||||||
if def.drawtype == "airlike" or
|
if def.drawtype == "airlike" or
|
||||||
def.drawtype == "signlike" or
|
def.drawtype == "signlike" or
|
||||||
def.drawtype == "torchlike" or
|
def.drawtype == "torchlike" or
|
||||||
@ -142,9 +143,11 @@ override_protected = {
|
|||||||
end
|
end
|
||||||
return inv:room_for_item("main", stack)
|
return inv:room_for_item("main", stack)
|
||||||
end,
|
end,
|
||||||
|
input_inventory = "main",
|
||||||
connect_sides = {left = 1, right = 1, back = 1, bottom = 1, top = 1}
|
connect_sides = {left = 1, right = 1, back = 1, bottom = 1, top = 1}
|
||||||
},
|
},
|
||||||
after_dig_node = pipeworks.after_dig
|
after_dig_node = pipeworks.after_dig,
|
||||||
|
on_rotate = pipeworks.on_rotate
|
||||||
}
|
}
|
||||||
override = {
|
override = {
|
||||||
tiles = {
|
tiles = {
|
||||||
@ -188,7 +191,8 @@ override = {
|
|||||||
connect_sides = {left = 1, right = 1, back = 1, bottom = 1, top = 1}
|
connect_sides = {left = 1, right = 1, back = 1, bottom = 1, top = 1}
|
||||||
},
|
},
|
||||||
after_place_node = pipeworks.after_place,
|
after_place_node = pipeworks.after_place,
|
||||||
after_dig_node = pipeworks.after_dig
|
after_dig_node = pipeworks.after_dig,
|
||||||
|
on_rotate = pipeworks.on_rotate
|
||||||
}
|
}
|
||||||
--[[local override_common = {
|
--[[local override_common = {
|
||||||
|
|
||||||
|
@ -355,7 +355,8 @@ minetest.register_node(":default:furnace", {
|
|||||||
meta:set_string("formspec", formspec)
|
meta:set_string("formspec", formspec)
|
||||||
end,
|
end,
|
||||||
after_place_node = pipeworks.after_place,
|
after_place_node = pipeworks.after_place,
|
||||||
after_dig_node = pipeworks.after_dig
|
after_dig_node = pipeworks.after_dig,
|
||||||
|
on_rotate = pipeworks.on_rotate
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node(":default:furnace_active", {
|
minetest.register_node(":default:furnace_active", {
|
||||||
@ -428,6 +429,7 @@ minetest.register_node(":default:furnace_active", {
|
|||||||
meta:set_string("formspec", formspec)
|
meta:set_string("formspec", formspec)
|
||||||
end,
|
end,
|
||||||
after_place_node = pipeworks.after_place,
|
after_place_node = pipeworks.after_place,
|
||||||
after_dig_node = pipeworks.after_dig
|
after_dig_node = pipeworks.after_dig,
|
||||||
|
on_rotate = pipeworks.on_rotate
|
||||||
})
|
})
|
||||||
|
|
||||||
|
78
crafts.lua
@ -9,6 +9,13 @@ minetest.register_craft( {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_craft( {
|
||||||
|
output = "pipeworks:straight_pipe_empty 3",
|
||||||
|
recipe = {
|
||||||
|
{ "pipeworks:pipe_1_empty", "pipeworks:pipe_1_empty", "pipeworks:pipe_1_empty" },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
minetest.register_craft( {
|
minetest.register_craft( {
|
||||||
output = "pipeworks:spigot 3",
|
output = "pipeworks:spigot 3",
|
||||||
recipe = {
|
recipe = {
|
||||||
@ -78,74 +85,3 @@ minetest.register_craft( {
|
|||||||
{ "pipeworks:pipe_1_empty" }
|
{ "pipeworks:pipe_1_empty" }
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
-- Crafting recipes for pneumatic tubes
|
|
||||||
|
|
||||||
-- If homedecor is not installed, we need to register its crafting chain for
|
|
||||||
-- plastic sheeting so that pipeworks remains compatible with it.
|
|
||||||
|
|
||||||
if minetest.get_modpath("homedecor") == nil then
|
|
||||||
|
|
||||||
minetest.register_craftitem(":homedecor:oil_extract", {
|
|
||||||
description = "Oil extract",
|
|
||||||
inventory_image = "homedecor_oil_extract.png",
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craftitem(":homedecor:paraffin", {
|
|
||||||
description = "Unprocessed paraffin",
|
|
||||||
inventory_image = "homedecor_paraffin.png",
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_alias("homedecor:plastic_base", "homedecor:paraffin")
|
|
||||||
|
|
||||||
minetest.register_craftitem(":homedecor:plastic_sheeting", {
|
|
||||||
description = "Plastic sheet",
|
|
||||||
inventory_image = "homedecor_plastic_sheeting.png",
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "shapeless",
|
|
||||||
output = "homedecor:oil_extract 4",
|
|
||||||
recipe = {
|
|
||||||
"group:leaves",
|
|
||||||
"group:leaves",
|
|
||||||
"group:leaves",
|
|
||||||
"group:leaves",
|
|
||||||
"group:leaves",
|
|
||||||
"group:leaves"
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "cooking",
|
|
||||||
output = "homedecor:paraffin",
|
|
||||||
recipe = "homedecor:oil_extract",
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "cooking",
|
|
||||||
output = "homedecor:plastic_sheeting",
|
|
||||||
recipe = "homedecor:paraffin",
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "fuel",
|
|
||||||
recipe = "homedecor:oil_extract",
|
|
||||||
burntime = 30,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "fuel",
|
|
||||||
recipe = "homedecor:paraffin",
|
|
||||||
burntime = 30,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "fuel",
|
|
||||||
recipe = "homedecor:plastic_sheeting",
|
|
||||||
burntime = 30,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@ minetest.register_node("pipeworks:steel_block_embedded_tube", {
|
|||||||
},
|
},
|
||||||
after_place_node = pipeworks.after_place,
|
after_place_node = pipeworks.after_place,
|
||||||
after_dig_node = pipeworks.after_dig,
|
after_dig_node = pipeworks.after_dig,
|
||||||
|
on_rotate = pipeworks.on_rotate,
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft( {
|
minetest.register_craft( {
|
||||||
@ -71,6 +72,7 @@ minetest.register_node("pipeworks:steel_pane_embedded_tube", {
|
|||||||
},
|
},
|
||||||
after_place_node = pipeworks.after_place,
|
after_place_node = pipeworks.after_place,
|
||||||
after_dig_node = pipeworks.after_dig,
|
after_dig_node = pipeworks.after_dig,
|
||||||
|
on_rotate = pipeworks.on_rotate,
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft( {
|
minetest.register_craft( {
|
||||||
|
@ -4,6 +4,7 @@ local prefix = "pipeworks_"
|
|||||||
|
|
||||||
local settings = {
|
local settings = {
|
||||||
enable_pipes = true,
|
enable_pipes = true,
|
||||||
|
enable_lowpoly = false,
|
||||||
enable_autocrafter = true,
|
enable_autocrafter = true,
|
||||||
enable_deployer = true,
|
enable_deployer = true,
|
||||||
enable_dispenser = true,
|
enable_dispenser = true,
|
||||||
@ -15,18 +16,49 @@ local settings = {
|
|||||||
enable_detector_tube = true,
|
enable_detector_tube = true,
|
||||||
enable_digiline_detector_tube = true,
|
enable_digiline_detector_tube = true,
|
||||||
enable_conductor_tube = true,
|
enable_conductor_tube = true,
|
||||||
|
enable_digiline_conductor_tube = true,
|
||||||
enable_accelerator_tube = true,
|
enable_accelerator_tube = true,
|
||||||
enable_crossing_tube = true,
|
enable_crossing_tube = true,
|
||||||
enable_sand_tube = true,
|
enable_sand_tube = true,
|
||||||
enable_mese_sand_tube = true,
|
enable_mese_sand_tube = true,
|
||||||
enable_one_way_tube = true,
|
enable_one_way_tube = true,
|
||||||
enable_priority_tube = true,
|
enable_priority_tube = true,
|
||||||
|
enable_lua_tube = true,
|
||||||
enable_cyclic_mode = true,
|
enable_cyclic_mode = true,
|
||||||
drop_on_routing_fail = false,
|
drop_on_routing_fail = false,
|
||||||
|
|
||||||
delete_item_on_clearobject = true,
|
delete_item_on_clearobject = true,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pipeworks.toggles = {}
|
||||||
|
-- documentation for toggles controlling pressure logic features.
|
||||||
|
-- do not edit this file directly;
|
||||||
|
-- instead, create pipeworks_settings.txt in your world directory,
|
||||||
|
-- and copy the uncommented lines from the block comments below into it.
|
||||||
|
--[[
|
||||||
|
-- flow logic implementation.
|
||||||
|
-- set to one of the following strings.
|
||||||
|
-- "classic": classic mode written by VanessaE
|
||||||
|
-- "pressure": pressure metadata based, written by thetaepsilon.
|
||||||
|
-- has caveats such as water speed issues though.
|
||||||
|
-- setting to nil inhibits all flow logic, useful for debugging ABM crashes,
|
||||||
|
-- or for rendering the pipes purely decorative.
|
||||||
|
]]
|
||||||
|
pipeworks.toggles.pipe_mode = "classic"
|
||||||
|
--[[
|
||||||
|
-- force-enable finite water handling mode.
|
||||||
|
-- this changes the way that water node placement is handled;
|
||||||
|
-- volume will always be preserved,
|
||||||
|
-- and water is assumed to move itself downwards.
|
||||||
|
-- nil (the default) means autodetect from installed finite liquid mods,
|
||||||
|
-- true is force-on, false is force-off.
|
||||||
|
-- note that you should NOT normally explicitly set this to true/false,
|
||||||
|
-- unless the mod you want this for is not covered by auto-detection
|
||||||
|
-- (please see autodetect-finite-water.lua).
|
||||||
|
-- please file an issue if you have a finite water mod not covered there,
|
||||||
|
-- and feel it necessary to explicitly set this toggle
|
||||||
|
pipeworks.toggles.finite_water = nil
|
||||||
|
]]
|
||||||
|
|
||||||
for name, value in pairs(settings) do
|
for name, value in pairs(settings) do
|
||||||
local setting_type = type(value)
|
local setting_type = type(value)
|
||||||
if setting_type == "boolean" then
|
if setting_type == "boolean" then
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
default
|
default
|
||||||
mesecons?
|
basic_materials
|
||||||
mesecons_mvps?
|
mesecons
|
||||||
|
mesecons_mvps
|
||||||
digilines?
|
digilines?
|
||||||
|
202
devices.lua
@ -1,3 +1,7 @@
|
|||||||
|
local new_flow_logic_register = pipeworks.flowables.register
|
||||||
|
|
||||||
|
local polys = ""
|
||||||
|
if pipeworks.enable_lowpoly then polys = "_lowpoly" end
|
||||||
|
|
||||||
-- rotation handlers
|
-- rotation handlers
|
||||||
|
|
||||||
@ -68,7 +72,7 @@ function pipeworks.rotate_on_place(itemstack, placer, pointed_thing)
|
|||||||
local placednode = string.gsub(itemstack:get_name(), "_loaded", "_empty")
|
local placednode = string.gsub(itemstack:get_name(), "_loaded", "_empty")
|
||||||
placednode = string.gsub(placednode, "_on", "_off")
|
placednode = string.gsub(placednode, "_on", "_off")
|
||||||
|
|
||||||
minetest.add_node(pos1, {name = placednode, param2 = fdir })
|
minetest.swap_node(pos1, {name = placednode, param2 = fdir })
|
||||||
pipeworks.scan_for_pipe_objects(pos1)
|
pipeworks.scan_for_pipe_objects(pos1)
|
||||||
|
|
||||||
if not pipeworks.expect_infinite_stacks then
|
if not pipeworks.expect_infinite_stacks then
|
||||||
@ -129,10 +133,11 @@ for s in ipairs(states) do
|
|||||||
dgroups = {snappy=3, pipe=1, not_in_creative_inventory=1}
|
dgroups = {snappy=3, pipe=1, not_in_creative_inventory=1}
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_node("pipeworks:pump_"..states[s], {
|
local pumpname = "pipeworks:pump_"..states[s]
|
||||||
|
minetest.register_node(pumpname, {
|
||||||
description = "Pump/Intake Module",
|
description = "Pump/Intake Module",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
mesh = "pipeworks_pump.obj",
|
mesh = "pipeworks_pump"..polys..".obj",
|
||||||
tiles = { "pipeworks_pump_"..states[s]..".png" },
|
tiles = { "pipeworks_pump_"..states[s]..".png" },
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
@ -149,23 +154,33 @@ for s in ipairs(states) do
|
|||||||
drop = "pipeworks:pump_off",
|
drop = "pipeworks:pump_off",
|
||||||
mesecons = {effector = {
|
mesecons = {effector = {
|
||||||
action_on = function (pos, node)
|
action_on = function (pos, node)
|
||||||
minetest.add_node(pos,{name="pipeworks:pump_on", param2 = node.param2})
|
minetest.swap_node(pos,{name="pipeworks:pump_on", param2 = node.param2})
|
||||||
end,
|
end,
|
||||||
action_off = function (pos, node)
|
action_off = function (pos, node)
|
||||||
minetest.add_node(pos,{name="pipeworks:pump_off", param2 = node.param2})
|
minetest.swap_node(pos,{name="pipeworks:pump_off", param2 = node.param2})
|
||||||
end
|
end
|
||||||
}},
|
}},
|
||||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
local fdir = node.param2
|
local fdir = node.param2
|
||||||
minetest.add_node(pos, { name = "pipeworks:pump_"..states[3-s], param2 = fdir })
|
minetest.swap_node(pos, { name = "pipeworks:pump_"..states[3-s], param2 = fdir })
|
||||||
end,
|
end,
|
||||||
on_rotate = screwdriver.rotate_simple
|
on_rotate = screwdriver.rotate_simple
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("pipeworks:valve_"..states[s].."_empty", {
|
-- FIXME: this currently assumes that pumps can only rotate around the fixed axis pointing Y+.
|
||||||
|
new_flow_logic_register.directional_vertical_fixed(pumpname, true)
|
||||||
|
local pump_drive = 4
|
||||||
|
if states[s] ~= "off" then
|
||||||
|
new_flow_logic_register.intake_simple(pumpname, pump_drive)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
local nodename_valve_empty = "pipeworks:valve_"..states[s].."_empty"
|
||||||
|
minetest.register_node(nodename_valve_empty, {
|
||||||
description = "Valve",
|
description = "Valve",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
mesh = "pipeworks_valve_"..states[s]..".obj",
|
mesh = "pipeworks_valve_"..states[s]..polys..".obj",
|
||||||
tiles = { "pipeworks_valve.png" },
|
tiles = { "pipeworks_valve.png" },
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
@ -188,24 +203,30 @@ for s in ipairs(states) do
|
|||||||
drop = "pipeworks:valve_off_empty",
|
drop = "pipeworks:valve_off_empty",
|
||||||
mesecons = {effector = {
|
mesecons = {effector = {
|
||||||
action_on = function (pos, node)
|
action_on = function (pos, node)
|
||||||
minetest.add_node(pos,{name="pipeworks:valve_on_empty", param2 = node.param2})
|
minetest.swap_node(pos,{name="pipeworks:valve_on_empty", param2 = node.param2})
|
||||||
end,
|
end,
|
||||||
action_off = function (pos, node)
|
action_off = function (pos, node)
|
||||||
minetest.add_node(pos,{name="pipeworks:valve_off_empty", param2 = node.param2})
|
minetest.swap_node(pos,{name="pipeworks:valve_off_empty", param2 = node.param2})
|
||||||
end
|
end
|
||||||
}},
|
}},
|
||||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
local fdir = node.param2
|
local fdir = node.param2
|
||||||
minetest.add_node(pos, { name = "pipeworks:valve_"..states[3-s].."_empty", param2 = fdir })
|
minetest.swap_node(pos, { name = "pipeworks:valve_"..states[3-s].."_empty", param2 = fdir })
|
||||||
end,
|
end,
|
||||||
on_rotate = pipeworks.fix_after_rotation
|
on_rotate = pipeworks.fix_after_rotation
|
||||||
})
|
})
|
||||||
|
-- only register flow logic for the "on" ABM.
|
||||||
|
-- this means that the off state automatically blocks flow by not participating in the balancing operation.
|
||||||
|
if states[s] ~= "off" then
|
||||||
|
new_flow_logic_register.directional_horizonal_rotate(nodename_valve_empty, true)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_node("pipeworks:valve_on_loaded", {
|
local nodename_valve_loaded = "pipeworks:valve_on_loaded"
|
||||||
|
minetest.register_node(nodename_valve_loaded, {
|
||||||
description = "Valve",
|
description = "Valve",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
mesh = "pipeworks_valve_on.obj",
|
mesh = "pipeworks_valve_on"..polys..".obj",
|
||||||
tiles = { "pipeworks_valve.png" },
|
tiles = { "pipeworks_valve.png" },
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
@ -228,21 +249,28 @@ minetest.register_node("pipeworks:valve_on_loaded", {
|
|||||||
drop = "pipeworks:valve_off_empty",
|
drop = "pipeworks:valve_off_empty",
|
||||||
mesecons = {effector = {
|
mesecons = {effector = {
|
||||||
action_on = function (pos, node)
|
action_on = function (pos, node)
|
||||||
minetest.add_node(pos,{name="pipeworks:valve_on_empty", param2 = node.param2})
|
minetest.swap_node(pos,{name="pipeworks:valve_on_empty", param2 = node.param2})
|
||||||
end,
|
end,
|
||||||
action_off = function (pos, node)
|
action_off = function (pos, node)
|
||||||
minetest.add_node(pos,{name="pipeworks:valve_off_empty", param2 = node.param2})
|
minetest.swap_node(pos,{name="pipeworks:valve_off_empty", param2 = node.param2})
|
||||||
end
|
end
|
||||||
}},
|
}},
|
||||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
local fdir = node.param2
|
local fdir = node.param2
|
||||||
minetest.add_node(pos, { name = "pipeworks:valve_off_empty", param2 = fdir })
|
minetest.swap_node(pos, { name = "pipeworks:valve_off_empty", param2 = fdir })
|
||||||
end,
|
end,
|
||||||
on_rotate = pipeworks.fix_after_rotation
|
on_rotate = pipeworks.fix_after_rotation
|
||||||
})
|
})
|
||||||
|
-- register this the same as the on-but-empty variant, so existing nodes of this type work also.
|
||||||
|
-- note that as new_flow_logic code does not distinguish empty/full in node states,
|
||||||
|
-- right-clicking a "loaded" valve (becoming an off valve) then turning it on again will yield a on-but-empty valve,
|
||||||
|
-- but the flow logic will still function.
|
||||||
|
-- thus under new_flow_logic this serves as a kind of migration.
|
||||||
|
new_flow_logic_register.directional_horizonal_rotate(nodename_valve_loaded, true)
|
||||||
|
|
||||||
-- grating
|
-- grating
|
||||||
|
|
||||||
|
-- FIXME: should this do anything useful in the new flow logic?
|
||||||
minetest.register_node("pipeworks:grating", {
|
minetest.register_node("pipeworks:grating", {
|
||||||
description = "Decorative grating",
|
description = "Decorative grating",
|
||||||
tiles = {
|
tiles = {
|
||||||
@ -275,10 +303,11 @@ minetest.register_node("pipeworks:grating", {
|
|||||||
|
|
||||||
-- outlet spigot
|
-- outlet spigot
|
||||||
|
|
||||||
minetest.register_node("pipeworks:spigot", {
|
local nodename_spigot_empty = "pipeworks:spigot"
|
||||||
|
minetest.register_node(nodename_spigot_empty, {
|
||||||
description = "Spigot outlet",
|
description = "Spigot outlet",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
mesh = "pipeworks_spigot.obj",
|
mesh = "pipeworks_spigot"..polys..".obj",
|
||||||
tiles = { "pipeworks_spigot.png" },
|
tiles = { "pipeworks_spigot.png" },
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
@ -305,10 +334,11 @@ minetest.register_node("pipeworks:spigot", {
|
|||||||
on_rotate = pipeworks.fix_after_rotation
|
on_rotate = pipeworks.fix_after_rotation
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("pipeworks:spigot_pouring", {
|
local nodename_spigot_loaded = "pipeworks:spigot_pouring"
|
||||||
|
minetest.register_node(nodename_spigot_loaded, {
|
||||||
description = "Spigot outlet",
|
description = "Spigot outlet",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
mesh = "pipeworks_spigot_pouring.obj",
|
mesh = "pipeworks_spigot_pouring"..polys..".obj",
|
||||||
tiles = {
|
tiles = {
|
||||||
{
|
{
|
||||||
name = "default_water_flowing_animated.png",
|
name = "default_water_flowing_animated.png",
|
||||||
@ -347,6 +377,17 @@ minetest.register_node("pipeworks:spigot_pouring", {
|
|||||||
drop = "pipeworks:spigot",
|
drop = "pipeworks:spigot",
|
||||||
on_rotate = pipeworks.fix_after_rotation
|
on_rotate = pipeworks.fix_after_rotation
|
||||||
})
|
})
|
||||||
|
-- new flow logic does not currently distinguish between these two visual states.
|
||||||
|
-- register both so existing flowing spigots continue to work (even if the visual doesn't match the spigot's behaviour).
|
||||||
|
new_flow_logic_register.directional_horizonal_rotate(nodename_spigot_empty, false)
|
||||||
|
new_flow_logic_register.directional_horizonal_rotate(nodename_spigot_loaded, false)
|
||||||
|
local spigot_upper = 1.0
|
||||||
|
local spigot_lower = 1.0
|
||||||
|
local spigot_neighbours={{x=0, y=-1, z=0}}
|
||||||
|
new_flow_logic_register.output_simple(nodename_spigot_empty, spigot_upper, spigot_lower, spigot_neighbours)
|
||||||
|
new_flow_logic_register.output_simple(nodename_spigot_loaded, spigot_upper, spigot_lower, spigot_neighbours)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- sealed pipe entry/exit (horizontal pipe passing through a metal
|
-- sealed pipe entry/exit (horizontal pipe passing through a metal
|
||||||
-- wall, for use in places where walls should look like they're airtight)
|
-- wall, for use in places where walls should look like they're airtight)
|
||||||
@ -359,10 +400,11 @@ local panel_cbox = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
minetest.register_node("pipeworks:entry_panel_empty", {
|
local nodename_panel_empty = "pipeworks:entry_panel_empty"
|
||||||
|
minetest.register_node(nodename_panel_empty, {
|
||||||
description = "Airtight Pipe entry/exit",
|
description = "Airtight Pipe entry/exit",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
mesh = "pipeworks_entry_panel.obj",
|
mesh = "pipeworks_entry_panel"..polys..".obj",
|
||||||
tiles = { "pipeworks_entry_panel.png" },
|
tiles = { "pipeworks_entry_panel.png" },
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
@ -378,10 +420,11 @@ minetest.register_node("pipeworks:entry_panel_empty", {
|
|||||||
on_rotate = pipeworks.fix_after_rotation
|
on_rotate = pipeworks.fix_after_rotation
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("pipeworks:entry_panel_loaded", {
|
local nodename_panel_loaded = "pipeworks:entry_panel_loaded"
|
||||||
|
minetest.register_node(nodename_panel_loaded, {
|
||||||
description = "Airtight Pipe entry/exit",
|
description = "Airtight Pipe entry/exit",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
mesh = "pipeworks_entry_panel.obj",
|
mesh = "pipeworks_entry_panel"..polys..".obj",
|
||||||
tiles = { "pipeworks_entry_panel.png" },
|
tiles = { "pipeworks_entry_panel.png" },
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
@ -397,11 +440,17 @@ minetest.register_node("pipeworks:entry_panel_loaded", {
|
|||||||
drop = "pipeworks:entry_panel_empty",
|
drop = "pipeworks:entry_panel_empty",
|
||||||
on_rotate = pipeworks.fix_after_rotation
|
on_rotate = pipeworks.fix_after_rotation
|
||||||
})
|
})
|
||||||
|
-- TODO: AFAIK the two panels have no visual difference, so are redundant under new flow logic - alias?
|
||||||
|
new_flow_logic_register.directional_horizonal_rotate(nodename_panel_empty, true)
|
||||||
|
new_flow_logic_register.directional_horizonal_rotate(nodename_panel_loaded, true)
|
||||||
|
|
||||||
minetest.register_node("pipeworks:flow_sensor_empty", {
|
|
||||||
|
|
||||||
|
local nodename_sensor_empty = "pipeworks:flow_sensor_empty"
|
||||||
|
minetest.register_node(nodename_sensor_empty, {
|
||||||
description = "Flow Sensor",
|
description = "Flow Sensor",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
mesh = "pipeworks_flow_sensor.obj",
|
mesh = "pipeworks_flow_sensor"..polys..".obj",
|
||||||
tiles = { "pipeworks_flow_sensor_off.png" },
|
tiles = { "pipeworks_flow_sensor_off.png" },
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
@ -436,10 +485,11 @@ minetest.register_node("pipeworks:flow_sensor_empty", {
|
|||||||
on_rotate = pipeworks.fix_after_rotation
|
on_rotate = pipeworks.fix_after_rotation
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("pipeworks:flow_sensor_loaded", {
|
local nodename_sensor_loaded = "pipeworks:flow_sensor_loaded"
|
||||||
|
minetest.register_node(nodename_sensor_loaded, {
|
||||||
description = "Flow sensor (on)",
|
description = "Flow sensor (on)",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
mesh = "pipeworks_flow_sensor.obj",
|
mesh = "pipeworks_flow_sensor"..polys..".obj",
|
||||||
tiles = { "pipeworks_flow_sensor_on.png" },
|
tiles = { "pipeworks_flow_sensor_on.png" },
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
@ -474,9 +524,17 @@ minetest.register_node("pipeworks:flow_sensor_loaded", {
|
|||||||
mesecons = pipereceptor_on,
|
mesecons = pipereceptor_on,
|
||||||
on_rotate = pipeworks.fix_after_rotation
|
on_rotate = pipeworks.fix_after_rotation
|
||||||
})
|
})
|
||||||
|
new_flow_logic_register.directional_horizonal_rotate(nodename_sensor_empty, true)
|
||||||
|
new_flow_logic_register.directional_horizonal_rotate(nodename_sensor_loaded, true)
|
||||||
|
-- activate flow sensor at roughly half the pressure pumps drive pipes
|
||||||
|
local sensor_pressure_set = { { nodename_sensor_empty, 0.0 }, { nodename_sensor_loaded, 1.0 } }
|
||||||
|
new_flow_logic_register.transition_simple_set(sensor_pressure_set, { mesecons=pipeworks.mesecons_rules })
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- tanks
|
-- tanks
|
||||||
|
|
||||||
|
-- TODO flow-logic-stub: these don't currently do anything under the new flow logic.
|
||||||
for fill = 0, 10 do
|
for fill = 0, 10 do
|
||||||
local filldesc="empty"
|
local filldesc="empty"
|
||||||
local sgroups = {snappy=3, pipe=1, tankfill=fill+1}
|
local sgroups = {snappy=3, pipe=1, tankfill=fill+1}
|
||||||
@ -547,10 +605,11 @@ end
|
|||||||
|
|
||||||
-- fountainhead
|
-- fountainhead
|
||||||
|
|
||||||
minetest.register_node("pipeworks:fountainhead", {
|
local nodename_fountain_empty = "pipeworks:fountainhead"
|
||||||
|
minetest.register_node(nodename_fountain_empty, {
|
||||||
description = "Fountainhead",
|
description = "Fountainhead",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
mesh = "pipeworks_fountainhead.obj",
|
mesh = "pipeworks_fountainhead"..polys..".obj",
|
||||||
tiles = { "pipeworks_fountainhead.png" },
|
tiles = { "pipeworks_fountainhead.png" },
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
@ -580,10 +639,11 @@ minetest.register_node("pipeworks:fountainhead", {
|
|||||||
on_rotate = false
|
on_rotate = false
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("pipeworks:fountainhead_pouring", {
|
local nodename_fountain_loaded = "pipeworks:fountainhead_pouring"
|
||||||
|
minetest.register_node(nodename_fountain_loaded, {
|
||||||
description = "Fountainhead",
|
description = "Fountainhead",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
mesh = "pipeworks_fountainhead.obj",
|
mesh = "pipeworks_fountainhead"..polys..".obj",
|
||||||
tiles = { "pipeworks_fountainhead.png" },
|
tiles = { "pipeworks_fountainhead.png" },
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
@ -614,25 +674,67 @@ minetest.register_node("pipeworks:fountainhead_pouring", {
|
|||||||
drop = "pipeworks:fountainhead",
|
drop = "pipeworks:fountainhead",
|
||||||
on_rotate = false
|
on_rotate = false
|
||||||
})
|
})
|
||||||
|
new_flow_logic_register.directional_vertical_fixed(nodename_fountain_empty, false)
|
||||||
|
new_flow_logic_register.directional_vertical_fixed(nodename_fountain_loaded, false)
|
||||||
|
local fountain_upper = 1.0
|
||||||
|
local fountain_lower = 1.0
|
||||||
|
local fountain_neighbours={{x=0, y=1, z=0}}
|
||||||
|
new_flow_logic_register.output_simple(nodename_fountain_empty, fountain_upper, fountain_lower, fountain_neighbours)
|
||||||
|
new_flow_logic_register.output_simple(nodename_fountain_loaded, fountain_upper, fountain_lower, fountain_neighbours)
|
||||||
|
|
||||||
|
local sp_cbox = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {
|
||||||
|
{ -2/16, -2/16, -8/16, 2/16, 2/16, 8/16 }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
local nodename_sp_empty = "pipeworks:straight_pipe_empty"
|
||||||
|
minetest.register_node(nodename_sp_empty, {
|
||||||
|
description = "Straight-only Pipe",
|
||||||
|
drawtype = "mesh",
|
||||||
|
mesh = "pipeworks_straight_pipe"..polys..".obj",
|
||||||
|
tiles = { "pipeworks_straight_pipe_empty.png" },
|
||||||
|
paramtype = "light",
|
||||||
|
paramtype2 = "facedir",
|
||||||
|
groups = {snappy=3, pipe=1},
|
||||||
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
walkable = true,
|
||||||
|
on_place = pipeworks.rotate_on_place,
|
||||||
|
after_dig_node = function(pos)
|
||||||
|
pipeworks.scan_for_pipe_objects(pos)
|
||||||
|
end,
|
||||||
|
selection_box = sp_cbox,
|
||||||
|
collision_box = sp_cbox,
|
||||||
|
on_rotate = pipeworks.fix_after_rotation
|
||||||
|
})
|
||||||
|
|
||||||
|
local nodename_sp_loaded = "pipeworks:straight_pipe_loaded"
|
||||||
|
minetest.register_node(nodename_sp_loaded, {
|
||||||
|
description = "Straight-only Pipe",
|
||||||
|
drawtype = "mesh",
|
||||||
|
mesh = "pipeworks_straight_pipe"..polys..".obj",
|
||||||
|
tiles = { "pipeworks_straight_pipe_loaded.png" },
|
||||||
|
paramtype = "light",
|
||||||
|
paramtype2 = "facedir",
|
||||||
|
groups = {snappy=3, pipe=1, not_in_creative_inventory=1},
|
||||||
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
walkable = true,
|
||||||
|
on_place = pipeworks.rotate_on_place,
|
||||||
|
after_dig_node = function(pos)
|
||||||
|
pipeworks.scan_for_pipe_objects(pos)
|
||||||
|
end,
|
||||||
|
selection_box = sp_cbox,
|
||||||
|
collision_box = sp_cbox,
|
||||||
|
drop = "pipeworks:straight_pipe_empty",
|
||||||
|
on_rotate = pipeworks.fix_after_rotation
|
||||||
|
})
|
||||||
|
|
||||||
|
new_flow_logic_register.directional_horizonal_rotate(nodename_sp_empty, true)
|
||||||
|
new_flow_logic_register.directional_horizonal_rotate(nodename_sp_loaded, true)
|
||||||
|
|
||||||
|
-- Other misc stuff
|
||||||
|
|
||||||
minetest.register_alias("pipeworks:valve_off_loaded", "pipeworks:valve_off_empty")
|
minetest.register_alias("pipeworks:valve_off_loaded", "pipeworks:valve_off_empty")
|
||||||
minetest.register_alias("pipeworks:entry_panel", "pipeworks:entry_panel_empty")
|
minetest.register_alias("pipeworks:entry_panel", "pipeworks:entry_panel_empty")
|
||||||
|
|
||||||
minetest.register_lbm({
|
|
||||||
name = "pipeworks:rotate_valves_flowsensors",
|
|
||||||
label = "Flip pipeworks valves and flow sensors around X/Z",
|
|
||||||
run_at_every_load = false,
|
|
||||||
nodenames = {
|
|
||||||
"pipeworks:flow_sensor_empty",
|
|
||||||
"pipeworks:flow_sensor_loaded",
|
|
||||||
"pipeworks:valve_off_empty",
|
|
||||||
"pipeworks:valve_on_empty",
|
|
||||||
"pipeworks:valve_off_loaded",
|
|
||||||
},
|
|
||||||
action = function(pos, node)
|
|
||||||
local dir = minetest.facedir_to_dir(node.param2)
|
|
||||||
local newdir = { x=dir.z, y=dir.y, z=dir.x }
|
|
||||||
local newfdir = minetest.dir_to_facedir(newdir)
|
|
||||||
minetest.swap_node(pos, { name = node.name, param2 = newfdir })
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
@ -115,7 +115,7 @@ local function grabAndFire(data,slotseq_mode,exmatch_mode,filtmeta,frominv,fromi
|
|||||||
local stack = frominv:get_stack(frominvname, spos)
|
local stack = frominv:get_stack(frominvname, spos)
|
||||||
local doRemove = stack:get_count()
|
local doRemove = stack:get_count()
|
||||||
if fromtube.can_remove then
|
if fromtube.can_remove then
|
||||||
doRemove = fromtube.can_remove(frompos, fromnode, stack, dir)
|
doRemove = fromtube.can_remove(frompos, fromnode, stack, dir, frominvname, spos)
|
||||||
elseif fromdef.allow_metadata_inventory_take then
|
elseif fromdef.allow_metadata_inventory_take then
|
||||||
doRemove = fromdef.allow_metadata_inventory_take(frompos, frominvname,spos, stack, fakePlayer)
|
doRemove = fromdef.allow_metadata_inventory_take(frompos, frominvname,spos, stack, fakePlayer)
|
||||||
end
|
end
|
||||||
@ -146,7 +146,7 @@ local function grabAndFire(data,slotseq_mode,exmatch_mode,filtmeta,frominv,fromi
|
|||||||
end
|
end
|
||||||
if fromtube.remove_items then
|
if fromtube.remove_items then
|
||||||
-- it could be the entire stack...
|
-- it could be the entire stack...
|
||||||
item = fromtube.remove_items(frompos, fromnode, stack, dir, count)
|
item = fromtube.remove_items(frompos, fromnode, stack, dir, count, frominvname, spos)
|
||||||
else
|
else
|
||||||
item = stack:take_item(count)
|
item = stack:take_item(count)
|
||||||
frominv:set_stack(frominvname, spos, stack)
|
frominv:set_stack(frominvname, spos, stack)
|
||||||
@ -156,7 +156,7 @@ local function grabAndFire(data,slotseq_mode,exmatch_mode,filtmeta,frominv,fromi
|
|||||||
end
|
end
|
||||||
local pos = vector.add(frompos, vector.multiply(dir, 1.4))
|
local pos = vector.add(frompos, vector.multiply(dir, 1.4))
|
||||||
local start_pos = vector.add(frompos, dir)
|
local start_pos = vector.add(frompos, dir)
|
||||||
local item1 = pipeworks.tube_inject_item(pos, start_pos, dir, item)
|
local item1 = pipeworks.tube_inject_item(pos, start_pos, dir, item, fakePlayer:get_player_name())
|
||||||
return true-- only fire one item, please
|
return true-- only fire one item, please
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -167,11 +167,9 @@ local function punch_filter(data, filtpos, filtnode, msg)
|
|||||||
local filtmeta = minetest.get_meta(filtpos)
|
local filtmeta = minetest.get_meta(filtpos)
|
||||||
local filtinv = filtmeta:get_inventory()
|
local filtinv = filtmeta:get_inventory()
|
||||||
local owner = filtmeta:get_string("owner")
|
local owner = filtmeta:get_string("owner")
|
||||||
local fakePlayer = {
|
local fakePlayer = pipeworks.create_fake_player({
|
||||||
get_player_name = delay(owner),
|
name = owner
|
||||||
is_fake_player = ":pipeworks",
|
})
|
||||||
get_wielded_item = delay(ItemStack(nil))
|
|
||||||
} -- TODO: use a mechanism as the wielder one
|
|
||||||
local dir = pipeworks.facedir_to_right_dir(filtnode.param2)
|
local dir = pipeworks.facedir_to_right_dir(filtnode.param2)
|
||||||
local frompos = vector.subtract(filtpos, dir)
|
local frompos = vector.subtract(filtpos, dir)
|
||||||
local fromnode = minetest.get_node(frompos)
|
local fromnode = minetest.get_node(frompos)
|
||||||
@ -219,7 +217,7 @@ local function punch_filter(data, filtpos, filtnode, msg)
|
|||||||
local filters = {}
|
local filters = {}
|
||||||
if data.digiline then
|
if data.digiline then
|
||||||
local function add_filter(name, group, count, wear, metadata)
|
local function add_filter(name, group, count, wear, metadata)
|
||||||
table.insert(filters, {name = name, group = group, count = count, wear = wear, metadata = metadata})
|
table.insert(filters, {name = name, group = group, count = tonumber(count), wear = wear, metadata = metadata})
|
||||||
end
|
end
|
||||||
|
|
||||||
local function add_itemstring_filter(filter)
|
local function add_itemstring_filter(filter)
|
||||||
@ -317,8 +315,16 @@ local function punch_filter(data, filtpos, filtnode, msg)
|
|||||||
exact_match = filtmeta:get_int("exmatch_mode")
|
exact_match = filtmeta:get_int("exmatch_mode")
|
||||||
end
|
end
|
||||||
|
|
||||||
local frommeta = minetest.get_meta(frompos)
|
local frominv
|
||||||
local frominv = frommeta:get_inventory()
|
if fromtube.return_input_invref then
|
||||||
|
frominv = fromtube.return_input_invref(frompos, fromnode, dir, owner)
|
||||||
|
if not frominv then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
else
|
||||||
|
local frommeta = minetest.get_meta(frompos)
|
||||||
|
frominv = frommeta:get_inventory()
|
||||||
|
end
|
||||||
if fromtube.before_filter then fromtube.before_filter(frompos) end
|
if fromtube.before_filter then fromtube.before_filter(frompos) end
|
||||||
for _, frominvname in ipairs(type(fromtube.input_inventory) == "table" and fromtube.input_inventory or {fromtube.input_inventory}) do
|
for _, frominvname in ipairs(type(fromtube.input_inventory) == "table" and fromtube.input_inventory or {fromtube.input_inventory}) do
|
||||||
local done = false
|
local done = false
|
||||||
@ -377,13 +383,24 @@ for _, data in ipairs({
|
|||||||
pipeworks.after_place(pos)
|
pipeworks.after_place(pos)
|
||||||
end,
|
end,
|
||||||
after_dig_node = pipeworks.after_dig,
|
after_dig_node = pipeworks.after_dig,
|
||||||
|
on_rotate = pipeworks.on_rotate,
|
||||||
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
|
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||||
if not pipeworks.may_configure(pos, player) then return 0 end
|
if not pipeworks.may_configure(pos, player) then
|
||||||
return stack:get_count()
|
return 0
|
||||||
|
end
|
||||||
|
local inv = minetest.get_meta(pos):get_inventory()
|
||||||
|
inv:set_stack("main", index, stack)
|
||||||
|
return 0
|
||||||
end,
|
end,
|
||||||
allow_metadata_inventory_take = function(pos, listname, index, stack, player)
|
allow_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||||
if not pipeworks.may_configure(pos, player) then return 0 end
|
if not pipeworks.may_configure(pos, player) then
|
||||||
return stack:get_count()
|
return 0
|
||||||
|
end
|
||||||
|
local inv = minetest.get_meta(pos):get_inventory()
|
||||||
|
local fake_stack = inv:get_stack("main", index)
|
||||||
|
fake_stack:take_item(stack:get_count())
|
||||||
|
inv:set_stack("main", index, fake_stack)
|
||||||
|
return 0
|
||||||
end,
|
end,
|
||||||
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||||
if not pipeworks.may_configure(pos, player) then return 0 end
|
if not pipeworks.may_configure(pos, player) then return 0 end
|
||||||
@ -456,18 +473,18 @@ end
|
|||||||
minetest.register_craft( {
|
minetest.register_craft( {
|
||||||
output = "pipeworks:filter 2",
|
output = "pipeworks:filter 2",
|
||||||
recipe = {
|
recipe = {
|
||||||
{ "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" },
|
{ "default:steel_ingot", "default:steel_ingot", "basic_materials:plastic_sheet" },
|
||||||
{ "group:stick", "default:mese_crystal", "homedecor:plastic_sheeting" },
|
{ "group:stick", "default:mese_crystal", "basic_materials:plastic_sheet" },
|
||||||
{ "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" }
|
{ "default:steel_ingot", "default:steel_ingot", "basic_materials:plastic_sheet" }
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft( {
|
minetest.register_craft( {
|
||||||
output = "pipeworks:mese_filter 2",
|
output = "pipeworks:mese_filter 2",
|
||||||
recipe = {
|
recipe = {
|
||||||
{ "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" },
|
{ "default:steel_ingot", "default:steel_ingot", "basic_materials:plastic_sheet" },
|
||||||
{ "group:stick", "default:mese", "homedecor:plastic_sheeting" },
|
{ "group:stick", "default:mese", "basic_materials:plastic_sheet" },
|
||||||
{ "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" }
|
{ "default:steel_ingot", "default:steel_ingot", "basic_materials:plastic_sheet" }
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -475,9 +492,70 @@ if minetest.get_modpath("digilines") then
|
|||||||
minetest.register_craft( {
|
minetest.register_craft( {
|
||||||
output = "pipeworks:digiline_filter 2",
|
output = "pipeworks:digiline_filter 2",
|
||||||
recipe = {
|
recipe = {
|
||||||
{ "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" },
|
{ "default:steel_ingot", "default:steel_ingot", "basic_materials:plastic_sheet" },
|
||||||
{ "group:stick", "digilines:wire_std_00000000", "homedecor:plastic_sheeting" },
|
{ "group:stick", "digilines:wire_std_00000000", "basic_materials:plastic_sheet" },
|
||||||
{ "default:steel_ingot", "default:steel_ingot", "homedecor:plastic_sheeting" }
|
{ "default:steel_ingot", "default:steel_ingot", "basic_materials:plastic_sheet" }
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--[[
|
||||||
|
In the past the filter-injectors had real items in their inventories. This code
|
||||||
|
puts them to the input to the filter-injector if possible. Else the items are
|
||||||
|
dropped.
|
||||||
|
]]
|
||||||
|
local function put_to_inputinv(pos, node, filtmeta, list)
|
||||||
|
local dir = pipeworks.facedir_to_right_dir(node.param2)
|
||||||
|
local frompos = vector.subtract(pos, dir)
|
||||||
|
local fromnode = minetest.get_node(frompos)
|
||||||
|
local fromdef = minetest.registered_nodes[fromnode.name]
|
||||||
|
if not fromdef or not fromdef.tube then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local fromtube = fromdef.tube
|
||||||
|
local frominv
|
||||||
|
if fromtube.return_input_invref then
|
||||||
|
local owner = filtmeta:get_string("owner")
|
||||||
|
frominv = fromtube.return_input_invref(frompos, fromnode, dir, owner)
|
||||||
|
if not frominv then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
else
|
||||||
|
frominv = minetest.get_meta(frompos):get_inventory()
|
||||||
|
end
|
||||||
|
local listname = type(fromtube.input_inventory) == "table" and
|
||||||
|
fromtube.input_inventory[1] or fromtube.input_inventory
|
||||||
|
if not listname then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
for i = 1, #list do
|
||||||
|
local item = list[i]
|
||||||
|
if not item:is_empty() then
|
||||||
|
local leftover = frominv:add_item(listname, item)
|
||||||
|
if not leftover:is_empty() then
|
||||||
|
minetest.add_item(pos, leftover)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
minetest.register_lbm({
|
||||||
|
label = "Give back items of old filters that had real inventories",
|
||||||
|
name = "pipeworks:give_back_old_filter_items",
|
||||||
|
nodenames = {"pipeworks:filter", "pipeworks:mese_filter"},
|
||||||
|
run_at_every_load = false,
|
||||||
|
action = function(pos, node)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
local list = meta:get_inventory():get_list("main")
|
||||||
|
if put_to_inputinv(pos, node, meta, list) then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
pos.y = pos.y + 1
|
||||||
|
for i = 1, #list do
|
||||||
|
local item = list[i]
|
||||||
|
if not item:is_empty() then
|
||||||
|
minetest.add_item(pos, item)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
@ -44,7 +44,8 @@ pipeworks.check_for_inflows = function(pos,node)
|
|||||||
source = minetest.get_meta(coords[i]):get_string("source")
|
source = minetest.get_meta(coords[i]):get_string("source")
|
||||||
if source == minetest.pos_to_string(pos) then break end
|
if source == minetest.pos_to_string(pos) then break end
|
||||||
end
|
end
|
||||||
if string.find(name, "valve") or string.find(name, "sensor") then
|
if string.find(name, "valve") or string.find(name, "sensor")
|
||||||
|
or string.find(name, "straight_pipe") or string.find(name, "panel") then
|
||||||
|
|
||||||
if ((i == 3 or i == 4) and minetest.facedir_to_dir(testnode.param2).x ~= 0)
|
if ((i == 3 or i == 4) and minetest.facedir_to_dir(testnode.param2).x ~= 0)
|
||||||
or ((i == 5 or i == 6) and minetest.facedir_to_dir(testnode.param2).z ~= 0)
|
or ((i == 5 or i == 6) and minetest.facedir_to_dir(testnode.param2).z ~= 0)
|
||||||
|
28
init.lua
@ -3,8 +3,6 @@
|
|||||||
-- This mod supplies various steel pipes and plastic pneumatic tubes
|
-- This mod supplies various steel pipes and plastic pneumatic tubes
|
||||||
-- and devices that they can connect to.
|
-- and devices that they can connect to.
|
||||||
--
|
--
|
||||||
-- License: WTFPL
|
|
||||||
--
|
|
||||||
|
|
||||||
pipeworks = {}
|
pipeworks = {}
|
||||||
|
|
||||||
@ -14,7 +12,6 @@ pipeworks.worldpath = minetest.get_worldpath()
|
|||||||
pipeworks.modpath = minetest.get_modpath("pipeworks")
|
pipeworks.modpath = minetest.get_modpath("pipeworks")
|
||||||
|
|
||||||
dofile(pipeworks.modpath.."/default_settings.lua")
|
dofile(pipeworks.modpath.."/default_settings.lua")
|
||||||
|
|
||||||
-- Read the external config file if it exists.
|
-- Read the external config file if it exists.
|
||||||
local worldsettingspath = pipeworks.worldpath.."/pipeworks_settings.txt"
|
local worldsettingspath = pipeworks.worldpath.."/pipeworks_settings.txt"
|
||||||
local worldsettingsfile = io.open(worldsettingspath, "r")
|
local worldsettingsfile = io.open(worldsettingspath, "r")
|
||||||
@ -22,6 +19,9 @@ if worldsettingsfile then
|
|||||||
worldsettingsfile:close()
|
worldsettingsfile:close()
|
||||||
dofile(worldsettingspath)
|
dofile(worldsettingspath)
|
||||||
end
|
end
|
||||||
|
if pipeworks.toggles.pipe_mode == "pressure" then
|
||||||
|
minetest.log("warning", "pipeworks pressure logic mode comes with caveats and differences in behaviour, you have been warned!")
|
||||||
|
end
|
||||||
|
|
||||||
-- Random variables
|
-- Random variables
|
||||||
|
|
||||||
@ -38,6 +38,7 @@ pipeworks.rules_all = {{x=0, y=0, z=1},{x=0, y=0, z=-1},{x=1, y=0, z=0},{x=-1, y
|
|||||||
{x=0, y=1, z=0}, {x=0, y=-1, z=0}}
|
{x=0, y=1, z=0}, {x=0, y=-1, z=0}}
|
||||||
|
|
||||||
pipeworks.mesecons_rules={{x=0,y=0,z=1},{x=0,y=0,z=-1},{x=1,y=0,z=0},{x=-1,y=0,z=0},{x=0,y=1,z=0},{x=0,y=-1,z=0}}
|
pipeworks.mesecons_rules={{x=0,y=0,z=1},{x=0,y=0,z=-1},{x=1,y=0,z=0},{x=-1,y=0,z=0},{x=0,y=1,z=0},{x=0,y=-1,z=0}}
|
||||||
|
pipeworks.digilines_rules={{x=0,y=0,z=1},{x=0,y=0,z=-1},{x=1,y=0,z=0},{x=-1,y=0,z=0},{x=0,y=1,z=0},{x=0,y=-1,z=0}}
|
||||||
|
|
||||||
pipeworks.liquid_texture = "default_water.png"
|
pipeworks.liquid_texture = "default_water.png"
|
||||||
|
|
||||||
@ -89,9 +90,18 @@ function pipeworks.replace_name(tbl,tr,name)
|
|||||||
return ntbl
|
return ntbl
|
||||||
end
|
end
|
||||||
|
|
||||||
|
pipeworks.logger = function(msg)
|
||||||
|
print("[pipeworks] "..msg)
|
||||||
|
end
|
||||||
|
|
||||||
-------------------------------------------
|
-------------------------------------------
|
||||||
-- Load the various other parts of the mod
|
-- Load the various other parts of the mod
|
||||||
|
|
||||||
|
-- early auto-detection for finite water mode if not explicitly disabled
|
||||||
|
if pipeworks.toggles.finite_water == nil then
|
||||||
|
dofile(pipeworks.modpath.."/autodetect-finite-water.lua")
|
||||||
|
end
|
||||||
|
|
||||||
dofile(pipeworks.modpath.."/common.lua")
|
dofile(pipeworks.modpath.."/common.lua")
|
||||||
dofile(pipeworks.modpath.."/models.lua")
|
dofile(pipeworks.modpath.."/models.lua")
|
||||||
dofile(pipeworks.modpath.."/autoplace_pipes.lua")
|
dofile(pipeworks.modpath.."/autoplace_pipes.lua")
|
||||||
@ -110,14 +120,26 @@ dofile(pipeworks.modpath.."/filter-injector.lua")
|
|||||||
dofile(pipeworks.modpath.."/trashcan.lua")
|
dofile(pipeworks.modpath.."/trashcan.lua")
|
||||||
dofile(pipeworks.modpath.."/wielder.lua")
|
dofile(pipeworks.modpath.."/wielder.lua")
|
||||||
|
|
||||||
|
local logicdir = "/pressure_logic/"
|
||||||
|
|
||||||
|
-- note that even with these files the new flow logic is not yet default.
|
||||||
|
-- registration will take place but no actual ABMs/node logic will be installed,
|
||||||
|
-- unless the toggle flag is specifically enabled in the per-world settings flag.
|
||||||
|
dofile(pipeworks.modpath..logicdir.."flowable_node_registry.lua")
|
||||||
|
dofile(pipeworks.modpath..logicdir.."abms.lua")
|
||||||
|
dofile(pipeworks.modpath..logicdir.."abm_register.lua")
|
||||||
|
dofile(pipeworks.modpath..logicdir.."flowable_node_registry_install.lua")
|
||||||
|
|
||||||
if pipeworks.enable_pipes then dofile(pipeworks.modpath.."/pipes.lua") end
|
if pipeworks.enable_pipes then dofile(pipeworks.modpath.."/pipes.lua") end
|
||||||
if pipeworks.enable_teleport_tube then dofile(pipeworks.modpath.."/teleport_tube.lua") end
|
if pipeworks.enable_teleport_tube then dofile(pipeworks.modpath.."/teleport_tube.lua") end
|
||||||
if pipeworks.enable_pipe_devices then dofile(pipeworks.modpath.."/devices.lua") end
|
if pipeworks.enable_pipe_devices then dofile(pipeworks.modpath.."/devices.lua") end
|
||||||
|
|
||||||
if pipeworks.enable_redefines then
|
if pipeworks.enable_redefines then
|
||||||
dofile(pipeworks.modpath.."/compat-chests.lua")
|
dofile(pipeworks.modpath.."/compat-chests.lua")
|
||||||
dofile(pipeworks.modpath.."/compat-furnaces.lua")
|
dofile(pipeworks.modpath.."/compat-furnaces.lua")
|
||||||
end
|
end
|
||||||
if pipeworks.enable_autocrafter then dofile(pipeworks.modpath.."/autocrafter.lua") end
|
if pipeworks.enable_autocrafter then dofile(pipeworks.modpath.."/autocrafter.lua") end
|
||||||
|
if pipeworks.enable_lua_tube then dofile(pipeworks.modpath.."/lua_tube.lua") end
|
||||||
|
|
||||||
minetest.register_alias("pipeworks:pipe", "pipeworks:pipe_110000_empty")
|
minetest.register_alias("pipeworks:pipe", "pipeworks:pipe_110000_empty")
|
||||||
|
|
||||||
|
@ -7,13 +7,14 @@ function pipeworks.tube_item(pos, item)
|
|||||||
error("obsolete pipeworks.tube_item() called; change caller to use pipeworks.tube_inject_item() instead")
|
error("obsolete pipeworks.tube_item() called; change caller to use pipeworks.tube_inject_item() instead")
|
||||||
end
|
end
|
||||||
|
|
||||||
function pipeworks.tube_inject_item(pos, start_pos, velocity, item)
|
function pipeworks.tube_inject_item(pos, start_pos, velocity, item, owner)
|
||||||
-- Take item in any format
|
-- Take item in any format
|
||||||
local stack = ItemStack(item)
|
local stack = ItemStack(item)
|
||||||
local obj = luaentity.add_entity(pos, "pipeworks:tubed_item")
|
local obj = luaentity.add_entity(pos, "pipeworks:tubed_item")
|
||||||
obj:set_item(stack:to_string())
|
obj:set_item(stack:to_string())
|
||||||
obj.start_pos = vector.new(start_pos)
|
obj.start_pos = vector.new(start_pos)
|
||||||
obj:setvelocity(velocity)
|
obj:set_velocity(velocity)
|
||||||
|
obj.owner = owner
|
||||||
--obj:set_color("red") -- todo: this is test-only code
|
--obj:set_color("red") -- todo: this is test-only code
|
||||||
return obj
|
return obj
|
||||||
end
|
end
|
||||||
@ -49,12 +50,93 @@ minetest.register_globalstep(function(dtime)
|
|||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
local function go_next(pos, velocity, stack)
|
|
||||||
|
|
||||||
|
-- tube overload mechanism:
|
||||||
|
-- when the tube's item count (tracked in the above tube_item_count table)
|
||||||
|
-- exceeds the limit configured per tube, replace it with a broken one.
|
||||||
|
local crunch_tube = function(pos, cnode, cmeta)
|
||||||
|
if enable_max_limit then
|
||||||
|
local h = minetest.hash_node_position(pos)
|
||||||
|
local itemcount = tube_item_count[h] or 0
|
||||||
|
if itemcount > max_tube_limit then
|
||||||
|
cmeta:set_string("the_tube_was", minetest.serialize(cnode))
|
||||||
|
print("[Pipeworks] Warning - a tube at "..minetest.pos_to_string(pos).." broke due to too many items ("..itemcount..")")
|
||||||
|
minetest.swap_node(pos, {name = "pipeworks:broken_tube_1"})
|
||||||
|
pipeworks.scan_for_tube_objects(pos)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- compatibility behaviour for the existing can_go() callbacks,
|
||||||
|
-- which can only specify a list of possible positions.
|
||||||
|
local function go_next_compat(pos, cnode, cmeta, cycledir, vel, stack, owner)
|
||||||
local next_positions = {}
|
local next_positions = {}
|
||||||
local max_priority = 0
|
local max_priority = 0
|
||||||
|
local can_go
|
||||||
|
|
||||||
|
if minetest.registered_nodes[cnode.name] and minetest.registered_nodes[cnode.name].tube and minetest.registered_nodes[cnode.name].tube.can_go then
|
||||||
|
can_go = minetest.registered_nodes[cnode.name].tube.can_go(pos, cnode, vel, stack)
|
||||||
|
else
|
||||||
|
can_go = pipeworks.notvel(adjlist, vel)
|
||||||
|
end
|
||||||
|
-- can_go() is expected to return an array-like table of candidate offsets.
|
||||||
|
-- for each one, look at the node at that offset and determine if it can accept the item.
|
||||||
|
-- also note the prioritisation:
|
||||||
|
-- if any tube is found with a greater priority than previously discovered,
|
||||||
|
-- then the valid positions are reset and and subsequent positions under this are skipped.
|
||||||
|
-- this has the effect of allowing only equal priorities to co-exist.
|
||||||
|
for _, vect in ipairs(can_go) do
|
||||||
|
local npos = vector.add(pos, vect)
|
||||||
|
pipeworks.load_position(npos)
|
||||||
|
local node = minetest.get_node(npos)
|
||||||
|
local reg_node = minetest.registered_nodes[node.name]
|
||||||
|
if reg_node then
|
||||||
|
local tube_def = reg_node.tube
|
||||||
|
local tubedevice = minetest.get_item_group(node.name, "tubedevice")
|
||||||
|
local tube_priority = (tube_def and tube_def.priority) or 100
|
||||||
|
if tubedevice > 0 and tube_priority >= max_priority then
|
||||||
|
if not tube_def or not tube_def.can_insert or
|
||||||
|
tube_def.can_insert(npos, node, stack, vect, owner) then
|
||||||
|
if tube_priority > max_priority then
|
||||||
|
max_priority = tube_priority
|
||||||
|
next_positions = {}
|
||||||
|
end
|
||||||
|
next_positions[#next_positions + 1] = {pos = npos, vect = vect}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- indicate not found if no valid rules were picked up,
|
||||||
|
-- and don't change the counter.
|
||||||
|
if not next_positions[1] then
|
||||||
|
return cycledir, false, nil, nil
|
||||||
|
end
|
||||||
|
|
||||||
|
-- otherwise rotate to the next output direction and return that
|
||||||
|
local n = (cycledir % (#next_positions)) + 1
|
||||||
|
local new_velocity = vector.multiply(next_positions[n].vect, vel.speed)
|
||||||
|
return n, true, new_velocity, nil
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- function called by the on_step callback of the pipeworks tube luaentity.
|
||||||
|
-- the routine is passed the current node position, velocity, itemstack,
|
||||||
|
-- and owner name.
|
||||||
|
-- returns three values:
|
||||||
|
-- * a boolean "found destination" status;
|
||||||
|
-- * a new velocity vector that the tubed item should use, or nil if not found;
|
||||||
|
-- * a "multi-mode" data table (or nil if N/A) where a stack was split apart.
|
||||||
|
-- if this is not nil, the luaentity spawns new tubed items for each new fragment stack,
|
||||||
|
-- then deletes itself (i.e. the original item stack).
|
||||||
|
local function go_next(pos, velocity, stack, owner)
|
||||||
local cnode = minetest.get_node(pos)
|
local cnode = minetest.get_node(pos)
|
||||||
local cmeta = minetest.get_meta(pos)
|
local cmeta = minetest.get_meta(pos)
|
||||||
local can_go
|
|
||||||
local speed = math.abs(velocity.x + velocity.y + velocity.z)
|
local speed = math.abs(velocity.x + velocity.y + velocity.z)
|
||||||
if speed == 0 then
|
if speed == 0 then
|
||||||
speed = 1
|
speed = 1
|
||||||
@ -68,56 +150,30 @@ local function go_next(pos, velocity, stack)
|
|||||||
speed = 1
|
speed = 1
|
||||||
end
|
end
|
||||||
vel.speed = speed
|
vel.speed = speed
|
||||||
if minetest.registered_nodes[cnode.name] and minetest.registered_nodes[cnode.name].tube and minetest.registered_nodes[cnode.name].tube.can_go then
|
|
||||||
can_go = minetest.registered_nodes[cnode.name].tube.can_go(pos, cnode, vel, stack)
|
|
||||||
else
|
|
||||||
can_go = pipeworks.notvel(adjlist, vel)
|
|
||||||
end
|
|
||||||
for _, vect in ipairs(can_go) do
|
|
||||||
local npos = vector.add(pos, vect)
|
|
||||||
pipeworks.load_position(npos)
|
|
||||||
local node = minetest.get_node(npos)
|
|
||||||
local reg_node = minetest.registered_nodes[node.name]
|
|
||||||
if reg_node then
|
|
||||||
local tube_def = reg_node.tube
|
|
||||||
local tubedevice = minetest.get_item_group(node.name, "tubedevice")
|
|
||||||
local tube_priority = (tube_def and tube_def.priority) or 100
|
|
||||||
if tubedevice > 0 and tube_priority >= max_priority then
|
|
||||||
if not tube_def or not tube_def.can_insert or
|
|
||||||
tube_def.can_insert(npos, node, stack, vect) then
|
|
||||||
if tube_priority > max_priority then
|
|
||||||
max_priority = tube_priority
|
|
||||||
next_positions = {}
|
|
||||||
end
|
|
||||||
next_positions[#next_positions + 1] = {pos = npos, vect = vect}
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if enable_max_limit then
|
crunch_tube(pos, cnode, cmeta)
|
||||||
local h = minetest.hash_node_position(pos)
|
-- cycling of outputs:
|
||||||
local itemcount = tube_item_count[h] or 0
|
-- an integer counter is kept in each pipe's metadata,
|
||||||
if itemcount > max_tube_limit then
|
-- which allows tracking which output was previously chosen.
|
||||||
cmeta:set_string("the_tube_was", minetest.serialize(cnode))
|
-- note reliance on get_int returning 0 for uninitialised.
|
||||||
print("[Pipeworks] Warning - a tube at "..minetest.pos_to_string(pos).." broke due to too many items ("..itemcount..")")
|
local cycledir = cmeta:get_int("tubedir")
|
||||||
minetest.swap_node(pos, {name = "pipeworks:broken_tube_1"})
|
|
||||||
pipeworks.scan_for_tube_objects(pos)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if not next_positions[1] then
|
-- pulled out and factored out into go_next_compat() above.
|
||||||
return false, nil
|
-- n is the new value of the cycle counter.
|
||||||
end
|
-- XXX: this probably needs cleaning up after being split out,
|
||||||
|
-- seven args is a bit too many
|
||||||
|
local n, found, new_velocity, multimode = go_next_compat(pos, cnode, cmeta, cycledir, vel, stack, owner)
|
||||||
|
|
||||||
local n = (cmeta:get_int("tubedir") % (#next_positions)) + 1
|
-- if not using output cycling,
|
||||||
|
-- don't update the field so it stays the same for the next item.
|
||||||
if pipeworks.enable_cyclic_mode then
|
if pipeworks.enable_cyclic_mode then
|
||||||
cmeta:set_int("tubedir", n)
|
cmeta:set_int("tubedir", n)
|
||||||
end
|
end
|
||||||
local new_velocity = vector.multiply(next_positions[n].vect, vel.speed)
|
return found, new_velocity, multimode
|
||||||
return true, new_velocity
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
minetest.register_entity("pipeworks:tubed_item", {
|
minetest.register_entity("pipeworks:tubed_item", {
|
||||||
initial_properties = {
|
initial_properties = {
|
||||||
hp_max = 1,
|
hp_max = 1,
|
||||||
@ -151,7 +207,7 @@ minetest.register_entity("pipeworks:tubed_item", {
|
|||||||
textures = {stack:get_name()}
|
textures = {stack:get_name()}
|
||||||
})
|
})
|
||||||
local def = stack:get_definition()
|
local def = stack:get_definition()
|
||||||
self.object:setyaw((def and def.type == "node") and 0 or math.pi * 0.25)
|
self.object:set_yaw((def and def.type == "node") and 0 or math.pi * 0.25)
|
||||||
end,
|
end,
|
||||||
|
|
||||||
get_staticdata = luaentity.get_staticdata,
|
get_staticdata = luaentity.get_staticdata,
|
||||||
@ -164,7 +220,7 @@ minetest.register_entity("pipeworks:tubed_item", {
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
local item = minetest.deserialize(staticdata)
|
local item = minetest.deserialize(staticdata)
|
||||||
pipeworks.tube_inject_item(self.object:getpos(), item.start_pos, item.velocity, item.itemstring)
|
pipeworks.tube_inject_item(self.object:get_pos(), item.start_pos, item.velocity, item.itemstring)
|
||||||
self.object:remove()
|
self.object:remove()
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
@ -196,6 +252,12 @@ minetest.register_entity("pipeworks:color_entity", {
|
|||||||
on_activate = luaentity.on_activate,
|
on_activate = luaentity.on_activate,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- see below for usage:
|
||||||
|
-- determine if go_next returned a multi-mode set.
|
||||||
|
local is_multimode = function(v)
|
||||||
|
return (type(v) == "table") and (v.__multimode)
|
||||||
|
end
|
||||||
|
|
||||||
luaentity.register_entity("pipeworks:tubed_item", {
|
luaentity.register_entity("pipeworks:tubed_item", {
|
||||||
itemstring = '',
|
itemstring = '',
|
||||||
item_entity = nil,
|
item_entity = nil,
|
||||||
@ -231,15 +293,15 @@ luaentity.register_entity("pipeworks:tubed_item", {
|
|||||||
end,
|
end,
|
||||||
|
|
||||||
on_step = function(self, dtime)
|
on_step = function(self, dtime)
|
||||||
local pos = self:getpos()
|
local pos = self:get_pos()
|
||||||
if self.start_pos == nil then
|
if self.start_pos == nil then
|
||||||
self.start_pos = vector.round(pos)
|
self.start_pos = vector.round(pos)
|
||||||
self:setpos(pos)
|
self:set_pos(pos)
|
||||||
end
|
end
|
||||||
|
|
||||||
local stack = ItemStack(self.itemstring)
|
local stack = ItemStack(self.itemstring)
|
||||||
|
|
||||||
local velocity = self:getvelocity()
|
local velocity = self:get_velocity()
|
||||||
|
|
||||||
local moved = false
|
local moved = false
|
||||||
local speed = math.abs(velocity.x + velocity.y + velocity.z)
|
local speed = math.abs(velocity.x + velocity.y + velocity.z)
|
||||||
@ -260,7 +322,7 @@ luaentity.register_entity("pipeworks:tubed_item", {
|
|||||||
if moved and minetest.get_item_group(node.name, "tubedevice_receiver") == 1 then
|
if moved and minetest.get_item_group(node.name, "tubedevice_receiver") == 1 then
|
||||||
local leftover
|
local leftover
|
||||||
if minetest.registered_nodes[node.name].tube and minetest.registered_nodes[node.name].tube.insert_object then
|
if minetest.registered_nodes[node.name].tube and minetest.registered_nodes[node.name].tube.insert_object then
|
||||||
leftover = minetest.registered_nodes[node.name].tube.insert_object(self.start_pos, node, stack, vel)
|
leftover = minetest.registered_nodes[node.name].tube.insert_object(self.start_pos, node, stack, vel, self.owner)
|
||||||
else
|
else
|
||||||
leftover = stack
|
leftover = stack
|
||||||
end
|
end
|
||||||
@ -269,14 +331,14 @@ luaentity.register_entity("pipeworks:tubed_item", {
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
velocity = vector.multiply(velocity, -1)
|
velocity = vector.multiply(velocity, -1)
|
||||||
self:setpos(vector.subtract(self.start_pos, vector.multiply(vel, moved_by - 1)))
|
self:set_pos(vector.subtract(self.start_pos, vector.multiply(vel, moved_by - 1)))
|
||||||
self:setvelocity(velocity)
|
self:set_velocity(velocity)
|
||||||
self:set_item(leftover:to_string())
|
self:set_item(leftover:to_string())
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if moved then
|
if moved then
|
||||||
local found_next, new_velocity = go_next(self.start_pos, velocity, stack) -- todo: color
|
local found_next, new_velocity, multimode = go_next(self.start_pos, velocity, stack, self.owner) -- todo: color
|
||||||
local rev_vel = vector.multiply(velocity, -1)
|
local rev_vel = vector.multiply(velocity, -1)
|
||||||
local rev_dir = vector.direction(self.start_pos,vector.add(self.start_pos,rev_vel))
|
local rev_dir = vector.direction(self.start_pos,vector.add(self.start_pos,rev_vel))
|
||||||
local rev_node = minetest.get_node(vector.round(vector.add(self.start_pos,rev_dir)))
|
local rev_node = minetest.get_node(vector.round(vector.add(self.start_pos,rev_dir)))
|
||||||
@ -288,20 +350,31 @@ luaentity.register_entity("pipeworks:tubed_item", {
|
|||||||
-- compatible with Minetest 0.4.13.
|
-- compatible with Minetest 0.4.13.
|
||||||
-- Using item_drop here makes Minetest 0.4.13 crash.
|
-- Using item_drop here makes Minetest 0.4.13 crash.
|
||||||
local dropped_item = minetest.add_item(self.start_pos, stack)
|
local dropped_item = minetest.add_item(self.start_pos, stack)
|
||||||
dropped_item:setvelocity(vector.multiply(velocity, 5))
|
if dropped_item then
|
||||||
self:remove()
|
dropped_item:set_velocity(vector.multiply(velocity, 5))
|
||||||
|
self:remove()
|
||||||
|
end
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
velocity = vector.multiply(velocity, -1)
|
velocity = vector.multiply(velocity, -1)
|
||||||
self:setpos(vector.subtract(self.start_pos, vector.multiply(vel, moved_by - 1)))
|
self:set_pos(vector.subtract(self.start_pos, vector.multiply(vel, moved_by - 1)))
|
||||||
self:setvelocity(velocity)
|
self:set_velocity(velocity)
|
||||||
end
|
end
|
||||||
|
elseif is_multimode(multimode) then
|
||||||
|
-- create new stacks according to returned data.
|
||||||
|
local s = self.start_pos
|
||||||
|
for _, split in ipairs(multimode) do
|
||||||
|
pipeworks.tube_inject_item(s, s, split.velocity, split.itemstack, self.owner)
|
||||||
|
end
|
||||||
|
-- remove ourself now the splits are sent
|
||||||
|
self:remove()
|
||||||
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if new_velocity and not vector.equals(velocity, new_velocity) then
|
if new_velocity and not vector.equals(velocity, new_velocity) then
|
||||||
local nvelr = math.abs(new_velocity.x + new_velocity.y + new_velocity.z)
|
local nvelr = math.abs(new_velocity.x + new_velocity.y + new_velocity.z)
|
||||||
self:setpos(vector.add(self.start_pos, vector.multiply(new_velocity, (moved_by - 1) / nvelr)))
|
self:set_pos(vector.add(self.start_pos, vector.multiply(new_velocity, (moved_by - 1) / nvelr)))
|
||||||
self:setvelocity(new_velocity)
|
self:set_velocity(new_velocity)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -317,11 +390,11 @@ if minetest.get_modpath("mesecons_mvps") then
|
|||||||
end
|
end
|
||||||
for id, entity in pairs(luaentity.entities) do
|
for id, entity in pairs(luaentity.entities) do
|
||||||
if entity.name == "pipeworks:tubed_item" then
|
if entity.name == "pipeworks:tubed_item" then
|
||||||
local pos = entity:getpos()
|
local pos = entity:get_pos()
|
||||||
local rpos = vector.round(pos)
|
local rpos = vector.round(pos)
|
||||||
local dir = moved[minetest.hash_node_position(rpos)]
|
local dir = moved[minetest.hash_node_position(rpos)]
|
||||||
if dir then
|
if dir then
|
||||||
entity:setpos(vector.add(pos, dir))
|
entity:set_pos(vector.add(pos, dir))
|
||||||
entity.start_pos = vector.add(entity.start_pos, dir)
|
entity.start_pos = vector.add(entity.start_pos, dir)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -36,7 +36,7 @@ if not minetest.get_modpath("auto_tree_tap") and
|
|||||||
end,
|
end,
|
||||||
after_place_node = function (pos, placer)
|
after_place_node = function (pos, placer)
|
||||||
pipeworks.scan_for_tube_objects(pos, placer)
|
pipeworks.scan_for_tube_objects(pos, placer)
|
||||||
local placer_pos = placer:getpos()
|
local placer_pos = placer:get_pos()
|
||||||
|
|
||||||
--correct for the player's height
|
--correct for the player's height
|
||||||
if placer:is_player() then placer_pos.y = placer_pos.y + 1.5 end
|
if placer:is_player() then placer_pos.y = placer_pos.y + 1.5 end
|
||||||
|
879
lua_tube.lua
Normal file
@ -0,0 +1,879 @@
|
|||||||
|
-- ______
|
||||||
|
-- |
|
||||||
|
-- |
|
||||||
|
-- | __ ___ _ __ _ _
|
||||||
|
-- | | | | | |\ | | |_| | | | | |_ |_|
|
||||||
|
-- |___| |______ |__| | \| | | \ |__| |_ |_ |_ |\ tube
|
||||||
|
-- |
|
||||||
|
-- |
|
||||||
|
--
|
||||||
|
|
||||||
|
-- Reference
|
||||||
|
-- ports = get_real_port_states(pos): gets if inputs are powered from outside
|
||||||
|
-- newport = merge_port_states(state1, state2): just does result = state1 or state2 for every port
|
||||||
|
-- set_port(pos, rule, state): activates/deactivates the mesecons according to the port states
|
||||||
|
-- set_port_states(pos, ports): Applies new port states to a Luacontroller at pos
|
||||||
|
-- run(pos): runs the code in the controller at pos
|
||||||
|
-- reset_meta(pos, code, errmsg): performs a software-reset, installs new code and prints error messages
|
||||||
|
-- resetn(pos): performs a hardware reset, turns off all ports
|
||||||
|
--
|
||||||
|
-- The Sandbox
|
||||||
|
-- The whole code of the controller runs in a sandbox,
|
||||||
|
-- a very restricted environment.
|
||||||
|
-- Actually the only way to damage the server is to
|
||||||
|
-- use too much memory from the sandbox.
|
||||||
|
-- You can add more functions to the environment
|
||||||
|
-- (see where local env is defined)
|
||||||
|
-- Something nice to play is is appending minetest.env to it.
|
||||||
|
|
||||||
|
local BASENAME = "pipeworks:lua_tube"
|
||||||
|
|
||||||
|
local rules = {
|
||||||
|
red = {x = -1, y = 0, z = 0, name = "red"},
|
||||||
|
blue = {x = 1, y = 0, z = 0, name = "blue"},
|
||||||
|
yellow = {x = 0, y = -1, z = 0, name = "yellow"},
|
||||||
|
green = {x = 0, y = 1, z = 0, name = "green"},
|
||||||
|
black = {x = 0, y = 0, z = -1, name = "black"},
|
||||||
|
white = {x = 0, y = 0, z = 1, name = "white"},
|
||||||
|
}
|
||||||
|
|
||||||
|
local digiline_rules_luatube = {
|
||||||
|
{x=0, y=0, z=-1},
|
||||||
|
{x=1, y=0, z=0},
|
||||||
|
{x=-1, y=0, z=0},
|
||||||
|
{x=0, y=0, z=1},
|
||||||
|
{x=1, y=1, z=0},
|
||||||
|
{x=1, y=-1, z=0},
|
||||||
|
{x=-1, y=1, z=0},
|
||||||
|
{x=-1, y=-1, z=0},
|
||||||
|
{x=0, y=1, z=1},
|
||||||
|
{x=0, y=-1, z=1},
|
||||||
|
{x=0, y=1, z=-1},
|
||||||
|
{x=0, y=-1, z=-1},
|
||||||
|
-- vertical connectivity
|
||||||
|
{x=0, y=1, z=0},
|
||||||
|
{x=0, y=-1, z=0},
|
||||||
|
}
|
||||||
|
|
||||||
|
------------------
|
||||||
|
-- Action stuff --
|
||||||
|
------------------
|
||||||
|
-- These helpers are required to set the port states of the lua_tube
|
||||||
|
|
||||||
|
local function update_real_port_states(pos, rule_name, new_state)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
if rule_name == nil then
|
||||||
|
meta:set_int("real_portstates", 1)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local n = meta:get_int("real_portstates") - 1
|
||||||
|
local L = {}
|
||||||
|
for i = 1, 6 do
|
||||||
|
L[i] = n % 2
|
||||||
|
n = math.floor(n / 2)
|
||||||
|
end
|
||||||
|
-- (0,0,-1) (0,-1,0) (-1,0,0) (1,0,0) (0,1,0) (0,0,1)
|
||||||
|
local pos_to_side = { 5, 3, 1, nil, 2, 4, 6 }
|
||||||
|
if rule_name.x == nil then
|
||||||
|
for _, rname in ipairs(rule_name) do
|
||||||
|
local port = pos_to_side[rname.x + (2 * rname.y) + (3 * rname.z) + 4]
|
||||||
|
L[port] = (newstate == "on") and 1 or 0
|
||||||
|
end
|
||||||
|
else
|
||||||
|
local port = pos_to_side[rule_name.x + (2 * rule_name.y) + (3 * rule_name.z) + 4]
|
||||||
|
L[port] = (new_state == "on") and 1 or 0
|
||||||
|
end
|
||||||
|
meta:set_int("real_portstates",
|
||||||
|
1 +
|
||||||
|
1 * L[1] +
|
||||||
|
2 * L[2] +
|
||||||
|
4 * L[3] +
|
||||||
|
8 * L[4] +
|
||||||
|
16 * L[5] +
|
||||||
|
32 * L[6])
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local port_names = {"red", "blue", "yellow", "green", "black", "white"}
|
||||||
|
|
||||||
|
local function get_real_port_states(pos)
|
||||||
|
-- Determine if ports are powered (by itself or from outside)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
local L = {}
|
||||||
|
local n = meta:get_int("real_portstates") - 1
|
||||||
|
for _, name in ipairs(port_names) do
|
||||||
|
L[name] = ((n % 2) == 1)
|
||||||
|
n = math.floor(n / 2)
|
||||||
|
end
|
||||||
|
return L
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local function merge_port_states(ports, vports)
|
||||||
|
return {
|
||||||
|
red = ports.red or vports.red,
|
||||||
|
blue = ports.blue or vports.blue,
|
||||||
|
yellow = ports.yellow or vports.yellow,
|
||||||
|
green = ports.green or vports.green,
|
||||||
|
black = ports.black or vports.black,
|
||||||
|
white = ports.white or vports.white,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
local function generate_name(ports)
|
||||||
|
local red = ports.red and 1 or 0
|
||||||
|
local blue = ports.blue and 1 or 0
|
||||||
|
local yellow = ports.yellow and 1 or 0
|
||||||
|
local green = ports.green and 1 or 0
|
||||||
|
local black = ports.black and 1 or 0
|
||||||
|
local white = ports.white and 1 or 0
|
||||||
|
return BASENAME..white..black..green..yellow..blue..red
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local function set_port(pos, rule, state)
|
||||||
|
if state then
|
||||||
|
mesecon.receptor_on(pos, {rule})
|
||||||
|
else
|
||||||
|
mesecon.receptor_off(pos, {rule})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local function clean_port_states(ports)
|
||||||
|
ports.red = ports.red and true or false
|
||||||
|
ports.blue = ports.blue and true or false
|
||||||
|
ports.yellow = ports.yellow and true or false
|
||||||
|
ports.green = ports.green and true or false
|
||||||
|
ports.black = ports.black and true or false
|
||||||
|
ports.white = ports.white and true or false
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local function set_port_states(pos, ports)
|
||||||
|
local node = minetest.get_node(pos)
|
||||||
|
local name = node.name
|
||||||
|
clean_port_states(ports)
|
||||||
|
local vports = minetest.registered_nodes[name].virtual_portstates
|
||||||
|
local new_name = generate_name(ports)
|
||||||
|
|
||||||
|
if name ~= new_name and vports then
|
||||||
|
-- Problem:
|
||||||
|
-- We need to place the new node first so that when turning
|
||||||
|
-- off some port, it won't stay on because the rules indicate
|
||||||
|
-- there is an onstate output port there.
|
||||||
|
-- When turning the output off then, it will however cause feedback
|
||||||
|
-- so that the lua_tube will receive an "off" event by turning
|
||||||
|
-- its output off.
|
||||||
|
-- Solution / Workaround:
|
||||||
|
-- Remember which output was turned off and ignore next "off" event.
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
local ign = minetest.deserialize(meta:get_string("ignore_offevents")) or {}
|
||||||
|
if ports.red and not vports.red and not mesecon.is_powered(pos, rules.red) then ign.red = true end
|
||||||
|
if ports.blue and not vports.blue and not mesecon.is_powered(pos, rules.blue) then ign.blue = true end
|
||||||
|
if ports.yellow and not vports.yellow and not mesecon.is_powered(pos, rules.yellow) then ign.yellow = true end
|
||||||
|
if ports.green and not vports.green and not mesecon.is_powered(pos, rules.green) then ign.green = true end
|
||||||
|
if ports.black and not vports.black and not mesecon.is_powered(pos, rules.black) then ign.black = true end
|
||||||
|
if ports.white and not vports.white and not mesecon.is_powered(pos, rules.white) then ign.white = true end
|
||||||
|
meta:set_string("ignore_offevents", minetest.serialize(ign))
|
||||||
|
|
||||||
|
minetest.swap_node(pos, {name = new_name, param2 = node.param2})
|
||||||
|
|
||||||
|
if ports.red ~= vports.red then set_port(pos, rules.red, ports.red) end
|
||||||
|
if ports.blue ~= vports.blue then set_port(pos, rules.blue, ports.blue) end
|
||||||
|
if ports.yellow ~= vports.yellow then set_port(pos, rules.yellow, ports.yellow) end
|
||||||
|
if ports.green ~= vports.green then set_port(pos, rules.green, ports.green) end
|
||||||
|
if ports.black ~= vports.black then set_port(pos, rules.black, ports.black) end
|
||||||
|
if ports.white ~= vports.white then set_port(pos, rules.white, ports.white) end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
-----------------
|
||||||
|
-- Overheating --
|
||||||
|
-----------------
|
||||||
|
local function burn_controller(pos)
|
||||||
|
local node = minetest.get_node(pos)
|
||||||
|
node.name = BASENAME.."_burnt"
|
||||||
|
minetest.swap_node(pos, node)
|
||||||
|
minetest.get_meta(pos):set_string("lc_memory", "");
|
||||||
|
-- Wait for pending operations
|
||||||
|
minetest.after(0.2, mesecon.receptor_off, pos, mesecon.rules.flat)
|
||||||
|
end
|
||||||
|
|
||||||
|
local function overheat(pos, meta)
|
||||||
|
if mesecon.do_overheat(pos) then -- If too hot
|
||||||
|
burn_controller(pos)
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
------------------------
|
||||||
|
-- Ignored off events --
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
local function ignore_event(event, meta)
|
||||||
|
if event.type ~= "off" then return false end
|
||||||
|
local ignore_offevents = minetest.deserialize(meta:get_string("ignore_offevents")) or {}
|
||||||
|
if ignore_offevents[event.pin.name] then
|
||||||
|
ignore_offevents[event.pin.name] = nil
|
||||||
|
meta:set_string("ignore_offevents", minetest.serialize(ignore_offevents))
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-------------------------
|
||||||
|
-- Parsing and running --
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
local function safe_print(param)
|
||||||
|
print(dump(param))
|
||||||
|
end
|
||||||
|
|
||||||
|
local function safe_date()
|
||||||
|
return(os.date("*t",os.time()))
|
||||||
|
end
|
||||||
|
|
||||||
|
-- string.rep(str, n) with a high value for n can be used to DoS
|
||||||
|
-- the server. Therefore, limit max. length of generated string.
|
||||||
|
local function safe_string_rep(str, n)
|
||||||
|
if #str * n > mesecon.setting("luacontroller_string_rep_max", 64000) then
|
||||||
|
debug.sethook() -- Clear hook
|
||||||
|
error("string.rep: string length overflow", 2)
|
||||||
|
end
|
||||||
|
|
||||||
|
return string.rep(str, n)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- string.find with a pattern can be used to DoS the server.
|
||||||
|
-- Therefore, limit string.find to patternless matching.
|
||||||
|
local function safe_string_find(...)
|
||||||
|
if (select(4, ...)) ~= true then
|
||||||
|
debug.sethook() -- Clear hook
|
||||||
|
error("string.find: 'plain' (fourth parameter) must always be true in a lua controlled tube")
|
||||||
|
end
|
||||||
|
|
||||||
|
return string.find(...)
|
||||||
|
end
|
||||||
|
|
||||||
|
local function remove_functions(x)
|
||||||
|
local tp = type(x)
|
||||||
|
if tp == "function" then
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Make sure to not serialize the same table multiple times, otherwise
|
||||||
|
-- writing mem.test = mem in the lua controlled tube will lead to infinite recursion
|
||||||
|
local seen = {}
|
||||||
|
|
||||||
|
local function rfuncs(x)
|
||||||
|
if seen[x] then return end
|
||||||
|
seen[x] = true
|
||||||
|
if type(x) ~= "table" then return end
|
||||||
|
|
||||||
|
for key, value in pairs(x) do
|
||||||
|
if type(key) == "function" or type(value) == "function" then
|
||||||
|
x[key] = nil
|
||||||
|
else
|
||||||
|
if type(key) == "table" then
|
||||||
|
rfuncs(key)
|
||||||
|
end
|
||||||
|
if type(value) == "table" then
|
||||||
|
rfuncs(value)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
rfuncs(x)
|
||||||
|
|
||||||
|
return x
|
||||||
|
end
|
||||||
|
|
||||||
|
local function get_interrupt(pos)
|
||||||
|
-- iid = interrupt id
|
||||||
|
local function interrupt(time, iid)
|
||||||
|
if type(time) ~= "number" then return end
|
||||||
|
local luac_id = minetest.get_meta(pos):get_int("luac_id")
|
||||||
|
mesecon.queue:add_action(pos, "pipeworks:lc_tube_interrupt", {luac_id, iid}, time, iid, 1)
|
||||||
|
end
|
||||||
|
return interrupt
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local function get_digiline_send(pos)
|
||||||
|
if not digiline then return end
|
||||||
|
return function(channel, msg)
|
||||||
|
-- Make sure channel is string, number or boolean
|
||||||
|
if (type(channel) ~= "string" and type(channel) ~= "number" and type(channel) ~= "boolean") then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
-- It is technically possible to send functions over the wire since
|
||||||
|
-- the high performance impact of stripping those from the data has
|
||||||
|
-- been decided to not be worth the added realism.
|
||||||
|
-- Make sure serialized version of the data is not insanely long to
|
||||||
|
-- prevent DoS-like attacks
|
||||||
|
local msg_ser = minetest.serialize(msg)
|
||||||
|
if #msg_ser > mesecon.setting("luacontroller_digiline_maxlen", 50000) then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
minetest.after(0, function()
|
||||||
|
digilines.receptor_send(pos, digiline_rules_luatube, channel, msg)
|
||||||
|
end)
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local safe_globals = {
|
||||||
|
"assert", "error", "ipairs", "next", "pairs", "select",
|
||||||
|
"tonumber", "tostring", "type", "unpack", "_VERSION"
|
||||||
|
}
|
||||||
|
|
||||||
|
local function create_environment(pos, mem, event)
|
||||||
|
-- Gather variables for the environment
|
||||||
|
local vports = minetest.registered_nodes[minetest.get_node(pos).name].virtual_portstates
|
||||||
|
local vports_copy = {}
|
||||||
|
for k, v in pairs(vports) do vports_copy[k] = v end
|
||||||
|
local rports = get_real_port_states(pos)
|
||||||
|
|
||||||
|
-- Create new library tables on each call to prevent one Luacontroller
|
||||||
|
-- from breaking a library and messing up other Luacontrollers.
|
||||||
|
local env = {
|
||||||
|
pin = merge_port_states(vports, rports),
|
||||||
|
port = vports_copy,
|
||||||
|
event = event,
|
||||||
|
mem = mem,
|
||||||
|
heat = mesecon.get_heat(pos),
|
||||||
|
heat_max = mesecon.setting("overheat_max", 20),
|
||||||
|
print = safe_print,
|
||||||
|
interrupt = get_interrupt(pos),
|
||||||
|
digiline_send = get_digiline_send(pos),
|
||||||
|
string = {
|
||||||
|
byte = string.byte,
|
||||||
|
char = string.char,
|
||||||
|
format = string.format,
|
||||||
|
len = string.len,
|
||||||
|
lower = string.lower,
|
||||||
|
upper = string.upper,
|
||||||
|
rep = safe_string_rep,
|
||||||
|
reverse = string.reverse,
|
||||||
|
sub = string.sub,
|
||||||
|
find = safe_string_find,
|
||||||
|
},
|
||||||
|
math = {
|
||||||
|
abs = math.abs,
|
||||||
|
acos = math.acos,
|
||||||
|
asin = math.asin,
|
||||||
|
atan = math.atan,
|
||||||
|
atan2 = math.atan2,
|
||||||
|
ceil = math.ceil,
|
||||||
|
cos = math.cos,
|
||||||
|
cosh = math.cosh,
|
||||||
|
deg = math.deg,
|
||||||
|
exp = math.exp,
|
||||||
|
floor = math.floor,
|
||||||
|
fmod = math.fmod,
|
||||||
|
frexp = math.frexp,
|
||||||
|
huge = math.huge,
|
||||||
|
ldexp = math.ldexp,
|
||||||
|
log = math.log,
|
||||||
|
log10 = math.log10,
|
||||||
|
max = math.max,
|
||||||
|
min = math.min,
|
||||||
|
modf = math.modf,
|
||||||
|
pi = math.pi,
|
||||||
|
pow = math.pow,
|
||||||
|
rad = math.rad,
|
||||||
|
random = math.random,
|
||||||
|
sin = math.sin,
|
||||||
|
sinh = math.sinh,
|
||||||
|
sqrt = math.sqrt,
|
||||||
|
tan = math.tan,
|
||||||
|
tanh = math.tanh,
|
||||||
|
},
|
||||||
|
table = {
|
||||||
|
concat = table.concat,
|
||||||
|
insert = table.insert,
|
||||||
|
maxn = table.maxn,
|
||||||
|
remove = table.remove,
|
||||||
|
sort = table.sort,
|
||||||
|
},
|
||||||
|
os = {
|
||||||
|
clock = os.clock,
|
||||||
|
difftime = os.difftime,
|
||||||
|
time = os.time,
|
||||||
|
datetable = safe_date,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
env._G = env
|
||||||
|
|
||||||
|
for _, name in pairs(safe_globals) do
|
||||||
|
env[name] = _G[name]
|
||||||
|
end
|
||||||
|
|
||||||
|
return env
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local function timeout()
|
||||||
|
debug.sethook() -- Clear hook
|
||||||
|
error("Code timed out!", 2)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local function create_sandbox(code, env)
|
||||||
|
if code:byte(1) == 27 then
|
||||||
|
return nil, "Binary code prohibited."
|
||||||
|
end
|
||||||
|
local f, msg = loadstring(code)
|
||||||
|
if not f then return nil, msg end
|
||||||
|
setfenv(f, env)
|
||||||
|
|
||||||
|
-- Turn off JIT optimization for user code so that count
|
||||||
|
-- events are generated when adding debug hooks
|
||||||
|
if rawget(_G, "jit") then
|
||||||
|
jit.off(f, true)
|
||||||
|
end
|
||||||
|
|
||||||
|
return function(...)
|
||||||
|
-- Use instruction counter to stop execution
|
||||||
|
-- after luacontroller_maxevents
|
||||||
|
local maxevents = mesecon.setting("luacontroller_maxevents", 10000)
|
||||||
|
debug.sethook(timeout, "", maxevents)
|
||||||
|
local ok, ret = pcall(f, ...)
|
||||||
|
debug.sethook() -- Clear hook
|
||||||
|
if not ok then error(ret, 0) end
|
||||||
|
return ret
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local function load_memory(meta)
|
||||||
|
return minetest.deserialize(meta:get_string("lc_memory")) or {}
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local function save_memory(pos, meta, mem)
|
||||||
|
local memstring = minetest.serialize(remove_functions(mem))
|
||||||
|
local memsize_max = mesecon.setting("luacontroller_memsize", 100000)
|
||||||
|
|
||||||
|
if (#memstring <= memsize_max) then
|
||||||
|
meta:set_string("lc_memory", memstring)
|
||||||
|
else
|
||||||
|
print("Error: lua_tube memory overflow. "..memsize_max.." bytes available, "
|
||||||
|
..#memstring.." required. Controller overheats.")
|
||||||
|
burn_controller(pos)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local function run(pos, event)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
if overheat(pos) then return end
|
||||||
|
if ignore_event(event, meta) then return end
|
||||||
|
|
||||||
|
-- Load code & mem from meta
|
||||||
|
local mem = load_memory(meta)
|
||||||
|
local code = meta:get_string("code")
|
||||||
|
|
||||||
|
-- Create environment
|
||||||
|
local env = create_environment(pos, mem, event)
|
||||||
|
|
||||||
|
-- Create the sandbox and execute code
|
||||||
|
local f, msg = create_sandbox(code, env)
|
||||||
|
if not f then return false, msg end
|
||||||
|
local succ, msg = pcall(f)
|
||||||
|
if not succ then return false, msg end
|
||||||
|
if type(env.port) ~= "table" then
|
||||||
|
return false, "Ports set are invalid."
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Actually set the ports
|
||||||
|
set_port_states(pos, env.port)
|
||||||
|
|
||||||
|
-- Save memory. This may burn the luacontroller if a memory overflow occurs.
|
||||||
|
save_memory(pos, meta, env.mem)
|
||||||
|
|
||||||
|
return succ, msg
|
||||||
|
end
|
||||||
|
|
||||||
|
mesecon.queue:add_function("pipeworks:lc_tube_interrupt", function (pos, luac_id, iid)
|
||||||
|
-- There is no lua_tube anymore / it has been reprogrammed / replaced / burnt
|
||||||
|
if (minetest.get_meta(pos):get_int("luac_id") ~= luac_id) then return end
|
||||||
|
if (minetest.registered_nodes[minetest.get_node(pos).name].is_burnt) then return end
|
||||||
|
run(pos, {type = "interrupt", iid = iid})
|
||||||
|
end)
|
||||||
|
|
||||||
|
local function reset_meta(pos, code, errmsg)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
meta:set_string("code", code)
|
||||||
|
code = minetest.formspec_escape(code or "")
|
||||||
|
errmsg = minetest.formspec_escape(tostring(errmsg or ""))
|
||||||
|
meta:set_string("formspec", "size[12,10]"..
|
||||||
|
"background[-0.2,-0.25;12.4,10.75;jeija_luac_background.png]"..
|
||||||
|
"textarea[0.2,0.2;12.2,9.5;code;;"..code.."]"..
|
||||||
|
"image_button[4.75,8.75;2.5,1;jeija_luac_runbutton.png;program;]"..
|
||||||
|
"image_button_exit[11.72,-0.25;0.425,0.4;jeija_close_window.png;exit;]"..
|
||||||
|
"label[0.1,9;"..errmsg.."]")
|
||||||
|
meta:set_int("luac_id", math.random(1, 65535))
|
||||||
|
end
|
||||||
|
|
||||||
|
local function reset(pos)
|
||||||
|
set_port_states(pos, {red = false, blue = false, yellow = false,
|
||||||
|
green = false, black = false, white = false})
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
-----------------------
|
||||||
|
-- Node Registration --
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
local output_rules = {}
|
||||||
|
local input_rules = {}
|
||||||
|
|
||||||
|
local node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {
|
||||||
|
pipeworks.tube_leftstub[1], -- tube segment against -X face
|
||||||
|
pipeworks.tube_rightstub[1], -- tube segment against +X face
|
||||||
|
pipeworks.tube_bottomstub[1], -- tube segment against -Y face
|
||||||
|
pipeworks.tube_topstub[1], -- tube segment against +Y face
|
||||||
|
pipeworks.tube_frontstub[1], -- tube segment against -Z face
|
||||||
|
pipeworks.tube_backstub[1], -- tube segment against +Z face
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
local selection_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = pipeworks.tube_selectboxes,
|
||||||
|
}
|
||||||
|
|
||||||
|
local digiline = {
|
||||||
|
receptor = {},
|
||||||
|
effector = {
|
||||||
|
action = function(pos, node, channel, msg)
|
||||||
|
run(pos, {type = "digiline", channel = channel, msg = msg})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
wire = {
|
||||||
|
rules = pipeworks.digilines_rules
|
||||||
|
},
|
||||||
|
}
|
||||||
|
local function on_receive_fields(pos, form_name, fields, sender)
|
||||||
|
if not fields.program then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local name = sender:get_player_name()
|
||||||
|
if minetest.is_protected(pos, name) and not minetest.check_player_privs(name, {protection_bypass=true}) then
|
||||||
|
minetest.record_protection_violation(pos, name)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
reset(pos)
|
||||||
|
reset_meta(pos, fields.code)
|
||||||
|
local succ, err = run(pos, {type="program"})
|
||||||
|
if not succ then
|
||||||
|
print(err)
|
||||||
|
reset_meta(pos, fields.code, err)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function go_back(velocity)
|
||||||
|
local adjlist={{x=0,y=0,z=1},{x=0,y=0,z=-1},{x=0,y=1,z=0},{x=0,y=-1,z=0},{x=1,y=0,z=0},{x=-1,y=0,z=0}}
|
||||||
|
local speed = math.abs(velocity.x + velocity.y + velocity.z)
|
||||||
|
if speed == 0 then
|
||||||
|
speed = 1
|
||||||
|
end
|
||||||
|
local vel = {x = velocity.x/speed, y = velocity.y/speed, z = velocity.z/speed,speed=speed}
|
||||||
|
if speed >= 4.1 then
|
||||||
|
speed = 4
|
||||||
|
elseif speed >= 1.1 then
|
||||||
|
speed = speed - 0.1
|
||||||
|
else
|
||||||
|
speed = 1
|
||||||
|
end
|
||||||
|
vel.speed = speed
|
||||||
|
return pipeworks.notvel(adjlist, vel)
|
||||||
|
end
|
||||||
|
|
||||||
|
local tiles_base = {
|
||||||
|
"pipeworks_mese_tube_plain_4.png", "pipeworks_mese_tube_plain_3.png",
|
||||||
|
"pipeworks_mese_tube_plain_2.png", "pipeworks_mese_tube_plain_1.png",
|
||||||
|
"pipeworks_mese_tube_plain_6.png", "pipeworks_mese_tube_plain_5.png"}
|
||||||
|
|
||||||
|
for red = 0, 1 do -- 0 = off 1 = on
|
||||||
|
for blue = 0, 1 do
|
||||||
|
for yellow = 0, 1 do
|
||||||
|
for green = 0, 1 do
|
||||||
|
for black = 0, 1 do
|
||||||
|
for white = 0, 1 do
|
||||||
|
local cid = tostring(white)..tostring(black)..tostring(green)..
|
||||||
|
tostring(yellow)..tostring(blue)..tostring(red)
|
||||||
|
local node_name = BASENAME..cid
|
||||||
|
local tiles = table.copy(tiles_base)
|
||||||
|
if red == 1 then
|
||||||
|
tiles[1] = tiles[1].."^(pipeworks_lua_tube_port_on.png^[transformR90)"
|
||||||
|
tiles[2] = tiles[2].."^(pipeworks_lua_tube_port_on.png^[transformR90)"
|
||||||
|
tiles[5] = tiles[5].."^(pipeworks_lua_tube_port_on.png^[transformR270)"
|
||||||
|
tiles[6] = tiles[6].."^(pipeworks_lua_tube_port_on.png^[transformR90)"
|
||||||
|
else
|
||||||
|
tiles[1] = tiles[1].."^(pipeworks_lua_tube_port_off.png^[transformR90)"
|
||||||
|
tiles[2] = tiles[2].."^(pipeworks_lua_tube_port_off.png^[transformR90)"
|
||||||
|
tiles[5] = tiles[5].."^(pipeworks_lua_tube_port_off.png^[transformR270)"
|
||||||
|
tiles[6] = tiles[6].."^(pipeworks_lua_tube_port_off.png^[transformR90)"
|
||||||
|
end
|
||||||
|
if blue == 1 then
|
||||||
|
tiles[1] = tiles[1].."^(pipeworks_lua_tube_port_on.png^[transformR270)"
|
||||||
|
tiles[2] = tiles[2].."^(pipeworks_lua_tube_port_on.png^[transformR270)"
|
||||||
|
tiles[5] = tiles[5].."^(pipeworks_lua_tube_port_on.png^[transformR90)"
|
||||||
|
tiles[6] = tiles[6].."^(pipeworks_lua_tube_port_on.png^[transformR270)"
|
||||||
|
else
|
||||||
|
tiles[1] = tiles[1].."^(pipeworks_lua_tube_port_off.png^[transformR270)"
|
||||||
|
tiles[2] = tiles[2].."^(pipeworks_lua_tube_port_off.png^[transformR270)"
|
||||||
|
tiles[5] = tiles[5].."^(pipeworks_lua_tube_port_off.png^[transformR90)"
|
||||||
|
tiles[6] = tiles[6].."^(pipeworks_lua_tube_port_off.png^[transformR270)"
|
||||||
|
end
|
||||||
|
if yellow == 1 then
|
||||||
|
tiles[3] = tiles[3].."^(pipeworks_lua_tube_port_on.png^[transformR180)"
|
||||||
|
tiles[4] = tiles[4].."^(pipeworks_lua_tube_port_on.png^[transformR180)"
|
||||||
|
tiles[5] = tiles[5].."^(pipeworks_lua_tube_port_on.png^[transformR180)"
|
||||||
|
tiles[6] = tiles[6].."^(pipeworks_lua_tube_port_on.png^[transformR180)"
|
||||||
|
else
|
||||||
|
tiles[3] = tiles[3].."^(pipeworks_lua_tube_port_off.png^[transformR180)"
|
||||||
|
tiles[4] = tiles[4].."^(pipeworks_lua_tube_port_off.png^[transformR180)"
|
||||||
|
tiles[5] = tiles[5].."^(pipeworks_lua_tube_port_off.png^[transformR180)"
|
||||||
|
tiles[6] = tiles[6].."^(pipeworks_lua_tube_port_off.png^[transformR180)"
|
||||||
|
end
|
||||||
|
if green == 1 then
|
||||||
|
tiles[3] = tiles[3].."^pipeworks_lua_tube_port_on.png"
|
||||||
|
tiles[4] = tiles[4].."^pipeworks_lua_tube_port_on.png"
|
||||||
|
tiles[5] = tiles[5].."^pipeworks_lua_tube_port_on.png"
|
||||||
|
tiles[6] = tiles[6].."^pipeworks_lua_tube_port_on.png"
|
||||||
|
else
|
||||||
|
tiles[3] = tiles[3].."^pipeworks_lua_tube_port_off.png"
|
||||||
|
tiles[4] = tiles[4].."^pipeworks_lua_tube_port_off.png"
|
||||||
|
tiles[5] = tiles[5].."^pipeworks_lua_tube_port_off.png"
|
||||||
|
tiles[6] = tiles[6].."^pipeworks_lua_tube_port_off.png"
|
||||||
|
end
|
||||||
|
if black == 1 then
|
||||||
|
tiles[1] = tiles[1].."^(pipeworks_lua_tube_port_on.png^[transformR180)"
|
||||||
|
tiles[2] = tiles[2].."^pipeworks_lua_tube_port_on.png"
|
||||||
|
tiles[3] = tiles[3].."^(pipeworks_lua_tube_port_on.png^[transformR90)"
|
||||||
|
tiles[4] = tiles[4].."^(pipeworks_lua_tube_port_on.png^[transformR270)"
|
||||||
|
else
|
||||||
|
tiles[1] = tiles[1].."^(pipeworks_lua_tube_port_off.png^[transformR180)"
|
||||||
|
tiles[2] = tiles[2].."^pipeworks_lua_tube_port_off.png"
|
||||||
|
tiles[3] = tiles[3].."^(pipeworks_lua_tube_port_off.png^[transformR90)"
|
||||||
|
tiles[4] = tiles[4].."^(pipeworks_lua_tube_port_off.png^[transformR270)"
|
||||||
|
end
|
||||||
|
if white == 1 then
|
||||||
|
tiles[1] = tiles[1].."^pipeworks_lua_tube_port_on.png"
|
||||||
|
tiles[2] = tiles[2].."^(pipeworks_lua_tube_port_on.png^[transformR180)"
|
||||||
|
tiles[3] = tiles[3].."^(pipeworks_lua_tube_port_on.png^[transformR270)"
|
||||||
|
tiles[4] = tiles[4].."^(pipeworks_lua_tube_port_on.png^[transformR90)"
|
||||||
|
else
|
||||||
|
tiles[1] = tiles[1].."^pipeworks_lua_tube_port_off.png"
|
||||||
|
tiles[2] = tiles[2].."^(pipeworks_lua_tube_port_off.png^[transformR180)"
|
||||||
|
tiles[3] = tiles[3].."^(pipeworks_lua_tube_port_off.png^[transformR270)"
|
||||||
|
tiles[4] = tiles[4].."^(pipeworks_lua_tube_port_off.png^[transformR90)"
|
||||||
|
end
|
||||||
|
|
||||||
|
local groups = {snappy = 3, tube = 1, tubedevice = 1, overheat = 1}
|
||||||
|
if red + blue + yellow + green + black + white ~= 0 then
|
||||||
|
groups.not_in_creative_inventory = 1
|
||||||
|
end
|
||||||
|
|
||||||
|
output_rules[cid] = {}
|
||||||
|
input_rules[cid] = {}
|
||||||
|
if red == 1 then table.insert(output_rules[cid], rules.red) end
|
||||||
|
if blue == 1 then table.insert(output_rules[cid], rules.blue) end
|
||||||
|
if yellow == 1 then table.insert(output_rules[cid], rules.yellow) end
|
||||||
|
if green == 1 then table.insert(output_rules[cid], rules.green) end
|
||||||
|
if black == 1 then table.insert(output_rules[cid], rules.black) end
|
||||||
|
if white == 1 then table.insert(output_rules[cid], rules.white) end
|
||||||
|
|
||||||
|
if red == 0 then table.insert( input_rules[cid], rules.red) end
|
||||||
|
if blue == 0 then table.insert( input_rules[cid], rules.blue) end
|
||||||
|
if yellow == 0 then table.insert( input_rules[cid], rules.yellow) end
|
||||||
|
if green == 0 then table.insert( input_rules[cid], rules.green) end
|
||||||
|
if black == 0 then table.insert( input_rules[cid], rules.black) end
|
||||||
|
if white == 0 then table.insert( input_rules[cid], rules.white) end
|
||||||
|
|
||||||
|
local mesecons = {
|
||||||
|
effector = {
|
||||||
|
rules = input_rules[cid],
|
||||||
|
action_change = function (pos, _, rule_name, new_state)
|
||||||
|
update_real_port_states(pos, rule_name, new_state)
|
||||||
|
run(pos, {type=new_state, pin=rule_name})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
receptor = {
|
||||||
|
state = mesecon.state.on,
|
||||||
|
rules = output_rules[cid]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
minetest.register_node(node_name, {
|
||||||
|
description = "Lua controlled Tube",
|
||||||
|
drawtype = "nodebox",
|
||||||
|
tiles = tiles,
|
||||||
|
paramtype = "light",
|
||||||
|
groups = groups,
|
||||||
|
drop = BASENAME.."000000",
|
||||||
|
sunlight_propagates = true,
|
||||||
|
selection_box = selection_box,
|
||||||
|
node_box = node_box,
|
||||||
|
on_construct = reset_meta,
|
||||||
|
on_receive_fields = on_receive_fields,
|
||||||
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
mesecons = mesecons,
|
||||||
|
digiline = digiline,
|
||||||
|
-- Virtual portstates are the ports that
|
||||||
|
-- the node shows as powered up (light up).
|
||||||
|
virtual_portstates = {
|
||||||
|
red = red == 1,
|
||||||
|
blue = blue == 1,
|
||||||
|
yellow = yellow == 1,
|
||||||
|
green = green == 1,
|
||||||
|
black = black == 1,
|
||||||
|
white = white == 1,
|
||||||
|
},
|
||||||
|
after_dig_node = function(pos, node)
|
||||||
|
mesecon.do_cooldown(pos)
|
||||||
|
mesecon.receptor_off(pos, output_rules)
|
||||||
|
pipeworks.after_dig(pos, node)
|
||||||
|
end,
|
||||||
|
is_luacontroller = true,
|
||||||
|
tubelike = 1,
|
||||||
|
tube = {
|
||||||
|
connect_sides = {front = 1, back = 1, left = 1, right = 1, top = 1, bottom = 1},
|
||||||
|
priority = 50,
|
||||||
|
can_go = function(pos, node, velocity, stack)
|
||||||
|
local src = {name = nil}
|
||||||
|
-- add color of the incoming tube explicitly; referring to rules, in case they change later
|
||||||
|
for color, rule in pairs(rules) do
|
||||||
|
if (-velocity.x == rule.x and -velocity.y == rule.y and -velocity.z == rule.z) then
|
||||||
|
src.name = rule.name
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
local succ, msg = run(pos, {
|
||||||
|
type = "item",
|
||||||
|
pin = src,
|
||||||
|
itemstring = stack:to_string(),
|
||||||
|
item = stack:to_table(),
|
||||||
|
velocity = velocity,
|
||||||
|
})
|
||||||
|
if not succ or type(msg) ~= "string" then
|
||||||
|
return go_back(velocity)
|
||||||
|
end
|
||||||
|
local r = rules[msg]
|
||||||
|
return r and {r} or go_back(velocity)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
after_place_node = pipeworks.after_place,
|
||||||
|
on_blast = function(pos, intensity)
|
||||||
|
if not intensity or intensity > 1 + 3^0.5 then
|
||||||
|
minetest.remove_node(pos)
|
||||||
|
return {string.format("%s_%s", name, dropname)}
|
||||||
|
end
|
||||||
|
minetest.swap_node(pos, {name = "pipeworks:broken_tube_1"})
|
||||||
|
pipeworks.scan_for_tube_objects(pos)
|
||||||
|
end,
|
||||||
|
on_blast = function(pos, intensity)
|
||||||
|
if not intensity or intensity > 1 + 3^0.5 then
|
||||||
|
minetest.remove_node(pos)
|
||||||
|
return {string.format("%s_%s", name, dropname)}
|
||||||
|
end
|
||||||
|
minetest.swap_node(pos, {name = "pipeworks:broken_tube_1"})
|
||||||
|
pipeworks.scan_for_tube_objects(pos)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
------------------------------------
|
||||||
|
-- Overheated Lua controlled Tube --
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
local tiles_burnt = table.copy(tiles_base)
|
||||||
|
tiles_burnt[1] = tiles_burnt[1].."^(pipeworks_lua_tube_port_burnt.png^[transformR90)"
|
||||||
|
tiles_burnt[2] = tiles_burnt[2].."^(pipeworks_lua_tube_port_burnt.png^[transformR90)"
|
||||||
|
tiles_burnt[5] = tiles_burnt[5].."^(pipeworks_lua_tube_port_burnt.png^[transformR270)"
|
||||||
|
tiles_burnt[6] = tiles_burnt[6].."^(pipeworks_lua_tube_port_burnt.png^[transformR90)"
|
||||||
|
tiles_burnt[1] = tiles_burnt[1].."^(pipeworks_lua_tube_port_burnt.png^[transformR270)"
|
||||||
|
tiles_burnt[2] = tiles_burnt[2].."^(pipeworks_lua_tube_port_burnt.png^[transformR270)"
|
||||||
|
tiles_burnt[5] = tiles_burnt[5].."^(pipeworks_lua_tube_port_burnt.png^[transformR90)"
|
||||||
|
tiles_burnt[6] = tiles_burnt[6].."^(pipeworks_lua_tube_port_burnt.png^[transformR270)"
|
||||||
|
tiles_burnt[3] = tiles_burnt[3].."^(pipeworks_lua_tube_port_burnt.png^[transformR180)"
|
||||||
|
tiles_burnt[4] = tiles_burnt[4].."^(pipeworks_lua_tube_port_burnt.png^[transformR180)"
|
||||||
|
tiles_burnt[5] = tiles_burnt[5].."^(pipeworks_lua_tube_port_burnt.png^[transformR180)"
|
||||||
|
tiles_burnt[6] = tiles_burnt[6].."^(pipeworks_lua_tube_port_burnt.png^[transformR180)"
|
||||||
|
tiles_burnt[3] = tiles_burnt[3].."^pipeworks_lua_tube_port_burnt.png"
|
||||||
|
tiles_burnt[4] = tiles_burnt[4].."^pipeworks_lua_tube_port_burnt.png"
|
||||||
|
tiles_burnt[5] = tiles_burnt[5].."^pipeworks_lua_tube_port_burnt.png"
|
||||||
|
tiles_burnt[6] = tiles_burnt[6].."^pipeworks_lua_tube_port_burnt.png"
|
||||||
|
tiles_burnt[1] = tiles_burnt[1].."^(pipeworks_lua_tube_port_burnt.png^[transformR180)"
|
||||||
|
tiles_burnt[2] = tiles_burnt[2].."^pipeworks_lua_tube_port_burnt.png"
|
||||||
|
tiles_burnt[3] = tiles_burnt[3].."^(pipeworks_lua_tube_port_burnt.png^[transformR90)"
|
||||||
|
tiles_burnt[4] = tiles_burnt[4].."^(pipeworks_lua_tube_port_burnt.png^[transformR270)"
|
||||||
|
tiles_burnt[1] = tiles_burnt[1].."^pipeworks_lua_tube_port_burnt.png"
|
||||||
|
tiles_burnt[2] = tiles_burnt[2].."^(pipeworks_lua_tube_port_burnt.png^[transformR180)"
|
||||||
|
tiles_burnt[3] = tiles_burnt[3].."^(pipeworks_lua_tube_port_burnt.png^[transformR270)"
|
||||||
|
tiles_burnt[4] = tiles_burnt[4].."^(pipeworks_lua_tube_port_burnt.png^[transformR90)"
|
||||||
|
|
||||||
|
minetest.register_node(BASENAME .. "_burnt", {
|
||||||
|
drawtype = "nodebox",
|
||||||
|
tiles = tiles_burnt,
|
||||||
|
is_burnt = true,
|
||||||
|
paramtype = "light",
|
||||||
|
groups = {snappy = 3, tube = 1, tubedevice = 1, not_in_creative_inventory=1},
|
||||||
|
drop = BASENAME.."000000",
|
||||||
|
sunlight_propagates = true,
|
||||||
|
selection_box = selection_box,
|
||||||
|
node_box = node_box,
|
||||||
|
on_construct = reset_meta,
|
||||||
|
on_receive_fields = on_receive_fields,
|
||||||
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
virtual_portstates = {red = false, blue = false, yellow = false,
|
||||||
|
green = false, black = false, white = false},
|
||||||
|
mesecons = {
|
||||||
|
effector = {
|
||||||
|
rules = mesecon.rules.alldirs,
|
||||||
|
action_change = function(pos, _, rule_name, new_state)
|
||||||
|
update_real_port_states(pos, rule_name, new_state)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
tubelike = 1,
|
||||||
|
tube = {
|
||||||
|
connect_sides = {front = 1, back = 1, left = 1, right = 1, top = 1, bottom = 1},
|
||||||
|
priority = 50,
|
||||||
|
},
|
||||||
|
after_place_node = pipeworks.after_place,
|
||||||
|
after_dig_node = pipeworks.after_dig,
|
||||||
|
on_blast = function(pos, intensity)
|
||||||
|
if not intensity or intensity > 1 + 3^0.5 then
|
||||||
|
minetest.remove_node(pos)
|
||||||
|
return {string.format("%s_%s", name, dropname)}
|
||||||
|
end
|
||||||
|
minetest.swap_node(pos, {name = "pipeworks:broken_tube_1"})
|
||||||
|
pipeworks.scan_for_tube_objects(pos)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
------------------------
|
||||||
|
-- Craft Registration --
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
type = "shapeless",
|
||||||
|
output = BASENAME.."000000",
|
||||||
|
recipe = {"pipeworks:mese_tube_000000", "mesecons_luacontroller:luacontroller0000"},
|
||||||
|
})
|
@ -74,7 +74,7 @@ local move_entities_globalstep_part1 = function(dtime)
|
|||||||
local active_block_range = tonumber(minetest.settings:get("active_block_range")) or 2
|
local active_block_range = tonumber(minetest.settings:get("active_block_range")) or 2
|
||||||
local new_active_blocks = {}
|
local new_active_blocks = {}
|
||||||
for _, player in ipairs(minetest.get_connected_players()) do
|
for _, player in ipairs(minetest.get_connected_players()) do
|
||||||
local blockpos = get_blockpos(player:getpos())
|
local blockpos = get_blockpos(player:get_pos())
|
||||||
local minp = vector.subtract(blockpos, active_block_range)
|
local minp = vector.subtract(blockpos, active_block_range)
|
||||||
local maxp = vector.add(blockpos, active_block_range)
|
local maxp = vector.add(blockpos, active_block_range)
|
||||||
|
|
||||||
@ -114,9 +114,9 @@ local entitydef_default = {
|
|||||||
if not def.entity then
|
if not def.entity then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
def.entity:setpos(vector.add(self._pos, def.offset))
|
def.entity:set_pos(vector.add(self._pos, def.offset))
|
||||||
def.entity:setvelocity(self._velocity)
|
def.entity:set_velocity(self._velocity)
|
||||||
def.entity:setacceleration(self._acceleration)
|
def.entity:set_acceleration(self._acceleration)
|
||||||
end,
|
end,
|
||||||
_attach_all = function(self)
|
_attach_all = function(self)
|
||||||
local master = self._attached_entities_master
|
local master = self._attached_entities_master
|
||||||
@ -186,43 +186,43 @@ local entitydef_default = {
|
|||||||
self:_add_attached(id)
|
self:_add_attached(id)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
getid = function(self)
|
get_id = function(self)
|
||||||
return self._id
|
return self._id
|
||||||
end,
|
end,
|
||||||
getpos = function(self)
|
get_pos = function(self)
|
||||||
return vector.new(self._pos)
|
return vector.new(self._pos)
|
||||||
end,
|
end,
|
||||||
setpos = function(self, pos)
|
set_pos = function(self, pos)
|
||||||
self._pos = vector.new(pos)
|
self._pos = vector.new(pos)
|
||||||
--for _, entity in pairs(self._attached_entities) do
|
--for _, entity in pairs(self._attached_entities) do
|
||||||
-- if entity.entity then
|
-- if entity.entity then
|
||||||
-- entity.entity:setpos(vector.add(self._pos, entity.offset))
|
-- entity.entity:set_pos(vector.add(self._pos, entity.offset))
|
||||||
-- end
|
-- end
|
||||||
--end
|
--end
|
||||||
local master = self._attached_entities_master
|
local master = self._attached_entities_master
|
||||||
if master then
|
if master then
|
||||||
local master_def = self._attached_entities[master]
|
local master_def = self._attached_entities[master]
|
||||||
master_def.entity:setpos(vector.add(self._pos, master_def.offset))
|
master_def.entity:set_pos(vector.add(self._pos, master_def.offset))
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
getvelocity = function(self)
|
get_velocity = function(self)
|
||||||
return vector.new(self._velocity)
|
return vector.new(self._velocity)
|
||||||
end,
|
end,
|
||||||
setvelocity = function(self, velocity)
|
set_velocity = function(self, velocity)
|
||||||
self._velocity = vector.new(velocity)
|
self._velocity = vector.new(velocity)
|
||||||
local master = self._attached_entities_master
|
local master = self._attached_entities_master
|
||||||
if master then
|
if master then
|
||||||
self._attached_entities[master].entity:setvelocity(self._velocity)
|
self._attached_entities[master].entity:set_velocity(self._velocity)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
getacceleration = function(self)
|
get_acceleration = function(self)
|
||||||
return vector.new(self._acceleration)
|
return vector.new(self._acceleration)
|
||||||
end,
|
end,
|
||||||
setacceleration = function(self, acceleration)
|
set_acceleration = function(self, acceleration)
|
||||||
self._acceleration = vector.new(acceleration)
|
self._acceleration = vector.new(acceleration)
|
||||||
local master = self._attached_entities_master
|
local master = self._attached_entities_master
|
||||||
if master then
|
if master then
|
||||||
self._attached_entities[master].entity:setacceleration(self._acceleration)
|
self._attached_entities[master].entity:set_acceleration(self._acceleration)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
remove = function(self)
|
remove = function(self)
|
||||||
@ -314,7 +314,7 @@ function luaentity.get_objects_inside_radius(pos, radius)
|
|||||||
local objects = {}
|
local objects = {}
|
||||||
local index = 1
|
local index = 1
|
||||||
for id, entity in pairs(luaentity.entities) do
|
for id, entity in pairs(luaentity.entities) do
|
||||||
if vector.distance(pos, entity:getpos()) <= radius then
|
if vector.distance(pos, entity:get_pos()) <= radius then
|
||||||
objects[index] = entity
|
objects[index] = entity
|
||||||
index = index + 1
|
index = index + 1
|
||||||
end
|
end
|
||||||
@ -329,11 +329,11 @@ local move_entities_globalstep_part2 = function(dtime)
|
|||||||
local master = entity._attached_entities_master
|
local master = entity._attached_entities_master
|
||||||
local master_def = master and entity._attached_entities[master]
|
local master_def = master and entity._attached_entities[master]
|
||||||
local master_entity = master_def and master_def.entity
|
local master_entity = master_def and master_def.entity
|
||||||
local master_entity_pos = master_entity and master_entity:getpos()
|
local master_entity_pos = master_entity and master_entity:get_pos()
|
||||||
if master_entity_pos then
|
if master_entity_pos then
|
||||||
entity._pos = vector.subtract(master_entity_pos, master_def.offset)
|
entity._pos = vector.subtract(master_entity_pos, master_def.offset)
|
||||||
entity._velocity = master_entity:getvelocity()
|
entity._velocity = master_entity:get_velocity()
|
||||||
entity._acceleration = master_entity:getacceleration()
|
entity._acceleration = master_entity:get_acceleration()
|
||||||
else
|
else
|
||||||
entity._pos = vector.add(vector.add(
|
entity._pos = vector.add(vector.add(
|
||||||
entity._pos,
|
entity._pos,
|
||||||
|
@ -33,7 +33,7 @@ pipeworks.tube_frontstub = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pipeworks.tube_backstub = {
|
pipeworks.tube_backstub = {
|
||||||
{ -9/64, -9/64, -9/64, 9/64, 9/64, 32/64 }, -- tube segment against -Z face
|
{ -9/64, -9/64, -9/64, 9/64, 9/64, 32/64 }, -- tube segment against +Z face
|
||||||
}
|
}
|
||||||
|
|
||||||
pipeworks.tube_boxes = {pipeworks.tube_leftstub, pipeworks.tube_rightstub, pipeworks.tube_bottomstub, pipeworks.tube_topstub, pipeworks.tube_frontstub, pipeworks.tube_backstub}
|
pipeworks.tube_boxes = {pipeworks.tube_leftstub, pipeworks.tube_rightstub, pipeworks.tube_bottomstub, pipeworks.tube_topstub, pipeworks.tube_frontstub, pipeworks.tube_backstub}
|
||||||
|
236
models/pipeworks_entry_panel_lowpoly.obj
Normal file
@ -0,0 +1,236 @@
|
|||||||
|
# Blender v2.78 (sub 0) OBJ File: 'pipe-entry-panel-lowpoly.blend'
|
||||||
|
# www.blender.org
|
||||||
|
o Cylinder.000
|
||||||
|
v -0.500000 0.500000 -0.062500
|
||||||
|
v 0.500000 0.500000 -0.062500
|
||||||
|
v 0.500000 -0.500000 -0.062500
|
||||||
|
v -0.500000 -0.500000 -0.062500
|
||||||
|
v 0.500000 0.500000 0.062500
|
||||||
|
v 0.500000 -0.500000 0.062500
|
||||||
|
v -0.500000 0.500000 0.062500
|
||||||
|
v -0.500000 -0.500000 0.062500
|
||||||
|
v -0.156250 -0.064721 0.500000
|
||||||
|
v -0.156250 -0.064721 0.468750
|
||||||
|
v -0.064721 -0.156250 0.500000
|
||||||
|
v -0.064721 -0.156250 0.468750
|
||||||
|
v 0.064721 -0.156250 0.500000
|
||||||
|
v 0.064721 -0.156250 0.468750
|
||||||
|
v 0.156250 -0.064721 0.500000
|
||||||
|
v 0.156250 -0.064721 0.468750
|
||||||
|
v 0.156250 0.064721 0.500000
|
||||||
|
v 0.156250 0.064721 0.468750
|
||||||
|
v 0.064721 0.156250 0.500000
|
||||||
|
v 0.064721 0.156250 0.468750
|
||||||
|
v -0.064721 0.156250 0.500000
|
||||||
|
v -0.064721 0.156250 0.468750
|
||||||
|
v -0.156250 0.064721 0.500000
|
||||||
|
v -0.156250 0.064721 0.468750
|
||||||
|
v -0.125000 -0.051777 0.468750
|
||||||
|
v -0.125000 -0.051777 -0.468750
|
||||||
|
v -0.051777 -0.125000 0.468750
|
||||||
|
v -0.051777 -0.125000 -0.468750
|
||||||
|
v 0.051777 -0.125000 0.468750
|
||||||
|
v 0.051777 -0.125000 -0.468750
|
||||||
|
v 0.125000 -0.051777 0.468750
|
||||||
|
v 0.125000 -0.051777 -0.468750
|
||||||
|
v 0.125000 0.051777 0.468750
|
||||||
|
v 0.125000 0.051777 -0.468750
|
||||||
|
v 0.051777 0.125000 0.468750
|
||||||
|
v 0.051777 0.125000 -0.468750
|
||||||
|
v -0.051777 0.125000 0.468750
|
||||||
|
v -0.051777 0.125000 -0.468750
|
||||||
|
v -0.125000 0.051777 0.468750
|
||||||
|
v -0.125000 0.051777 -0.468750
|
||||||
|
v -0.156250 -0.064721 -0.468750
|
||||||
|
v -0.156250 -0.064721 -0.500000
|
||||||
|
v -0.064721 -0.156250 -0.468750
|
||||||
|
v -0.064721 -0.156250 -0.500000
|
||||||
|
v 0.064721 -0.156250 -0.468750
|
||||||
|
v 0.064721 -0.156250 -0.500000
|
||||||
|
v 0.156250 -0.064721 -0.468750
|
||||||
|
v 0.156250 -0.064721 -0.500000
|
||||||
|
v 0.156250 0.064721 -0.468750
|
||||||
|
v 0.156250 0.064721 -0.500000
|
||||||
|
v 0.064721 0.156250 -0.468750
|
||||||
|
v 0.064721 0.156250 -0.500000
|
||||||
|
v -0.064721 0.156250 -0.468750
|
||||||
|
v -0.064721 0.156250 -0.500000
|
||||||
|
v -0.156250 0.064721 -0.468750
|
||||||
|
v -0.156250 0.064721 -0.500000
|
||||||
|
vt 0.5076 0.5076
|
||||||
|
vt 0.9924 0.5076
|
||||||
|
vt 0.9924 0.9924
|
||||||
|
vt 0.5076 0.9924
|
||||||
|
vt 0.0682 0.4924
|
||||||
|
vt 0.0076 0.4924
|
||||||
|
vt 0.0076 0.0076
|
||||||
|
vt 0.0682 0.0076
|
||||||
|
vt 0.4924 0.9924
|
||||||
|
vt 0.0076 0.9924
|
||||||
|
vt 0.0076 0.5076
|
||||||
|
vt 0.4924 0.5076
|
||||||
|
vt 0.2955 0.4924
|
||||||
|
vt 0.2348 0.4924
|
||||||
|
vt 0.2348 0.0076
|
||||||
|
vt 0.2955 0.0076
|
||||||
|
vt 0.2197 0.0076
|
||||||
|
vt 0.2197 0.4924
|
||||||
|
vt 0.1591 0.4924
|
||||||
|
vt 0.1591 0.0076
|
||||||
|
vt 0.0833 0.4924
|
||||||
|
vt 0.0833 0.0076
|
||||||
|
vt 0.1439 0.0076
|
||||||
|
vt 0.1439 0.4924
|
||||||
|
vt 0.8561 0.4318
|
||||||
|
vt 0.8106 0.4773
|
||||||
|
vt 0.7500 0.4773
|
||||||
|
vt 0.7045 0.4318
|
||||||
|
vt 0.7045 0.3712
|
||||||
|
vt 0.7500 0.3258
|
||||||
|
vt 0.8106 0.3258
|
||||||
|
vt 0.8561 0.3712
|
||||||
|
vt 0.6288 0.4773
|
||||||
|
vt 0.6742 0.4318
|
||||||
|
vt 0.6742 0.3712
|
||||||
|
vt 0.6288 0.3258
|
||||||
|
vt 0.5682 0.3258
|
||||||
|
vt 0.5227 0.3712
|
||||||
|
vt 0.5227 0.4318
|
||||||
|
vt 0.5682 0.4773
|
||||||
|
vt 0.6742 0.4318
|
||||||
|
vt 0.6288 0.4773
|
||||||
|
vt 0.5682 0.4773
|
||||||
|
vt 0.5227 0.4318
|
||||||
|
vt 0.5227 0.3712
|
||||||
|
vt 0.5682 0.3258
|
||||||
|
vt 0.6288 0.3258
|
||||||
|
vt 0.6742 0.3712
|
||||||
|
vt 0.8106 0.4773
|
||||||
|
vt 0.8561 0.4318
|
||||||
|
vt 0.8561 0.3712
|
||||||
|
vt 0.8106 0.3258
|
||||||
|
vt 0.7500 0.3258
|
||||||
|
vt 0.7045 0.3712
|
||||||
|
vt 0.7045 0.4318
|
||||||
|
vt 0.7500 0.4773
|
||||||
|
vt 0.9015 0.2879
|
||||||
|
vt 0.9015 0.2727
|
||||||
|
vt 0.9318 0.2727
|
||||||
|
vt 0.9318 0.2879
|
||||||
|
vt 0.9621 0.2727
|
||||||
|
vt 0.9621 0.2879
|
||||||
|
vt 0.9924 0.2727
|
||||||
|
vt 0.9924 0.2879
|
||||||
|
vt 0.7500 0.2879
|
||||||
|
vt 0.7500 0.2727
|
||||||
|
vt 0.7803 0.2727
|
||||||
|
vt 0.7803 0.2879
|
||||||
|
vt 0.8106 0.2727
|
||||||
|
vt 0.8106 0.2879
|
||||||
|
vt 0.8409 0.2727
|
||||||
|
vt 0.8409 0.2879
|
||||||
|
vt 0.8712 0.2727
|
||||||
|
vt 0.8712 0.2879
|
||||||
|
vt 0.6894 0.2879
|
||||||
|
vt 0.6894 0.2727
|
||||||
|
vt 0.7197 0.2727
|
||||||
|
vt 0.7197 0.2879
|
||||||
|
vt 0.6591 0.2879
|
||||||
|
vt 0.6591 0.2727
|
||||||
|
vt 0.7500 0.2727
|
||||||
|
vt 0.7500 0.2879
|
||||||
|
vt 0.5076 0.2879
|
||||||
|
vt 0.5076 0.2727
|
||||||
|
vt 0.5379 0.2727
|
||||||
|
vt 0.5379 0.2879
|
||||||
|
vt 0.5682 0.2727
|
||||||
|
vt 0.5682 0.2879
|
||||||
|
vt 0.5985 0.2727
|
||||||
|
vt 0.5985 0.2879
|
||||||
|
vt 0.6288 0.2727
|
||||||
|
vt 0.6288 0.2879
|
||||||
|
vt 0.5227 0.2197
|
||||||
|
vt 0.5227 0.1894
|
||||||
|
vt 0.9924 0.1894
|
||||||
|
vt 0.9924 0.2197
|
||||||
|
vt 0.9924 0.2500
|
||||||
|
vt 0.5227 0.2500
|
||||||
|
vt 0.9924 0.0379
|
||||||
|
vt 0.9924 0.0682
|
||||||
|
vt 0.5227 0.0682
|
||||||
|
vt 0.5227 0.0379
|
||||||
|
vt 0.5227 0.1591
|
||||||
|
vt 0.9924 0.1591
|
||||||
|
vt 0.5227 0.1288
|
||||||
|
vt 0.5227 0.0985
|
||||||
|
vt 0.9924 0.0985
|
||||||
|
vt 0.9924 0.1288
|
||||||
|
vt 0.9924 0.0076
|
||||||
|
vt 0.5227 0.0076
|
||||||
|
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
|
||||||
|
vn 0.0000 -1.0000 0.0000
|
||||||
|
vn 0.0000 1.0000 0.0000
|
||||||
|
vn -0.7173 -0.2971 0.6302
|
||||||
|
vn -0.7173 -0.2971 -0.6302
|
||||||
|
vn -0.2971 -0.7173 -0.6302
|
||||||
|
vn -0.2971 -0.7173 0.6302
|
||||||
|
vn 0.2971 -0.7173 -0.6302
|
||||||
|
vn 0.2971 -0.7173 0.6302
|
||||||
|
vn 0.7173 -0.2971 -0.6302
|
||||||
|
vn 0.7173 -0.2971 0.6302
|
||||||
|
vn 0.7173 0.2971 -0.6302
|
||||||
|
vn 0.7173 0.2971 0.6302
|
||||||
|
vn 0.2971 0.7173 -0.6302
|
||||||
|
vn 0.2971 0.7173 0.6302
|
||||||
|
vn -0.2971 0.7173 -0.6302
|
||||||
|
vn -0.2971 0.7173 0.6302
|
||||||
|
vn -0.7173 0.2971 -0.6302
|
||||||
|
vn -0.7173 0.2971 0.6302
|
||||||
|
vn 0.9239 -0.3827 0.0000
|
||||||
|
vn 0.9239 0.3827 0.0000
|
||||||
|
vn 0.3827 -0.9239 0.0000
|
||||||
|
vn -0.3827 -0.9239 0.0000
|
||||||
|
vn -0.9239 -0.3827 0.0000
|
||||||
|
vn 0.3827 0.9239 0.0000
|
||||||
|
vn -0.3827 0.9239 0.0000
|
||||||
|
vn -0.9239 0.3827 0.0000
|
||||||
|
g Cylinder.000_Cylinder.000_None
|
||||||
|
s off
|
||||||
|
f 1/1/1 2/2/1 3/3/1 4/4/1
|
||||||
|
f 2/5/2 5/6/2 6/7/2 3/8/2
|
||||||
|
f 5/9/3 7/10/3 8/11/3 6/12/3
|
||||||
|
f 7/13/4 1/14/4 4/15/4 8/16/4
|
||||||
|
f 4/17/5 3/18/5 6/19/5 8/20/5
|
||||||
|
f 7/21/6 5/22/6 2/23/6 1/24/6
|
||||||
|
f 12/25/1 10/26/1 24/27/1 22/28/1 20/29/1 18/30/1 16/31/1 14/32/1
|
||||||
|
f 9/33/3 11/34/3 13/35/3 15/36/3 17/37/3 19/38/3 21/39/3 23/40/3
|
||||||
|
f 44/41/1 42/42/1 56/43/1 54/44/1 52/45/1 50/46/1 48/47/1 46/48/1
|
||||||
|
f 41/49/3 43/50/3 45/51/3 47/52/3 49/53/3 51/54/3 53/55/3 55/56/3
|
||||||
|
s 1
|
||||||
|
f 9/57/7 10/58/8 12/59/9 11/60/10
|
||||||
|
f 11/60/10 12/59/9 14/61/11 13/62/12
|
||||||
|
f 13/62/12 14/61/11 16/63/13 15/64/14
|
||||||
|
f 15/65/14 16/66/13 18/67/15 17/68/16
|
||||||
|
f 17/68/16 18/67/15 20/69/17 19/70/18
|
||||||
|
f 19/70/18 20/69/17 22/71/19 21/72/20
|
||||||
|
f 21/72/20 22/71/19 24/73/21 23/74/22
|
||||||
|
f 23/74/22 24/73/21 10/58/8 9/57/7
|
||||||
|
f 43/75/10 44/76/9 46/77/11 45/78/12
|
||||||
|
f 41/79/7 42/80/8 44/76/9 43/75/10
|
||||||
|
f 45/78/12 46/77/11 48/81/13 47/82/14
|
||||||
|
f 47/83/14 48/84/13 50/85/15 49/86/16
|
||||||
|
f 49/86/16 50/85/15 52/87/17 51/88/18
|
||||||
|
f 51/88/18 52/87/17 54/89/19 53/90/20
|
||||||
|
f 53/90/20 54/89/19 56/91/21 55/92/22
|
||||||
|
f 55/92/22 56/91/21 42/80/8 41/79/7
|
||||||
|
f 32/93/23 34/94/24 33/95/24 31/96/23
|
||||||
|
f 32/93/23 31/96/23 29/97/25 30/98/25
|
||||||
|
f 27/99/26 25/100/27 26/101/27 28/102/26
|
||||||
|
f 34/94/24 36/103/28 35/104/28 33/95/24
|
||||||
|
f 38/105/29 40/106/30 39/107/30 37/108/29
|
||||||
|
f 38/105/29 37/108/29 35/104/28 36/103/28
|
||||||
|
f 29/109/25 27/99/26 28/102/26 30/110/25
|
||||||
|
f 25/100/27 39/107/30 40/106/30 26/101/27
|
220
models/pipeworks_flow_sensor_lowpoly.obj
Normal file
@ -0,0 +1,220 @@
|
|||||||
|
# Blender v2.78 (sub 0) OBJ File: 'pipe-flow-sensor-lowpoly.blend'
|
||||||
|
# www.blender.org
|
||||||
|
o Cube.001_Cube.001_None
|
||||||
|
v -0.187500 0.187500 0.250000
|
||||||
|
v -0.187500 0.187500 -0.250000
|
||||||
|
v -0.187500 -0.187500 -0.250000
|
||||||
|
v -0.187500 -0.187500 0.250000
|
||||||
|
v 0.187500 0.187500 -0.250000
|
||||||
|
v 0.187500 -0.187500 -0.250000
|
||||||
|
v 0.187500 0.187500 0.250000
|
||||||
|
v 0.187500 -0.187500 0.250000
|
||||||
|
v -0.156250 -0.064721 0.500000
|
||||||
|
v -0.156250 -0.064721 0.468750
|
||||||
|
v -0.064721 -0.156250 0.500000
|
||||||
|
v -0.064721 -0.156250 0.468750
|
||||||
|
v 0.064721 -0.156250 0.500000
|
||||||
|
v 0.064721 -0.156250 0.468750
|
||||||
|
v 0.156250 -0.064721 0.500000
|
||||||
|
v 0.156250 -0.064721 0.468750
|
||||||
|
v 0.156250 0.064721 0.500000
|
||||||
|
v 0.156250 0.064721 0.468750
|
||||||
|
v 0.064721 0.156250 0.500000
|
||||||
|
v 0.064721 0.156250 0.468750
|
||||||
|
v -0.064721 0.156250 0.500000
|
||||||
|
v -0.064721 0.156250 0.468750
|
||||||
|
v -0.156250 0.064721 0.500000
|
||||||
|
v -0.156250 0.064721 0.468750
|
||||||
|
v -0.125000 -0.051777 0.468750
|
||||||
|
v -0.125000 -0.051777 -0.468750
|
||||||
|
v -0.051777 -0.125000 0.468750
|
||||||
|
v -0.051777 -0.125000 -0.468750
|
||||||
|
v 0.051777 -0.125000 0.468750
|
||||||
|
v 0.051777 -0.125000 -0.468750
|
||||||
|
v 0.125000 -0.051777 0.468750
|
||||||
|
v 0.125000 -0.051777 -0.468750
|
||||||
|
v 0.125000 0.051777 0.468750
|
||||||
|
v 0.125000 0.051777 -0.468750
|
||||||
|
v 0.051777 0.125000 0.468750
|
||||||
|
v 0.051777 0.125000 -0.468750
|
||||||
|
v -0.051777 0.125000 0.468750
|
||||||
|
v -0.051777 0.125000 -0.468750
|
||||||
|
v -0.125000 0.051777 0.468750
|
||||||
|
v -0.125000 0.051777 -0.468750
|
||||||
|
v -0.156250 -0.064721 -0.468750
|
||||||
|
v -0.156250 -0.064721 -0.500000
|
||||||
|
v -0.064721 -0.156250 -0.468750
|
||||||
|
v -0.064721 -0.156250 -0.500000
|
||||||
|
v 0.064721 -0.156250 -0.468750
|
||||||
|
v 0.064721 -0.156250 -0.500000
|
||||||
|
v 0.156250 -0.064721 -0.468750
|
||||||
|
v 0.156250 -0.064721 -0.500000
|
||||||
|
v 0.156250 0.064721 -0.468750
|
||||||
|
v 0.156250 0.064721 -0.500000
|
||||||
|
v 0.064721 0.156250 -0.468750
|
||||||
|
v 0.064721 0.156250 -0.500000
|
||||||
|
v -0.064721 0.156250 -0.468750
|
||||||
|
v -0.064721 0.156250 -0.500000
|
||||||
|
v -0.156250 0.064721 -0.468750
|
||||||
|
v -0.156250 0.064721 -0.500000
|
||||||
|
vt 0.0098 0.5000
|
||||||
|
vt 0.3235 0.5000
|
||||||
|
vt 0.3235 0.7353
|
||||||
|
vt 0.0098 0.7353
|
||||||
|
vt 0.2647 0.9902
|
||||||
|
vt 0.2647 0.7549
|
||||||
|
vt 0.5000 0.7549
|
||||||
|
vt 0.5000 0.9902
|
||||||
|
vt 0.0098 0.5000
|
||||||
|
vt 0.3235 0.5000
|
||||||
|
vt 0.3235 0.7353
|
||||||
|
vt 0.0098 0.7353
|
||||||
|
vt 0.2451 0.7549
|
||||||
|
vt 0.2451 0.9902
|
||||||
|
vt 0.0098 0.9902
|
||||||
|
vt 0.0098 0.7549
|
||||||
|
vt 0.3235 0.2451
|
||||||
|
vt 0.0098 0.2451
|
||||||
|
vt 0.0098 0.0098
|
||||||
|
vt 0.3235 0.0098
|
||||||
|
vt 0.0098 0.2549
|
||||||
|
vt 0.3235 0.2549
|
||||||
|
vt 0.3235 0.4902
|
||||||
|
vt 0.0098 0.4902
|
||||||
|
vt 0.7941 0.6765
|
||||||
|
vt 0.7353 0.7353
|
||||||
|
vt 0.6569 0.7353
|
||||||
|
vt 0.5980 0.6765
|
||||||
|
vt 0.5980 0.5980
|
||||||
|
vt 0.6569 0.5392
|
||||||
|
vt 0.7353 0.5392
|
||||||
|
vt 0.7941 0.5980
|
||||||
|
vt 0.5000 0.7353
|
||||||
|
vt 0.5588 0.6765
|
||||||
|
vt 0.5588 0.5980
|
||||||
|
vt 0.5000 0.5392
|
||||||
|
vt 0.4216 0.5392
|
||||||
|
vt 0.3627 0.5980
|
||||||
|
vt 0.3627 0.6765
|
||||||
|
vt 0.4216 0.7353
|
||||||
|
vt 0.5588 0.6765
|
||||||
|
vt 0.5000 0.7353
|
||||||
|
vt 0.4216 0.7353
|
||||||
|
vt 0.3627 0.6765
|
||||||
|
vt 0.3627 0.5980
|
||||||
|
vt 0.4216 0.5392
|
||||||
|
vt 0.5000 0.5392
|
||||||
|
vt 0.5588 0.5980
|
||||||
|
vt 0.7353 0.7353
|
||||||
|
vt 0.7941 0.6765
|
||||||
|
vt 0.7941 0.5980
|
||||||
|
vt 0.7353 0.5392
|
||||||
|
vt 0.6569 0.5392
|
||||||
|
vt 0.5980 0.5980
|
||||||
|
vt 0.5980 0.6765
|
||||||
|
vt 0.6569 0.7353
|
||||||
|
vt 0.8529 0.4902
|
||||||
|
vt 0.8529 0.4706
|
||||||
|
vt 0.8922 0.4706
|
||||||
|
vt 0.8922 0.4902
|
||||||
|
vt 0.9314 0.4706
|
||||||
|
vt 0.9314 0.4902
|
||||||
|
vt 0.9706 0.4706
|
||||||
|
vt 0.9706 0.4902
|
||||||
|
vt 0.6569 0.4902
|
||||||
|
vt 0.6569 0.4706
|
||||||
|
vt 0.6961 0.4706
|
||||||
|
vt 0.6961 0.4902
|
||||||
|
vt 0.7353 0.4706
|
||||||
|
vt 0.7353 0.4902
|
||||||
|
vt 0.7745 0.4706
|
||||||
|
vt 0.7745 0.4902
|
||||||
|
vt 0.8137 0.4706
|
||||||
|
vt 0.8137 0.4902
|
||||||
|
vt 0.5784 0.4902
|
||||||
|
vt 0.5784 0.4706
|
||||||
|
vt 0.6176 0.4706
|
||||||
|
vt 0.6176 0.4902
|
||||||
|
vt 0.5392 0.4902
|
||||||
|
vt 0.5392 0.4706
|
||||||
|
vt 0.6569 0.4706
|
||||||
|
vt 0.6569 0.4902
|
||||||
|
vt 0.3431 0.4902
|
||||||
|
vt 0.3431 0.4706
|
||||||
|
vt 0.3824 0.4706
|
||||||
|
vt 0.3824 0.4902
|
||||||
|
vt 0.4216 0.4706
|
||||||
|
vt 0.4216 0.4902
|
||||||
|
vt 0.4608 0.4706
|
||||||
|
vt 0.4608 0.4902
|
||||||
|
vt 0.5000 0.4706
|
||||||
|
vt 0.5000 0.4902
|
||||||
|
vt 0.3431 0.2843
|
||||||
|
vt 0.3431 0.2451
|
||||||
|
vt 0.9706 0.2451
|
||||||
|
vt 0.9706 0.2843
|
||||||
|
vt 0.3431 0.3627
|
||||||
|
vt 0.3431 0.3235
|
||||||
|
vt 0.9706 0.3235
|
||||||
|
vt 0.9706 0.3627
|
||||||
|
vt 0.3431 0.4020
|
||||||
|
vt 0.9706 0.4020
|
||||||
|
vt 0.9706 0.4412
|
||||||
|
vt 0.3431 0.4412
|
||||||
|
vt 0.9706 0.1667
|
||||||
|
vt 0.9706 0.2059
|
||||||
|
vt 0.3431 0.2059
|
||||||
|
vt 0.3431 0.1667
|
||||||
|
vt 0.9706 0.1275
|
||||||
|
vt 0.3431 0.1275
|
||||||
|
vn -1.0000 0.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 0.0000 -1.0000 0.0000
|
||||||
|
vn 0.0000 1.0000 -0.0000
|
||||||
|
vn -0.9239 -0.3827 -0.0000
|
||||||
|
vn -0.3827 -0.9239 -0.0000
|
||||||
|
vn 0.3827 -0.9239 0.0000
|
||||||
|
vn 0.9239 -0.3827 0.0000
|
||||||
|
vn 0.9239 0.3827 0.0000
|
||||||
|
vn 0.3827 0.9239 0.0000
|
||||||
|
vn -0.3827 0.9239 -0.0000
|
||||||
|
vn -0.9239 0.3827 -0.0000
|
||||||
|
g Cube.001_Cube.001_None_Cube.001_Cube.001_None_None
|
||||||
|
s off
|
||||||
|
f 1/1/1 2/2/1 3/3/1 4/4/1
|
||||||
|
f 2/5/2 5/6/2 6/7/2 3/8/2
|
||||||
|
f 5/9/3 7/10/3 8/11/3 6/12/3
|
||||||
|
f 7/13/4 1/14/4 4/15/4 8/16/4
|
||||||
|
f 4/17/5 3/18/5 6/19/5 8/20/5
|
||||||
|
f 7/21/6 5/22/6 2/23/6 1/24/6
|
||||||
|
f 12/25/2 10/26/2 24/27/2 22/28/2 20/29/2 18/30/2 16/31/2 14/32/2
|
||||||
|
f 9/33/4 11/34/4 13/35/4 15/36/4 17/37/4 19/38/4 21/39/4 23/40/4
|
||||||
|
f 44/41/2 42/42/2 56/43/2 54/44/2 52/45/2 50/46/2 48/47/2 46/48/2
|
||||||
|
f 41/49/4 43/50/4 45/51/4 47/52/4 49/53/4 51/54/4 53/55/4 55/56/4
|
||||||
|
s 1
|
||||||
|
f 9/57/7 10/58/7 12/59/8 11/60/8
|
||||||
|
f 11/60/8 12/59/8 14/61/9 13/62/9
|
||||||
|
f 13/62/9 14/61/9 16/63/10 15/64/10
|
||||||
|
f 15/65/10 16/66/10 18/67/11 17/68/11
|
||||||
|
f 17/68/11 18/67/11 20/69/12 19/70/12
|
||||||
|
f 19/70/12 20/69/12 22/71/13 21/72/13
|
||||||
|
f 21/72/13 22/71/13 24/73/14 23/74/14
|
||||||
|
f 23/74/14 24/73/14 10/58/7 9/57/7
|
||||||
|
f 43/75/8 44/76/8 46/77/9 45/78/9
|
||||||
|
f 41/79/7 42/80/7 44/76/8 43/75/8
|
||||||
|
f 45/78/9 46/77/9 48/81/10 47/82/10
|
||||||
|
f 47/83/10 48/84/10 50/85/11 49/86/11
|
||||||
|
f 49/86/11 50/85/11 52/87/12 51/88/12
|
||||||
|
f 51/88/12 52/87/12 54/89/13 53/90/13
|
||||||
|
f 53/90/13 54/89/13 56/91/14 55/92/14
|
||||||
|
f 55/92/14 56/91/14 42/80/7 41/79/7
|
||||||
|
f 38/93/13 40/94/14 39/95/14 37/96/13
|
||||||
|
f 34/97/11 36/98/12 35/99/12 33/100/11
|
||||||
|
f 32/101/10 31/102/10 29/103/9 30/104/9
|
||||||
|
f 38/93/13 37/96/13 35/99/12 36/98/12
|
||||||
|
f 27/105/8 25/106/7 26/107/7 28/108/8
|
||||||
|
f 29/109/9 27/105/8 28/108/8 30/110/9
|
||||||
|
f 32/101/10 34/97/11 33/100/11 31/102/10
|
||||||
|
f 25/106/7 39/95/14 40/94/14 26/107/7
|
194
models/pipeworks_fountainhead_lowpoly.obj
Normal file
@ -0,0 +1,194 @@
|
|||||||
|
# Blender v2.78 (sub 0) OBJ File: 'pipe-fountainhead-lowpoly.blend'
|
||||||
|
# www.blender.org
|
||||||
|
o Cylinder.000
|
||||||
|
v -0.064721 -0.500000 0.156250
|
||||||
|
v -0.064721 -0.468750 0.156250
|
||||||
|
v -0.156250 -0.500000 0.064721
|
||||||
|
v -0.156250 -0.468750 0.064721
|
||||||
|
v -0.156250 -0.500000 -0.064721
|
||||||
|
v -0.156250 -0.468750 -0.064721
|
||||||
|
v -0.064721 -0.500000 -0.156250
|
||||||
|
v -0.064721 -0.468750 -0.156250
|
||||||
|
v 0.064721 -0.500000 -0.156250
|
||||||
|
v 0.064721 -0.468750 -0.156250
|
||||||
|
v 0.156250 -0.500000 -0.064721
|
||||||
|
v 0.156250 -0.468750 -0.064721
|
||||||
|
v 0.156250 -0.500000 0.064721
|
||||||
|
v 0.156250 -0.468750 0.064721
|
||||||
|
v 0.064721 -0.500000 0.156250
|
||||||
|
v 0.064721 -0.468750 0.156250
|
||||||
|
v -0.051777 -0.468750 0.125000
|
||||||
|
v -0.051777 0.312500 0.125000
|
||||||
|
v -0.125000 -0.468750 0.051777
|
||||||
|
v -0.125000 0.312500 0.051777
|
||||||
|
v -0.125000 -0.468750 -0.051777
|
||||||
|
v -0.125000 0.312500 -0.051777
|
||||||
|
v -0.051777 -0.468750 -0.125000
|
||||||
|
v -0.051777 0.312500 -0.125000
|
||||||
|
v 0.051777 -0.468750 -0.125000
|
||||||
|
v 0.051777 0.312500 -0.125000
|
||||||
|
v 0.125000 -0.468750 -0.051777
|
||||||
|
v 0.125000 0.312500 -0.051777
|
||||||
|
v 0.125000 -0.468750 0.051777
|
||||||
|
v 0.125000 0.312500 0.051777
|
||||||
|
v 0.051777 -0.468750 0.125000
|
||||||
|
v 0.051777 0.312500 0.125000
|
||||||
|
v -0.064721 0.312500 0.156250
|
||||||
|
v -0.064721 0.500000 0.156250
|
||||||
|
v -0.156250 0.312500 0.064721
|
||||||
|
v -0.156250 0.500000 0.064721
|
||||||
|
v -0.156250 0.312500 -0.064721
|
||||||
|
v -0.156250 0.500000 -0.064721
|
||||||
|
v -0.064721 0.312500 -0.156250
|
||||||
|
v -0.064721 0.500000 -0.156250
|
||||||
|
v 0.064721 0.312500 -0.156250
|
||||||
|
v 0.064721 0.500000 -0.156250
|
||||||
|
v 0.156250 0.312500 -0.064721
|
||||||
|
v 0.156250 0.500000 -0.064721
|
||||||
|
v 0.156250 0.312500 0.064721
|
||||||
|
v 0.156250 0.500000 0.064721
|
||||||
|
v 0.064721 0.312500 0.156250
|
||||||
|
v 0.064721 0.500000 0.156250
|
||||||
|
vt 0.6389 0.9028
|
||||||
|
vt 0.5556 0.9861
|
||||||
|
vt 0.4444 0.9861
|
||||||
|
vt 0.3611 0.9028
|
||||||
|
vt 0.3611 0.7917
|
||||||
|
vt 0.4444 0.7083
|
||||||
|
vt 0.5556 0.7083
|
||||||
|
vt 0.6389 0.7917
|
||||||
|
vt 0.2222 0.9861
|
||||||
|
vt 0.3056 0.9028
|
||||||
|
vt 0.3056 0.7917
|
||||||
|
vt 0.2222 0.7083
|
||||||
|
vt 0.1111 0.7083
|
||||||
|
vt 0.0278 0.7917
|
||||||
|
vt 0.0278 0.9028
|
||||||
|
vt 0.1111 0.9861
|
||||||
|
vt 0.9722 0.8958
|
||||||
|
vt 0.8889 0.9792
|
||||||
|
vt 0.7778 0.9792
|
||||||
|
vt 0.6944 0.8958
|
||||||
|
vt 0.6944 0.7847
|
||||||
|
vt 0.7778 0.7014
|
||||||
|
vt 0.8889 0.7014
|
||||||
|
vt 0.9722 0.7847
|
||||||
|
vt 0.5556 0.9861
|
||||||
|
vt 0.6389 0.9028
|
||||||
|
vt 0.6389 0.7917
|
||||||
|
vt 0.5556 0.7083
|
||||||
|
vt 0.4444 0.7083
|
||||||
|
vt 0.3611 0.7917
|
||||||
|
vt 0.3611 0.9028
|
||||||
|
vt 0.4444 0.9861
|
||||||
|
vt 0.5694 0.6389
|
||||||
|
vt 0.5694 0.6111
|
||||||
|
vt 0.6806 0.6111
|
||||||
|
vt 0.6806 0.6389
|
||||||
|
vt 0.7917 0.6111
|
||||||
|
vt 0.7917 0.6389
|
||||||
|
vt 0.9028 0.6111
|
||||||
|
vt 0.9028 0.6389
|
||||||
|
vt 0.0139 0.6389
|
||||||
|
vt 0.0139 0.6111
|
||||||
|
vt 0.1250 0.6111
|
||||||
|
vt 0.1250 0.6389
|
||||||
|
vt 0.2361 0.6111
|
||||||
|
vt 0.2361 0.6389
|
||||||
|
vt 0.3472 0.6111
|
||||||
|
vt 0.3472 0.6389
|
||||||
|
vt 0.4583 0.6111
|
||||||
|
vt 0.4583 0.6389
|
||||||
|
vt 0.6806 0.5972
|
||||||
|
vt 0.6806 0.5139
|
||||||
|
vt 0.7917 0.5139
|
||||||
|
vt 0.7917 0.5972
|
||||||
|
vt 0.5694 0.5972
|
||||||
|
vt 0.5694 0.5139
|
||||||
|
vt 0.9028 0.5139
|
||||||
|
vt 0.9028 0.5972
|
||||||
|
vt 0.0139 0.5972
|
||||||
|
vt 0.0139 0.5139
|
||||||
|
vt 0.1250 0.5139
|
||||||
|
vt 0.1250 0.5972
|
||||||
|
vt 0.2361 0.5139
|
||||||
|
vt 0.2361 0.5972
|
||||||
|
vt 0.3472 0.5139
|
||||||
|
vt 0.3472 0.5972
|
||||||
|
vt 0.4583 0.5139
|
||||||
|
vt 0.4583 0.5972
|
||||||
|
vt 0.0139 0.2361
|
||||||
|
vt 0.0139 0.1806
|
||||||
|
vt 0.9028 0.1806
|
||||||
|
vt 0.9028 0.2361
|
||||||
|
vt 0.0139 0.3472
|
||||||
|
vt 0.0139 0.2917
|
||||||
|
vt 0.9028 0.2917
|
||||||
|
vt 0.9028 0.3472
|
||||||
|
vt 0.0139 0.4028
|
||||||
|
vt 0.9028 0.4028
|
||||||
|
vt 0.9028 0.4583
|
||||||
|
vt 0.0139 0.4583
|
||||||
|
vt 0.9028 0.0694
|
||||||
|
vt 0.9028 0.1250
|
||||||
|
vt 0.0139 0.1250
|
||||||
|
vt 0.0139 0.0694
|
||||||
|
vt 0.9028 0.0139
|
||||||
|
vt 0.0139 0.0139
|
||||||
|
vn -0.0000 1.0000 0.0000
|
||||||
|
vn 0.0000 -1.0000 0.0000
|
||||||
|
vn -0.2971 -0.6302 0.7173
|
||||||
|
vn -0.2971 0.6302 0.7173
|
||||||
|
vn -0.7173 0.6302 0.2971
|
||||||
|
vn -0.7173 -0.6302 0.2971
|
||||||
|
vn -0.7173 0.6302 -0.2971
|
||||||
|
vn -0.7173 -0.6302 -0.2971
|
||||||
|
vn -0.2971 0.6302 -0.7173
|
||||||
|
vn -0.2971 -0.6302 -0.7173
|
||||||
|
vn 0.2971 0.6302 -0.7173
|
||||||
|
vn 0.2971 -0.6302 -0.7173
|
||||||
|
vn 0.7173 0.6302 -0.2971
|
||||||
|
vn 0.7173 -0.6302 -0.2971
|
||||||
|
vn 0.7173 0.6302 0.2971
|
||||||
|
vn 0.7173 -0.6302 0.2971
|
||||||
|
vn 0.2971 0.6302 0.7173
|
||||||
|
vn 0.2971 -0.6302 0.7173
|
||||||
|
vn 0.9239 0.0000 0.3827
|
||||||
|
vn 0.3827 0.0000 0.9239
|
||||||
|
vn 0.3827 0.0000 -0.9239
|
||||||
|
vn 0.9239 0.0000 -0.3827
|
||||||
|
vn -0.3827 0.0000 -0.9239
|
||||||
|
vn -0.9239 0.0000 -0.3827
|
||||||
|
vn -0.9239 0.0000 0.3827
|
||||||
|
vn -0.3827 0.0000 0.9239
|
||||||
|
g Cylinder.000_Cylinder.000_None
|
||||||
|
s off
|
||||||
|
f 4/1/1 2/2/1 16/3/1 14/4/1 12/5/1 10/6/1 8/7/1 6/8/1
|
||||||
|
f 1/9/2 3/10/2 5/11/2 7/12/2 9/13/2 11/14/2 13/15/2 15/16/2
|
||||||
|
f 36/17/1 34/18/1 48/19/1 46/20/1 44/21/1 42/22/1 40/23/1 38/24/1
|
||||||
|
f 33/25/2 35/26/2 37/27/2 39/28/2 41/29/2 43/30/2 45/31/2 47/32/2
|
||||||
|
s 1
|
||||||
|
f 1/33/3 2/34/4 4/35/5 3/36/6
|
||||||
|
f 3/36/6 4/35/5 6/37/7 5/38/8
|
||||||
|
f 5/38/8 6/37/7 8/39/9 7/40/10
|
||||||
|
f 7/41/10 8/42/9 10/43/11 9/44/12
|
||||||
|
f 9/44/12 10/43/11 12/45/13 11/46/14
|
||||||
|
f 11/46/14 12/45/13 14/47/15 13/48/16
|
||||||
|
f 13/48/16 14/47/15 16/49/17 15/50/18
|
||||||
|
f 15/50/18 16/49/17 2/34/4 1/33/3
|
||||||
|
f 35/51/6 36/52/5 38/53/7 37/54/8
|
||||||
|
f 33/55/3 34/56/4 36/52/5 35/51/6
|
||||||
|
f 37/54/8 38/53/7 40/57/9 39/58/10
|
||||||
|
f 39/59/10 40/60/9 42/61/11 41/62/12
|
||||||
|
f 41/62/12 42/61/11 44/63/13 43/64/14
|
||||||
|
f 43/64/14 44/63/13 46/65/15 45/66/16
|
||||||
|
f 45/66/16 46/65/15 48/67/17 47/68/18
|
||||||
|
f 47/68/18 48/67/17 34/56/4 33/55/3
|
||||||
|
f 30/69/19 32/70/20 31/71/20 29/72/19
|
||||||
|
f 26/73/21 28/74/22 27/75/22 25/76/21
|
||||||
|
f 24/77/23 23/78/23 21/79/24 22/80/24
|
||||||
|
f 30/69/19 29/72/19 27/75/22 28/74/22
|
||||||
|
f 19/81/25 17/82/26 18/83/26 20/84/25
|
||||||
|
f 21/85/24 19/81/25 20/84/25 22/86/24
|
||||||
|
f 24/77/23 26/73/21 25/76/21 23/78/23
|
||||||
|
f 17/82/26 31/71/20 32/70/20 18/83/26
|
812
models/pipeworks_pipe_10_lowpoly.obj
Normal file
@ -0,0 +1,812 @@
|
|||||||
|
# Blender v2.78 (sub 0) OBJ File: 'pipe-master-lowpoly.blend'
|
||||||
|
# www.blender.org
|
||||||
|
o Cylinder.002_Cylinder.006_None.005
|
||||||
|
v -0.468750 -0.156250 -0.064721
|
||||||
|
v -0.468750 -0.064721 -0.156250
|
||||||
|
v -0.468750 0.064721 -0.156250
|
||||||
|
v -0.468750 0.156250 -0.064721
|
||||||
|
v -0.468750 0.156250 0.064721
|
||||||
|
v -0.468750 0.064721 0.156250
|
||||||
|
v -0.468750 -0.064721 0.156250
|
||||||
|
v -0.468750 -0.156250 0.064721
|
||||||
|
v -0.500000 -0.064721 -0.156250
|
||||||
|
v -0.500000 -0.156250 -0.064721
|
||||||
|
v -0.500000 -0.156250 0.064721
|
||||||
|
v -0.500000 -0.064721 0.156250
|
||||||
|
v -0.500000 0.064721 0.156250
|
||||||
|
v -0.500000 0.156250 0.064721
|
||||||
|
v -0.500000 0.156250 -0.064721
|
||||||
|
v -0.500000 0.064721 -0.156250
|
||||||
|
v 0.500000 -0.156250 -0.064721
|
||||||
|
v 0.500000 -0.064721 -0.156250
|
||||||
|
v 0.500000 0.064721 -0.156250
|
||||||
|
v 0.500000 0.156250 -0.064721
|
||||||
|
v 0.500000 0.156250 0.064721
|
||||||
|
v 0.500000 0.064721 0.156250
|
||||||
|
v 0.500000 -0.064721 0.156250
|
||||||
|
v 0.500000 -0.156250 0.064721
|
||||||
|
v 0.468750 -0.064721 -0.156250
|
||||||
|
v 0.468750 -0.156250 -0.064721
|
||||||
|
v 0.468750 -0.156250 0.064721
|
||||||
|
v 0.468750 -0.064721 0.156250
|
||||||
|
v 0.468750 0.064721 0.156250
|
||||||
|
v 0.468750 0.156250 0.064721
|
||||||
|
v 0.468750 0.156250 -0.064721
|
||||||
|
v 0.468750 0.064721 -0.156250
|
||||||
|
v -0.156250 0.468750 -0.064721
|
||||||
|
v -0.064721 0.468750 -0.156250
|
||||||
|
v 0.064721 0.468750 -0.156250
|
||||||
|
v 0.156250 0.468750 -0.064721
|
||||||
|
v 0.156250 0.468750 0.064721
|
||||||
|
v 0.064721 0.468750 0.156250
|
||||||
|
v -0.064721 0.468750 0.156250
|
||||||
|
v -0.156250 0.468750 0.064721
|
||||||
|
v -0.064721 0.500000 -0.156250
|
||||||
|
v -0.156250 0.500000 -0.064721
|
||||||
|
v -0.156250 0.500000 0.064721
|
||||||
|
v -0.064721 0.500000 0.156250
|
||||||
|
v 0.064721 0.500000 0.156250
|
||||||
|
v 0.156250 0.500000 0.064721
|
||||||
|
v 0.156250 0.500000 -0.064721
|
||||||
|
v 0.064721 0.500000 -0.156250
|
||||||
|
v -0.156250 -0.500000 -0.064721
|
||||||
|
v -0.064721 -0.500000 -0.156250
|
||||||
|
v 0.064721 -0.500000 -0.156250
|
||||||
|
v 0.156250 -0.500000 -0.064721
|
||||||
|
v 0.156250 -0.500000 0.064721
|
||||||
|
v 0.064721 -0.500000 0.156250
|
||||||
|
v -0.064721 -0.500000 0.156250
|
||||||
|
v -0.156250 -0.500000 0.064721
|
||||||
|
v -0.064721 -0.468750 -0.156250
|
||||||
|
v -0.156250 -0.468750 -0.064721
|
||||||
|
v -0.156250 -0.468750 0.064721
|
||||||
|
v -0.064721 -0.468750 0.156250
|
||||||
|
v 0.064721 -0.468750 0.156250
|
||||||
|
v 0.156250 -0.468750 0.064721
|
||||||
|
v 0.156250 -0.468750 -0.064721
|
||||||
|
v 0.064721 -0.468750 -0.156250
|
||||||
|
v -0.156250 -0.064721 -0.468750
|
||||||
|
v -0.064721 -0.156250 -0.468750
|
||||||
|
v 0.064721 -0.156250 -0.468750
|
||||||
|
v 0.156250 -0.064721 -0.468750
|
||||||
|
v 0.156250 0.064721 -0.468750
|
||||||
|
v 0.064721 0.156250 -0.468750
|
||||||
|
v -0.064721 0.156250 -0.468750
|
||||||
|
v -0.156250 0.064721 -0.468750
|
||||||
|
v -0.064721 -0.156250 -0.500000
|
||||||
|
v -0.156250 -0.064721 -0.500000
|
||||||
|
v -0.156250 0.064721 -0.500000
|
||||||
|
v -0.064721 0.156250 -0.500000
|
||||||
|
v 0.064721 0.156250 -0.500000
|
||||||
|
v 0.156250 0.064721 -0.500000
|
||||||
|
v 0.156250 -0.064721 -0.500000
|
||||||
|
v 0.064721 -0.156250 -0.500000
|
||||||
|
v -0.156250 -0.064721 0.500000
|
||||||
|
v -0.064721 -0.156250 0.500000
|
||||||
|
v 0.064721 -0.156250 0.500000
|
||||||
|
v 0.156250 -0.064721 0.500000
|
||||||
|
v 0.156250 0.064721 0.500000
|
||||||
|
v 0.064721 0.156250 0.500000
|
||||||
|
v -0.064721 0.156250 0.500000
|
||||||
|
v -0.156250 0.064721 0.500000
|
||||||
|
v -0.064721 -0.156250 0.468750
|
||||||
|
v -0.156250 -0.064721 0.468750
|
||||||
|
v -0.156250 0.064721 0.468750
|
||||||
|
v -0.064721 0.156250 0.468750
|
||||||
|
v 0.064721 0.156250 0.468750
|
||||||
|
v 0.156250 0.064721 0.468750
|
||||||
|
v 0.156250 -0.064721 0.468750
|
||||||
|
v 0.064721 -0.156250 0.468750
|
||||||
|
v -0.468750 -0.051777 -0.125000
|
||||||
|
v -0.468750 -0.125000 -0.051777
|
||||||
|
v -0.468750 -0.125000 0.051777
|
||||||
|
v -0.468750 -0.051777 0.125000
|
||||||
|
v -0.468750 0.051777 0.125000
|
||||||
|
v -0.468750 0.125000 0.051777
|
||||||
|
v -0.468750 0.125000 -0.051777
|
||||||
|
v -0.468750 0.051777 -0.125000
|
||||||
|
v 0.468750 -0.125000 -0.051777
|
||||||
|
v 0.468750 -0.051777 -0.125000
|
||||||
|
v 0.468750 0.051777 -0.125000
|
||||||
|
v 0.468750 0.125000 -0.051777
|
||||||
|
v 0.468750 0.125000 0.051777
|
||||||
|
v 0.468750 0.051777 0.125000
|
||||||
|
v 0.468750 -0.051777 0.125000
|
||||||
|
v 0.468750 -0.125000 0.051777
|
||||||
|
v 0.125000 0.125000 -0.051777
|
||||||
|
v 0.125000 0.125000 0.051777
|
||||||
|
v 0.088388 0.088388 0.088388
|
||||||
|
v 0.125000 0.051777 0.125000
|
||||||
|
v 0.125000 -0.051777 0.125000
|
||||||
|
v 0.088388 -0.088388 0.088388
|
||||||
|
v 0.125000 -0.125000 0.051777
|
||||||
|
v 0.125000 -0.125000 -0.051777
|
||||||
|
v 0.088388 -0.088388 -0.088388
|
||||||
|
v 0.125000 -0.051777 -0.125000
|
||||||
|
v 0.125000 0.051777 -0.125000
|
||||||
|
v 0.088388 0.088388 -0.088388
|
||||||
|
v -0.125000 -0.125000 0.051777
|
||||||
|
v -0.088388 -0.088388 0.088388
|
||||||
|
v -0.125000 -0.051777 0.125000
|
||||||
|
v -0.125000 0.051777 0.125000
|
||||||
|
v -0.088388 0.088388 0.088389
|
||||||
|
v -0.125000 0.125000 0.051777
|
||||||
|
v -0.125000 0.125000 -0.051777
|
||||||
|
v -0.088388 0.088388 -0.088388
|
||||||
|
v -0.125000 0.051777 -0.125000
|
||||||
|
v -0.125000 -0.051777 -0.125000
|
||||||
|
v -0.088388 -0.088388 -0.088388
|
||||||
|
v -0.125000 -0.125000 -0.051777
|
||||||
|
v -0.051777 0.468750 -0.125000
|
||||||
|
v -0.125000 0.468750 -0.051777
|
||||||
|
v -0.125000 0.468750 0.051777
|
||||||
|
v -0.051777 0.468750 0.125000
|
||||||
|
v 0.051777 0.468750 0.125000
|
||||||
|
v 0.125000 0.468750 0.051777
|
||||||
|
v 0.125000 0.468750 -0.051777
|
||||||
|
v 0.051777 0.468750 -0.125000
|
||||||
|
v -0.125000 -0.468750 -0.051777
|
||||||
|
v -0.051777 -0.468750 -0.125000
|
||||||
|
v 0.051777 -0.468750 -0.125000
|
||||||
|
v 0.125000 -0.468750 -0.051777
|
||||||
|
v 0.125000 -0.468750 0.051777
|
||||||
|
v 0.051777 -0.468750 0.125000
|
||||||
|
v -0.051777 -0.468750 0.125000
|
||||||
|
v -0.125000 -0.468750 0.051777
|
||||||
|
v 0.051777 -0.125000 0.125000
|
||||||
|
v -0.051777 -0.125000 0.125000
|
||||||
|
v -0.051777 -0.125000 -0.125000
|
||||||
|
v 0.051777 -0.125000 -0.125000
|
||||||
|
v -0.051777 0.125000 0.125000
|
||||||
|
v 0.051777 0.125000 0.125000
|
||||||
|
v 0.051777 0.125000 -0.125000
|
||||||
|
v -0.051777 0.125000 -0.125000
|
||||||
|
v -0.051777 -0.125000 -0.468750
|
||||||
|
v -0.125000 -0.051777 -0.468750
|
||||||
|
v -0.125000 0.051777 -0.468750
|
||||||
|
v -0.051777 0.125000 -0.468750
|
||||||
|
v 0.051777 0.125000 -0.468750
|
||||||
|
v 0.125000 0.051777 -0.468750
|
||||||
|
v 0.125000 -0.051777 -0.468750
|
||||||
|
v 0.051777 -0.125000 -0.468750
|
||||||
|
v -0.125000 -0.051777 0.468750
|
||||||
|
v -0.051777 -0.125000 0.468750
|
||||||
|
v 0.051777 -0.125000 0.468750
|
||||||
|
v 0.125000 -0.051777 0.468750
|
||||||
|
v 0.125000 0.051777 0.468750
|
||||||
|
v 0.051777 0.125000 0.468750
|
||||||
|
v -0.051777 0.125000 0.468750
|
||||||
|
v -0.125000 0.051777 0.468750
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.8125 0.5938
|
||||||
|
vt 0.8125 0.5625
|
||||||
|
vt 0.8750 0.5625
|
||||||
|
vt 0.8750 0.5938
|
||||||
|
vt 0.9375 0.5625
|
||||||
|
vt 0.9375 0.5938
|
||||||
|
vt 1.0000 0.5625
|
||||||
|
vt 1.0000 0.5938
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5625 0.5625
|
||||||
|
vt 0.5625 0.5938
|
||||||
|
vt 0.6250 0.5625
|
||||||
|
vt 0.6250 0.5938
|
||||||
|
vt 0.6875 0.5625
|
||||||
|
vt 0.6875 0.5938
|
||||||
|
vt 0.7500 0.5625
|
||||||
|
vt 0.7500 0.5938
|
||||||
|
vt 0.3750 0.5938
|
||||||
|
vt 0.3750 0.5625
|
||||||
|
vt 0.4375 0.5625
|
||||||
|
vt 0.4375 0.5938
|
||||||
|
vt 0.3125 0.5938
|
||||||
|
vt 0.3125 0.5625
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.0000 0.5938
|
||||||
|
vt 0.0000 0.5625
|
||||||
|
vt 0.0625 0.5625
|
||||||
|
vt 0.0625 0.5938
|
||||||
|
vt 0.1250 0.5625
|
||||||
|
vt 0.1250 0.5938
|
||||||
|
vt 0.1875 0.5625
|
||||||
|
vt 0.1875 0.5938
|
||||||
|
vt 0.2500 0.5625
|
||||||
|
vt 0.2500 0.5938
|
||||||
|
vt 0.0000 1.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 1.0000 0.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 0.6250 0.5156
|
||||||
|
vt 0.5000 0.5156
|
||||||
|
vt 0.5000 0.3281
|
||||||
|
vt 0.6250 0.3281
|
||||||
|
vt 0.6875 0.3125
|
||||||
|
vt 0.7500 0.3281
|
||||||
|
vt 0.7500 0.5156
|
||||||
|
vt 0.8750 0.5156
|
||||||
|
vt 0.8750 0.3281
|
||||||
|
vt 1.0000 0.5156
|
||||||
|
vt 0.9375 0.3125
|
||||||
|
vt 1.0000 0.3281
|
||||||
|
vt 0.1250 0.5156
|
||||||
|
vt -0.0000 0.5156
|
||||||
|
vt -0.0000 0.3281
|
||||||
|
vt 0.1250 0.3281
|
||||||
|
vt 0.1875 0.3125
|
||||||
|
vt 0.2500 0.3281
|
||||||
|
vt 0.2500 0.5156
|
||||||
|
vt 0.3750 0.3281
|
||||||
|
vt 0.3750 0.5156
|
||||||
|
vt 0.4375 0.3125
|
||||||
|
vt 1.0000 0.0156
|
||||||
|
vt 1.0000 0.2031
|
||||||
|
vt 0.9375 0.2188
|
||||||
|
vt 0.8750 0.2031
|
||||||
|
vt 0.8750 0.0156
|
||||||
|
vt 0.7500 0.2031
|
||||||
|
vt 0.7500 0.0156
|
||||||
|
vt 0.6250 0.0156
|
||||||
|
vt 0.6875 0.2188
|
||||||
|
vt 0.6250 0.2031
|
||||||
|
vt 0.5000 0.2031
|
||||||
|
vt 0.5000 0.0156
|
||||||
|
vt 0.4375 0.2188
|
||||||
|
vt 0.3750 0.2031
|
||||||
|
vt 0.3750 0.0156
|
||||||
|
vt 0.2500 0.0156
|
||||||
|
vt 0.2500 0.2031
|
||||||
|
vt 0.1250 0.0156
|
||||||
|
vt 0.1875 0.2188
|
||||||
|
vt 0.1250 0.2031
|
||||||
|
vt -0.0000 0.2031
|
||||||
|
vt -0.0000 0.0156
|
||||||
|
vt 0.8125 0.5938
|
||||||
|
vt 0.8125 0.5625
|
||||||
|
vt 0.8750 0.5625
|
||||||
|
vt 0.8750 0.5938
|
||||||
|
vt 0.9375 0.5625
|
||||||
|
vt 0.9375 0.5938
|
||||||
|
vt 1.0000 0.5625
|
||||||
|
vt 1.0000 0.5938
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5625 0.5625
|
||||||
|
vt 0.5625 0.5938
|
||||||
|
vt 0.6250 0.5625
|
||||||
|
vt 0.6250 0.5938
|
||||||
|
vt 0.6875 0.5625
|
||||||
|
vt 0.6875 0.5938
|
||||||
|
vt 0.7500 0.5625
|
||||||
|
vt 0.7500 0.5938
|
||||||
|
vt 0.3750 0.5938
|
||||||
|
vt 0.3750 0.5625
|
||||||
|
vt 0.4375 0.5625
|
||||||
|
vt 0.4375 0.5938
|
||||||
|
vt 0.3125 0.5938
|
||||||
|
vt 0.3125 0.5625
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.0000 0.5938
|
||||||
|
vt 0.0000 0.5625
|
||||||
|
vt 0.0625 0.5625
|
||||||
|
vt 0.0625 0.5938
|
||||||
|
vt 0.1250 0.5625
|
||||||
|
vt 0.1250 0.5938
|
||||||
|
vt 0.1875 0.5625
|
||||||
|
vt 0.1875 0.5938
|
||||||
|
vt 0.2500 0.5625
|
||||||
|
vt 0.2500 0.5938
|
||||||
|
vt 0.0000 1.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 1.0000 0.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 0.6250 0.5156
|
||||||
|
vt 0.5000 0.5156
|
||||||
|
vt 0.5000 0.3281
|
||||||
|
vt 0.6250 0.3281
|
||||||
|
vt 0.6875 0.3125
|
||||||
|
vt 0.7500 0.3281
|
||||||
|
vt 0.7500 0.5156
|
||||||
|
vt 0.8750 0.5156
|
||||||
|
vt 0.8750 0.3281
|
||||||
|
vt 1.0000 0.5156
|
||||||
|
vt 0.9375 0.3125
|
||||||
|
vt 1.0000 0.3281
|
||||||
|
vt 0.1250 0.5156
|
||||||
|
vt -0.0000 0.5156
|
||||||
|
vt -0.0000 0.3281
|
||||||
|
vt 0.1250 0.3281
|
||||||
|
vt 0.1875 0.3125
|
||||||
|
vt 0.2500 0.3281
|
||||||
|
vt 0.2500 0.5156
|
||||||
|
vt 0.3750 0.3281
|
||||||
|
vt 0.3750 0.5156
|
||||||
|
vt 0.4375 0.3125
|
||||||
|
vt 1.0000 0.0156
|
||||||
|
vt 1.0000 0.2031
|
||||||
|
vt 0.9375 0.2188
|
||||||
|
vt 0.8750 0.2031
|
||||||
|
vt 0.8750 0.0156
|
||||||
|
vt 0.7500 0.2031
|
||||||
|
vt 0.7500 0.0156
|
||||||
|
vt 0.6250 0.0156
|
||||||
|
vt 0.6875 0.2188
|
||||||
|
vt 0.6250 0.2031
|
||||||
|
vt 0.5000 0.2031
|
||||||
|
vt 0.5000 0.0156
|
||||||
|
vt 0.4375 0.2188
|
||||||
|
vt 0.3750 0.2031
|
||||||
|
vt 0.3750 0.0156
|
||||||
|
vt 0.2500 0.0156
|
||||||
|
vt 0.2500 0.2031
|
||||||
|
vt 0.1250 0.0156
|
||||||
|
vt 0.1875 0.2188
|
||||||
|
vt 0.1250 0.2031
|
||||||
|
vt -0.0000 0.2031
|
||||||
|
vt -0.0000 0.0156
|
||||||
|
vt 0.8125 0.5938
|
||||||
|
vt 0.8125 0.5625
|
||||||
|
vt 0.8750 0.5625
|
||||||
|
vt 0.8750 0.5938
|
||||||
|
vt 0.9375 0.5625
|
||||||
|
vt 0.9375 0.5938
|
||||||
|
vt 1.0000 0.5625
|
||||||
|
vt 1.0000 0.5938
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5625 0.5625
|
||||||
|
vt 0.5625 0.5938
|
||||||
|
vt 0.6250 0.5625
|
||||||
|
vt 0.6250 0.5938
|
||||||
|
vt 0.6875 0.5625
|
||||||
|
vt 0.6875 0.5938
|
||||||
|
vt 0.7500 0.5625
|
||||||
|
vt 0.7500 0.5938
|
||||||
|
vt 0.3750 0.5938
|
||||||
|
vt 0.3750 0.5625
|
||||||
|
vt 0.4375 0.5625
|
||||||
|
vt 0.4375 0.5938
|
||||||
|
vt 0.3125 0.5938
|
||||||
|
vt 0.3125 0.5625
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.0000 0.5938
|
||||||
|
vt 0.0000 0.5625
|
||||||
|
vt 0.0625 0.5625
|
||||||
|
vt 0.0625 0.5938
|
||||||
|
vt 0.1250 0.5625
|
||||||
|
vt 0.1250 0.5938
|
||||||
|
vt 0.1875 0.5625
|
||||||
|
vt 0.1875 0.5938
|
||||||
|
vt 0.2500 0.5625
|
||||||
|
vt 0.2500 0.5938
|
||||||
|
vt 0.0000 1.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 1.0000 0.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 0.6250 0.5156
|
||||||
|
vt 0.5000 0.5156
|
||||||
|
vt 0.5000 0.3281
|
||||||
|
vt 0.6250 0.3281
|
||||||
|
vt 0.7500 0.3281
|
||||||
|
vt 0.7500 0.5156
|
||||||
|
vt 0.8750 0.5156
|
||||||
|
vt 0.8750 0.3281
|
||||||
|
vt 1.0000 0.5156
|
||||||
|
vt 0.9375 0.3125
|
||||||
|
vt 1.0000 0.3281
|
||||||
|
vt 0.1250 0.5156
|
||||||
|
vt -0.0000 0.5156
|
||||||
|
vt -0.0000 0.3281
|
||||||
|
vt 0.1250 0.3281
|
||||||
|
vt 0.1875 0.3125
|
||||||
|
vt 0.2500 0.3281
|
||||||
|
vt 0.2500 0.5156
|
||||||
|
vt 0.3750 0.3281
|
||||||
|
vt 0.3750 0.5156
|
||||||
|
vt 0.4375 0.3125
|
||||||
|
vt 1.0000 0.0156
|
||||||
|
vt 1.0000 0.2031
|
||||||
|
vt 0.9375 0.2188
|
||||||
|
vt 0.8750 0.2031
|
||||||
|
vt 0.8750 0.0156
|
||||||
|
vt 0.7500 0.2031
|
||||||
|
vt 0.7500 0.0156
|
||||||
|
vt 0.6250 0.0156
|
||||||
|
vt 0.6875 0.2188
|
||||||
|
vt 0.6250 0.2031
|
||||||
|
vt 0.5000 0.2031
|
||||||
|
vt 0.5000 0.0156
|
||||||
|
vt 0.4375 0.2188
|
||||||
|
vt 0.3750 0.2031
|
||||||
|
vt 0.3750 0.0156
|
||||||
|
vt 0.2500 0.0156
|
||||||
|
vt 0.2500 0.2031
|
||||||
|
vt 0.1250 0.0156
|
||||||
|
vt 0.1250 0.2031
|
||||||
|
vt -0.0000 0.2031
|
||||||
|
vt -0.0000 0.0156
|
||||||
|
vn 1.0000 0.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 0.0000 0.0000 1.0000
|
||||||
|
vn -0.0000 0.0000 -1.0000
|
||||||
|
vn -0.6302 -0.2971 -0.7173
|
||||||
|
vn 0.6302 -0.2971 -0.7173
|
||||||
|
vn 0.6302 -0.7173 -0.2971
|
||||||
|
vn -0.6302 -0.7173 -0.2971
|
||||||
|
vn 0.6302 -0.7173 0.2971
|
||||||
|
vn -0.6302 -0.7173 0.2971
|
||||||
|
vn 0.6302 -0.2971 0.7173
|
||||||
|
vn -0.6302 -0.2971 0.7173
|
||||||
|
vn 0.6302 0.2971 0.7173
|
||||||
|
vn -0.6302 0.2971 0.7173
|
||||||
|
vn 0.6302 0.7173 0.2971
|
||||||
|
vn -0.6302 0.7173 0.2971
|
||||||
|
vn 0.6302 0.7173 -0.2971
|
||||||
|
vn -0.6302 0.7173 -0.2971
|
||||||
|
vn 0.6302 0.2971 -0.7173
|
||||||
|
vn -0.6302 0.2971 -0.7173
|
||||||
|
vn -0.6303 -0.2971 -0.7173
|
||||||
|
vn -0.6303 -0.7173 -0.2971
|
||||||
|
vn -0.6303 -0.7173 0.2971
|
||||||
|
vn -0.6303 -0.2971 0.7173
|
||||||
|
vn -0.6303 0.2971 0.7173
|
||||||
|
vn -0.6303 0.7173 0.2971
|
||||||
|
vn -0.6303 0.7173 -0.2971
|
||||||
|
vn -0.6303 0.2971 -0.7173
|
||||||
|
vn 0.6303 -0.7173 -0.2971
|
||||||
|
vn 0.6303 -0.2971 -0.7173
|
||||||
|
vn 0.6303 0.2971 -0.7173
|
||||||
|
vn 0.6303 0.7173 -0.2971
|
||||||
|
vn 0.6303 0.7173 0.2971
|
||||||
|
vn 0.6303 0.2971 0.7173
|
||||||
|
vn 0.6303 -0.2971 0.7173
|
||||||
|
vn 0.6303 -0.7173 0.2971
|
||||||
|
vn 0.5789 0.5789 -0.5743
|
||||||
|
vn 0.5789 0.5789 0.5743
|
||||||
|
vn 0.5774 0.5774 0.5774
|
||||||
|
vn 0.5789 0.5743 0.5789
|
||||||
|
vn 0.5789 -0.5743 0.5789
|
||||||
|
vn 0.5774 -0.5774 0.5774
|
||||||
|
vn 0.5789 -0.5789 0.5743
|
||||||
|
vn 0.5789 -0.5789 -0.5743
|
||||||
|
vn 0.5774 -0.5774 -0.5774
|
||||||
|
vn 0.5789 -0.5743 -0.5789
|
||||||
|
vn 0.5789 0.5743 -0.5789
|
||||||
|
vn 0.5774 0.5774 -0.5774
|
||||||
|
vn -0.5789 -0.5789 0.5743
|
||||||
|
vn -0.5774 -0.5774 0.5774
|
||||||
|
vn -0.5789 -0.5743 0.5789
|
||||||
|
vn -0.5789 0.5743 0.5789
|
||||||
|
vn -0.5774 0.5774 0.5773
|
||||||
|
vn -0.5789 0.5789 0.5743
|
||||||
|
vn -0.5789 0.5789 -0.5743
|
||||||
|
vn -0.5774 0.5774 -0.5774
|
||||||
|
vn -0.5789 0.5743 -0.5789
|
||||||
|
vn -0.5789 -0.5743 -0.5789
|
||||||
|
vn -0.5774 -0.5774 -0.5774
|
||||||
|
vn -0.5789 -0.5789 -0.5743
|
||||||
|
vn -0.2971 0.6302 -0.7173
|
||||||
|
vn -0.2971 -0.6302 -0.7173
|
||||||
|
vn -0.7173 -0.6302 -0.2971
|
||||||
|
vn -0.7173 0.6302 -0.2971
|
||||||
|
vn -0.7173 -0.6302 0.2971
|
||||||
|
vn -0.7173 0.6302 0.2971
|
||||||
|
vn -0.2971 -0.6302 0.7173
|
||||||
|
vn -0.2971 0.6302 0.7173
|
||||||
|
vn 0.2971 -0.6302 0.7173
|
||||||
|
vn 0.2971 0.6302 0.7173
|
||||||
|
vn 0.7173 -0.6302 0.2971
|
||||||
|
vn 0.7173 0.6302 0.2971
|
||||||
|
vn 0.7173 -0.6302 -0.2971
|
||||||
|
vn 0.7173 0.6302 -0.2971
|
||||||
|
vn 0.2971 -0.6302 -0.7173
|
||||||
|
vn 0.2971 0.6302 -0.7173
|
||||||
|
vn -0.2971 0.6303 -0.7173
|
||||||
|
vn -0.7173 0.6303 -0.2971
|
||||||
|
vn -0.7173 0.6303 0.2971
|
||||||
|
vn -0.2971 0.6303 0.7173
|
||||||
|
vn 0.2971 0.6303 0.7173
|
||||||
|
vn 0.7173 0.6303 0.2971
|
||||||
|
vn 0.7173 0.6303 -0.2971
|
||||||
|
vn 0.2971 0.6303 -0.7173
|
||||||
|
vn -0.7173 -0.6303 -0.2971
|
||||||
|
vn -0.2971 -0.6303 -0.7173
|
||||||
|
vn 0.2971 -0.6303 -0.7173
|
||||||
|
vn 0.7173 -0.6303 -0.2971
|
||||||
|
vn 0.7173 -0.6303 0.2971
|
||||||
|
vn 0.2971 -0.6303 0.7173
|
||||||
|
vn -0.2971 -0.6303 0.7173
|
||||||
|
vn -0.7173 -0.6303 0.2971
|
||||||
|
vn 0.5743 -0.5789 0.5789
|
||||||
|
vn -0.5743 -0.5789 0.5789
|
||||||
|
vn -0.5743 -0.5789 -0.5789
|
||||||
|
vn 0.5743 -0.5789 -0.5789
|
||||||
|
vn -0.5743 0.5789 0.5789
|
||||||
|
vn 0.5743 0.5789 0.5789
|
||||||
|
vn 0.5743 0.5789 -0.5789
|
||||||
|
vn -0.5743 0.5789 -0.5789
|
||||||
|
vn -0.2971 -0.7173 -0.6302
|
||||||
|
vn -0.2971 -0.7173 0.6302
|
||||||
|
vn -0.7173 -0.2971 0.6302
|
||||||
|
vn -0.7173 -0.2971 -0.6302
|
||||||
|
vn -0.7173 0.2971 0.6302
|
||||||
|
vn -0.7173 0.2971 -0.6302
|
||||||
|
vn -0.2971 0.7173 0.6302
|
||||||
|
vn -0.2971 0.7173 -0.6302
|
||||||
|
vn 0.2971 0.7173 0.6302
|
||||||
|
vn 0.2971 0.7173 -0.6302
|
||||||
|
vn 0.7173 0.2971 0.6302
|
||||||
|
vn 0.7173 0.2971 -0.6302
|
||||||
|
vn 0.7173 -0.2971 0.6302
|
||||||
|
vn 0.7173 -0.2971 -0.6302
|
||||||
|
vn 0.2971 -0.7173 0.6302
|
||||||
|
vn 0.2971 -0.7173 -0.6302
|
||||||
|
vn -0.2971 -0.7173 -0.6303
|
||||||
|
vn -0.7173 -0.2971 -0.6303
|
||||||
|
vn -0.7173 0.2971 -0.6303
|
||||||
|
vn -0.2971 0.7173 -0.6303
|
||||||
|
vn 0.2971 0.7173 -0.6303
|
||||||
|
vn 0.7173 0.2971 -0.6303
|
||||||
|
vn 0.7173 -0.2971 -0.6303
|
||||||
|
vn 0.2971 -0.7173 -0.6303
|
||||||
|
vn -0.7173 -0.2971 0.6303
|
||||||
|
vn -0.2971 -0.7173 0.6303
|
||||||
|
vn 0.2971 -0.7173 0.6303
|
||||||
|
vn 0.7173 -0.2971 0.6303
|
||||||
|
vn 0.7173 0.2971 0.6303
|
||||||
|
vn 0.2971 0.7173 0.6303
|
||||||
|
vn -0.2971 0.7173 0.6303
|
||||||
|
vn -0.7173 0.2971 0.6303
|
||||||
|
g Cylinder.002_Cylinder.006_None.005_Cylinder.002_Cylinder.006_None.005_None
|
||||||
|
s off
|
||||||
|
f 1/1/1 2/2/1 3/3/1 4/4/1 5/5/1 6/6/1 7/7/1 8/8/1
|
||||||
|
f 9/9/2 10/10/2 11/11/2 12/12/2 13/13/2 14/14/2 15/15/2 16/16/2
|
||||||
|
f 17/17/1 18/18/1 19/19/1 20/20/1 21/21/1 22/22/1 23/23/1 24/24/1
|
||||||
|
f 25/25/2 26/26/2 27/27/2 28/28/2 29/29/2 30/30/2 31/31/2 32/32/2
|
||||||
|
f 33/33/3 34/34/3 35/35/3 36/36/3 37/37/3 38/38/3 39/39/3 40/40/3
|
||||||
|
f 41/41/4 42/42/4 43/43/4 44/44/4 45/45/4 46/46/4 47/47/4 48/48/4
|
||||||
|
f 49/49/3 50/50/3 51/51/3 52/52/3 53/53/3 54/54/3 55/55/3 56/56/3
|
||||||
|
f 57/57/4 58/58/4 59/59/4 60/60/4 61/61/4 62/62/4 63/63/4 64/64/4
|
||||||
|
f 65/65/5 66/66/5 67/67/5 68/68/5 69/69/5 70/70/5 71/71/5 72/72/5
|
||||||
|
f 73/73/6 74/74/6 75/75/6 76/76/6 77/77/6 78/78/6 79/79/6 80/80/6
|
||||||
|
f 81/81/5 82/82/5 83/83/5 84/84/5 85/85/5 86/86/5 87/87/5 88/88/5
|
||||||
|
f 89/89/6 90/90/6 91/91/6 92/92/6 93/93/6 94/94/6 95/95/6 96/96/6
|
||||||
|
s 1
|
||||||
|
f 9/97/7 2/98/8 1/99/9 10/100/10
|
||||||
|
f 10/100/10 1/99/9 8/101/11 11/102/12
|
||||||
|
f 11/102/12 8/101/11 7/103/13 12/104/14
|
||||||
|
f 12/105/14 7/106/13 6/107/15 13/108/16
|
||||||
|
f 13/108/16 6/107/15 5/109/17 14/110/18
|
||||||
|
f 14/110/18 5/109/17 4/111/19 15/112/20
|
||||||
|
f 15/112/20 4/111/19 3/113/21 16/114/22
|
||||||
|
f 16/114/22 3/113/21 2/98/8 9/97/7
|
||||||
|
f 26/115/10 17/116/9 24/117/11 27/118/12
|
||||||
|
f 25/119/7 18/120/8 17/116/9 26/115/10
|
||||||
|
f 27/118/12 24/117/11 23/121/13 28/122/14
|
||||||
|
f 28/123/14 23/124/13 22/125/15 29/126/16
|
||||||
|
f 29/126/16 22/125/15 21/127/17 30/128/18
|
||||||
|
f 30/128/18 21/127/17 20/129/19 31/130/20
|
||||||
|
f 31/130/20 20/129/19 19/131/21 32/132/22
|
||||||
|
f 32/132/22 19/131/21 18/120/8 25/119/7
|
||||||
|
f 97/133/23 98/134/24 99/135/25 100/136/26 101/137/27 102/138/28 103/139/29 104/140/30
|
||||||
|
f 105/141/31 106/142/32 107/143/33 108/144/34 109/145/35 110/146/36 111/147/37 112/148/38
|
||||||
|
f 109/149/35 108/150/34 113/151/39 114/152/40
|
||||||
|
f 109/149/35 114/152/40 115/153/41 116/154/42 110/155/36
|
||||||
|
f 111/156/37 110/155/36 116/154/42 117/157/43
|
||||||
|
f 112/158/38 111/156/37 117/157/43 118/159/44 119/160/45
|
||||||
|
f 105/161/31 112/162/38 119/163/45 120/164/46
|
||||||
|
f 105/161/31 120/164/46 121/165/47 122/166/48 106/167/32
|
||||||
|
f 106/167/32 122/166/48 123/168/49 107/169/33
|
||||||
|
f 107/169/33 123/168/49 124/170/50 113/151/39 108/150/34
|
||||||
|
f 99/171/25 125/172/51 126/173/52 127/174/53 100/175/26
|
||||||
|
f 100/175/26 127/174/53 128/176/54 101/177/27
|
||||||
|
f 102/178/28 101/177/27 128/176/54 129/179/55 130/180/56
|
||||||
|
f 102/178/28 130/180/56 131/181/57 103/182/29
|
||||||
|
f 103/182/29 131/181/57 132/183/58 133/184/59 104/185/30
|
||||||
|
f 97/186/23 104/185/30 133/184/59 134/187/60
|
||||||
|
f 98/188/24 97/186/23 134/187/60 135/189/61 136/190/62
|
||||||
|
f 98/188/24 136/190/62 125/191/51 99/192/25
|
||||||
|
f 41/193/63 34/194/64 33/195/65 42/196/66
|
||||||
|
f 42/196/66 33/195/65 40/197/67 43/198/68
|
||||||
|
f 43/198/68 40/197/67 39/199/69 44/200/70
|
||||||
|
f 44/201/70 39/202/69 38/203/71 45/204/72
|
||||||
|
f 45/204/72 38/203/71 37/205/73 46/206/74
|
||||||
|
f 46/206/74 37/205/73 36/207/75 47/208/76
|
||||||
|
f 47/208/76 36/207/75 35/209/77 48/210/78
|
||||||
|
f 48/210/78 35/209/77 34/194/64 41/193/63
|
||||||
|
f 58/211/66 49/212/65 56/213/67 59/214/68
|
||||||
|
f 57/215/63 50/216/64 49/212/65 58/211/66
|
||||||
|
f 59/214/68 56/213/67 55/217/69 60/218/70
|
||||||
|
f 60/219/70 55/220/69 54/221/71 61/222/72
|
||||||
|
f 61/222/72 54/221/71 53/223/73 62/224/74
|
||||||
|
f 62/224/74 53/223/73 52/225/75 63/226/76
|
||||||
|
f 63/226/76 52/225/75 51/227/77 64/228/78
|
||||||
|
f 64/228/78 51/227/77 50/216/64 57/215/63
|
||||||
|
f 137/229/79 138/230/80 139/231/81 140/232/82 141/233/83 142/234/84 143/235/85 144/236/86
|
||||||
|
f 145/237/87 146/238/88 147/239/89 148/240/90 149/241/91 150/242/92 151/243/93 152/244/94
|
||||||
|
f 149/245/91 148/246/90 120/247/46 119/248/45
|
||||||
|
f 149/245/91 119/248/45 118/249/44 153/250/95 150/251/92
|
||||||
|
f 151/252/93 150/251/92 153/250/95 154/253/96
|
||||||
|
f 152/254/94 151/252/93 154/253/96 126/255/52 125/256/51
|
||||||
|
f 145/257/87 152/258/94 125/259/51 136/260/62
|
||||||
|
f 145/257/87 136/260/62 135/261/61 155/262/97 146/263/88
|
||||||
|
f 146/263/88 155/262/97 156/264/98 147/265/89
|
||||||
|
f 147/265/89 156/264/98 121/266/47 120/247/46 148/246/90
|
||||||
|
f 139/267/81 130/268/56 129/269/55 157/270/99 140/271/82
|
||||||
|
f 140/271/82 157/270/99 158/272/100 141/273/83
|
||||||
|
f 142/274/84 141/273/83 158/272/100 115/275/41 114/276/40
|
||||||
|
f 142/274/84 114/276/40 113/277/39 143/278/85
|
||||||
|
f 143/278/85 113/277/39 124/279/50 159/280/101 144/281/86
|
||||||
|
f 137/282/79 144/281/86 159/280/101 160/283/102
|
||||||
|
f 138/284/80 137/282/79 160/283/102 132/285/58 131/286/57
|
||||||
|
f 138/284/80 131/286/57 130/287/56 139/288/81
|
||||||
|
f 73/289/103 66/290/104 65/291/105 74/292/106
|
||||||
|
f 74/292/106 65/291/105 72/293/107 75/294/108
|
||||||
|
f 75/294/108 72/293/107 71/295/109 76/296/110
|
||||||
|
f 76/297/110 71/298/109 70/299/111 77/300/112
|
||||||
|
f 77/300/112 70/299/111 69/301/113 78/302/114
|
||||||
|
f 78/302/114 69/301/113 68/303/115 79/304/116
|
||||||
|
f 79/304/116 68/303/115 67/305/117 80/306/118
|
||||||
|
f 80/306/118 67/305/117 66/290/104 73/289/103
|
||||||
|
f 90/307/106 81/308/105 88/309/107 91/310/108
|
||||||
|
f 89/311/103 82/312/104 81/308/105 90/307/106
|
||||||
|
f 91/310/108 88/309/107 87/313/109 92/314/110
|
||||||
|
f 92/315/110 87/316/109 86/317/111 93/318/112
|
||||||
|
f 93/318/112 86/317/111 85/319/113 94/320/114
|
||||||
|
f 94/320/114 85/319/113 84/321/115 95/322/116
|
||||||
|
f 95/322/116 84/321/115 83/323/117 96/324/118
|
||||||
|
f 96/324/118 83/323/117 82/312/104 89/311/103
|
||||||
|
f 161/325/119 162/326/120 163/327/121 164/328/122 165/329/123 166/330/124 167/331/125 168/332/126
|
||||||
|
f 169/333/127 170/334/128 171/335/129 172/336/130 173/337/131 174/338/132 175/339/133 176/340/134
|
||||||
|
f 173/341/131 172/342/130 117/343/43 116/344/42
|
||||||
|
f 173/341/131 116/344/42 115/153/41 158/345/100 174/346/132
|
||||||
|
f 175/347/133 174/346/132 158/345/100 157/348/99
|
||||||
|
f 176/349/134 175/347/133 157/348/99 129/350/55 128/351/54
|
||||||
|
f 169/352/127 176/353/134 128/354/54 127/355/53
|
||||||
|
f 169/352/127 127/355/53 126/356/52 154/357/96 170/358/128
|
||||||
|
f 170/358/128 154/357/96 153/359/95 171/360/129
|
||||||
|
f 171/360/129 153/359/95 118/361/44 117/343/43 172/342/130
|
||||||
|
f 163/362/121 133/363/59 132/364/58 160/365/102 164/366/122
|
||||||
|
f 164/366/122 160/365/102 159/367/101 165/368/123
|
||||||
|
f 166/369/124 165/368/123 159/367/101 124/370/50 123/371/49
|
||||||
|
f 166/369/124 123/371/49 122/372/48 167/373/125
|
||||||
|
f 167/373/125 122/372/48 121/374/47 156/375/98 168/376/126
|
||||||
|
f 161/377/119 168/376/126 156/375/98 155/378/97
|
||||||
|
f 162/379/120 161/377/119 155/378/97 135/189/61 134/380/60
|
||||||
|
f 162/379/120 134/380/60 133/381/59 163/382/121
|
192
models/pipeworks_pipe_2_lowpoly.obj
Normal file
@ -0,0 +1,192 @@
|
|||||||
|
# Blender v2.78 (sub 0) OBJ File: 'pipe-master-lowpoly.blend'
|
||||||
|
# www.blender.org
|
||||||
|
o Cylinder.002_Cylinder.006_None
|
||||||
|
v 0.500000 -0.156250 -0.064721
|
||||||
|
v 0.500000 -0.064721 -0.156250
|
||||||
|
v 0.500000 0.064721 -0.156250
|
||||||
|
v 0.500000 0.156250 -0.064721
|
||||||
|
v 0.500000 0.156250 0.064721
|
||||||
|
v 0.500000 0.064721 0.156250
|
||||||
|
v 0.500000 -0.064721 0.156250
|
||||||
|
v 0.500000 -0.156250 0.064721
|
||||||
|
v 0.468750 -0.064721 -0.156250
|
||||||
|
v 0.468750 -0.156250 -0.064721
|
||||||
|
v 0.468750 -0.156250 0.064721
|
||||||
|
v 0.468750 -0.064721 0.156250
|
||||||
|
v 0.468750 0.064721 0.156250
|
||||||
|
v 0.468750 0.156250 0.064721
|
||||||
|
v 0.468750 0.156250 -0.064721
|
||||||
|
v 0.468750 0.064721 -0.156250
|
||||||
|
v 0.468750 -0.125000 -0.051777
|
||||||
|
v 0.468750 -0.051777 -0.125000
|
||||||
|
v 0.468750 0.051777 -0.125000
|
||||||
|
v 0.468750 0.125000 -0.051777
|
||||||
|
v 0.468750 0.125000 0.051777
|
||||||
|
v 0.468750 0.051777 0.125000
|
||||||
|
v 0.468750 -0.051777 0.125000
|
||||||
|
v 0.468750 -0.125000 0.051777
|
||||||
|
v 0.000000 0.051777 -0.125000
|
||||||
|
v 0.000000 0.125000 -0.051777
|
||||||
|
v 0.000000 0.051777 0.125000
|
||||||
|
v 0.000000 0.125000 0.051777
|
||||||
|
v 0.000000 -0.051777 0.125000
|
||||||
|
v 0.000000 -0.125000 0.051777
|
||||||
|
v 0.000000 -0.125000 -0.051777
|
||||||
|
v 0.000000 -0.051777 -0.125000
|
||||||
|
v -0.062500 -0.062500 0.025888
|
||||||
|
v -0.062500 -0.062500 -0.025888
|
||||||
|
v -0.062500 -0.025888 -0.062500
|
||||||
|
v -0.062500 0.025888 -0.062500
|
||||||
|
v -0.062500 0.062500 -0.025888
|
||||||
|
v -0.062500 0.062500 0.025888
|
||||||
|
v -0.062500 0.025888 0.062500
|
||||||
|
v -0.062500 -0.025888 0.062500
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.3750 0.5938
|
||||||
|
vt 0.3750 0.5625
|
||||||
|
vt 0.4375 0.5625
|
||||||
|
vt 0.4375 0.5938
|
||||||
|
vt 0.3125 0.5938
|
||||||
|
vt 0.3125 0.5625
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.0000 0.5938
|
||||||
|
vt 0.0000 0.5625
|
||||||
|
vt 0.0625 0.5625
|
||||||
|
vt 0.0625 0.5938
|
||||||
|
vt 0.1250 0.5625
|
||||||
|
vt 0.1250 0.5938
|
||||||
|
vt 0.1875 0.5625
|
||||||
|
vt 0.1875 0.5938
|
||||||
|
vt 0.2500 0.5625
|
||||||
|
vt 0.2500 0.5938
|
||||||
|
vt 1.0000 0.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 0.3750 0.2656
|
||||||
|
vt 0.5000 0.2656
|
||||||
|
vt 0.5000 0.5156
|
||||||
|
vt 0.3750 0.5156
|
||||||
|
vt 0.7500 0.2656
|
||||||
|
vt 0.7500 0.5156
|
||||||
|
vt 0.6250 0.5156
|
||||||
|
vt 0.6250 0.2656
|
||||||
|
vt 0.8750 0.2656
|
||||||
|
vt 1.0000 0.2656
|
||||||
|
vt 1.0000 0.5156
|
||||||
|
vt 0.8750 0.5156
|
||||||
|
vt 0.1250 0.2656
|
||||||
|
vt 0.2500 0.2656
|
||||||
|
vt 0.2500 0.5156
|
||||||
|
vt 0.1250 0.5156
|
||||||
|
vt 0.0000 0.2656
|
||||||
|
vt 0.0000 0.5156
|
||||||
|
vt 0.4619 0.1625
|
||||||
|
vt 0.5652 0.1625
|
||||||
|
vt 0.5393 0.2248
|
||||||
|
vt 0.4877 0.2248
|
||||||
|
vt 0.3889 0.2355
|
||||||
|
vt 0.4512 0.2613
|
||||||
|
vt 0.4619 0.4118
|
||||||
|
vt 0.3889 0.3388
|
||||||
|
vt 0.4512 0.3130
|
||||||
|
vt 0.4877 0.3495
|
||||||
|
vt 0.5652 0.4118
|
||||||
|
vt 0.5393 0.3495
|
||||||
|
vt 0.6382 0.2355
|
||||||
|
vt 0.6382 0.3388
|
||||||
|
vt 0.5759 0.3130
|
||||||
|
vt 0.5759 0.2613
|
||||||
|
vn 1.0000 0.0000 0.0000
|
||||||
|
vn -1.0000 0.0000 0.0000
|
||||||
|
vn -0.6302 -0.7173 -0.2971
|
||||||
|
vn 0.6302 -0.7173 -0.2971
|
||||||
|
vn 0.6302 -0.7173 0.2971
|
||||||
|
vn -0.6302 -0.7173 0.2971
|
||||||
|
vn -0.6302 -0.2971 -0.7173
|
||||||
|
vn 0.6302 -0.2971 -0.7173
|
||||||
|
vn 0.6302 -0.2971 0.7173
|
||||||
|
vn -0.6302 -0.2971 0.7173
|
||||||
|
vn 0.6302 0.2971 0.7173
|
||||||
|
vn -0.6302 0.2971 0.7173
|
||||||
|
vn 0.6302 0.7173 0.2971
|
||||||
|
vn -0.6302 0.7173 0.2971
|
||||||
|
vn 0.6302 0.7173 -0.2971
|
||||||
|
vn -0.6302 0.7173 -0.2971
|
||||||
|
vn 0.6302 0.2971 -0.7173
|
||||||
|
vn -0.6302 0.2971 -0.7173
|
||||||
|
vn 0.6303 -0.7173 -0.2971
|
||||||
|
vn 0.6303 -0.2971 -0.7173
|
||||||
|
vn 0.6303 0.2971 -0.7173
|
||||||
|
vn 0.6303 0.7173 -0.2971
|
||||||
|
vn 0.6303 0.7173 0.2971
|
||||||
|
vn 0.6303 0.2971 0.7173
|
||||||
|
vn 0.6303 -0.2971 0.7173
|
||||||
|
vn 0.6303 -0.7173 0.2971
|
||||||
|
vn -0.3689 0.3557 -0.8587
|
||||||
|
vn -0.3689 0.8587 -0.3557
|
||||||
|
vn -0.3689 0.3557 0.8587
|
||||||
|
vn -0.3689 0.8587 0.3557
|
||||||
|
vn -0.3689 -0.3557 0.8587
|
||||||
|
vn -0.3689 -0.8587 0.3557
|
||||||
|
vn -0.3689 -0.8587 -0.3557
|
||||||
|
vn -0.3689 -0.3557 -0.8587
|
||||||
|
vn -0.8991 -0.4044 0.1675
|
||||||
|
vn -0.8991 -0.4044 -0.1675
|
||||||
|
vn -0.8991 -0.1675 -0.4044
|
||||||
|
vn -0.8991 0.1675 -0.4044
|
||||||
|
vn -0.8991 0.4044 -0.1675
|
||||||
|
vn -0.8991 0.4044 0.1675
|
||||||
|
vn -0.8991 0.1675 0.4044
|
||||||
|
vn -0.8991 -0.1675 0.4044
|
||||||
|
g Cylinder.002_Cylinder.006_None_Cylinder.002_Cylinder.006_None_None
|
||||||
|
s off
|
||||||
|
f 1/1/1 2/2/1 3/3/1 4/4/1 5/5/1 6/6/1 7/7/1 8/8/1
|
||||||
|
f 9/9/2 10/10/2 11/11/2 12/12/2 13/13/2 14/14/2 15/15/2 16/16/2
|
||||||
|
s 1
|
||||||
|
f 10/17/3 1/18/4 8/19/5 11/20/6
|
||||||
|
f 9/21/7 2/22/8 1/18/4 10/17/3
|
||||||
|
f 11/20/6 8/19/5 7/23/9 12/24/10
|
||||||
|
f 12/25/10 7/26/9 6/27/11 13/28/12
|
||||||
|
f 13/28/12 6/27/11 5/29/13 14/30/14
|
||||||
|
f 14/30/14 5/29/13 4/31/15 15/32/16
|
||||||
|
f 15/32/16 4/31/15 3/33/17 16/34/18
|
||||||
|
f 16/34/18 3/33/17 2/22/8 9/21/7
|
||||||
|
f 17/35/19 18/36/20 19/37/21 20/38/22 21/39/23 22/40/24 23/41/25 24/42/26
|
||||||
|
f 25/43/27 26/44/28 20/45/22 19/46/21
|
||||||
|
f 27/47/29 22/48/24 21/49/23 28/50/30
|
||||||
|
f 29/51/31 30/52/32 24/53/26 23/54/25
|
||||||
|
f 31/55/33 32/56/34 18/57/20 17/58/19
|
||||||
|
f 32/56/34 25/43/27 19/46/21 18/57/20
|
||||||
|
f 27/47/29 29/51/31 23/54/25 22/48/24
|
||||||
|
f 30/59/32 31/55/33 17/58/19 24/60/26
|
||||||
|
f 20/45/22 26/44/28 28/50/30 21/49/23
|
||||||
|
f 31/61/33 30/62/32 33/63/35 34/64/36
|
||||||
|
f 32/65/34 31/61/33 34/64/36 35/66/37
|
||||||
|
f 26/67/28 25/68/27 36/69/38 37/70/39
|
||||||
|
f 28/71/30 26/67/28 37/70/39 38/72/40
|
||||||
|
f 25/68/27 32/65/34 35/66/37 36/69/38
|
||||||
|
f 29/73/31 27/74/29 39/75/41 40/76/42
|
||||||
|
f 27/74/29 28/71/30 38/72/40 39/75/41
|
||||||
|
f 30/62/32 29/73/31 40/76/42 33/63/35
|
||||||
|
f 36/69/38 35/66/37 34/64/36 33/63/35 40/76/42 39/75/41 38/72/40 37/70/39
|
194
models/pipeworks_pipe_3_lowpoly.obj
Normal file
@ -0,0 +1,194 @@
|
|||||||
|
# Blender v2.78 (sub 0) OBJ File: 'pipe-master-lowpoly.blend'
|
||||||
|
# www.blender.org
|
||||||
|
o Cylinder.000
|
||||||
|
v 0.500000 -0.064721 0.156250
|
||||||
|
v 0.468750 -0.064721 0.156250
|
||||||
|
v 0.500000 -0.156250 0.064721
|
||||||
|
v 0.468750 -0.156250 0.064721
|
||||||
|
v 0.500000 -0.156250 -0.064721
|
||||||
|
v 0.468750 -0.156250 -0.064721
|
||||||
|
v 0.500000 -0.064721 -0.156250
|
||||||
|
v 0.468750 -0.064721 -0.156250
|
||||||
|
v 0.500000 0.064721 -0.156250
|
||||||
|
v 0.468750 0.064721 -0.156250
|
||||||
|
v 0.500000 0.156250 -0.064721
|
||||||
|
v 0.468750 0.156250 -0.064721
|
||||||
|
v 0.500000 0.156250 0.064721
|
||||||
|
v 0.468750 0.156250 0.064721
|
||||||
|
v 0.500000 0.064721 0.156250
|
||||||
|
v 0.468750 0.064721 0.156250
|
||||||
|
v 0.468750 -0.051777 0.125000
|
||||||
|
v -0.468750 -0.051777 0.125000
|
||||||
|
v 0.468750 -0.125000 0.051777
|
||||||
|
v -0.468750 -0.125000 0.051777
|
||||||
|
v 0.468750 -0.125000 -0.051777
|
||||||
|
v -0.468750 -0.125000 -0.051777
|
||||||
|
v 0.468750 -0.051777 -0.125000
|
||||||
|
v -0.468750 -0.051777 -0.125000
|
||||||
|
v 0.468750 0.051777 -0.125000
|
||||||
|
v -0.468750 0.051777 -0.125000
|
||||||
|
v 0.468750 0.125000 -0.051777
|
||||||
|
v -0.468750 0.125000 -0.051777
|
||||||
|
v 0.468750 0.125000 0.051777
|
||||||
|
v -0.468750 0.125000 0.051777
|
||||||
|
v 0.468750 0.051777 0.125000
|
||||||
|
v -0.468750 0.051777 0.125000
|
||||||
|
v -0.468750 -0.064721 0.156250
|
||||||
|
v -0.500000 -0.064721 0.156250
|
||||||
|
v -0.468750 -0.156250 0.064721
|
||||||
|
v -0.500000 -0.156250 0.064721
|
||||||
|
v -0.468750 -0.156250 -0.064721
|
||||||
|
v -0.500000 -0.156250 -0.064721
|
||||||
|
v -0.468750 -0.064721 -0.156250
|
||||||
|
v -0.500000 -0.064721 -0.156250
|
||||||
|
v -0.468750 0.064721 -0.156250
|
||||||
|
v -0.500000 0.064721 -0.156250
|
||||||
|
v -0.468750 0.156250 -0.064721
|
||||||
|
v -0.500000 0.156250 -0.064721
|
||||||
|
v -0.468750 0.156250 0.064721
|
||||||
|
v -0.500000 0.156250 0.064721
|
||||||
|
v -0.468750 0.064721 0.156250
|
||||||
|
v -0.500000 0.064721 0.156250
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.8125 0.5938
|
||||||
|
vt 0.8125 0.5625
|
||||||
|
vt 0.8750 0.5625
|
||||||
|
vt 0.8750 0.5938
|
||||||
|
vt 0.9375 0.5625
|
||||||
|
vt 0.9375 0.5938
|
||||||
|
vt 1.0000 0.5625
|
||||||
|
vt 1.0000 0.5938
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5625 0.5625
|
||||||
|
vt 0.5625 0.5938
|
||||||
|
vt 0.6250 0.5625
|
||||||
|
vt 0.6250 0.5938
|
||||||
|
vt 0.6875 0.5625
|
||||||
|
vt 0.6875 0.5938
|
||||||
|
vt 0.7500 0.5625
|
||||||
|
vt 0.7500 0.5938
|
||||||
|
vt 0.3750 0.5938
|
||||||
|
vt 0.3750 0.5625
|
||||||
|
vt 0.4375 0.5625
|
||||||
|
vt 0.4375 0.5938
|
||||||
|
vt 0.3125 0.5938
|
||||||
|
vt 0.3125 0.5625
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.0000 0.5938
|
||||||
|
vt 0.0000 0.5625
|
||||||
|
vt 0.0625 0.5625
|
||||||
|
vt 0.0625 0.5938
|
||||||
|
vt 0.1250 0.5625
|
||||||
|
vt 0.1250 0.5938
|
||||||
|
vt 0.1875 0.5625
|
||||||
|
vt 0.1875 0.5938
|
||||||
|
vt 0.2500 0.5625
|
||||||
|
vt 0.2500 0.5938
|
||||||
|
vt 1.0625 0.5156
|
||||||
|
vt 0.9375 0.5156
|
||||||
|
vt 0.9375 0.0156
|
||||||
|
vt 1.0625 0.0156
|
||||||
|
vt 0.6875 0.5156
|
||||||
|
vt 0.5625 0.5156
|
||||||
|
vt 0.5625 0.0156
|
||||||
|
vt 0.6875 0.0156
|
||||||
|
vt 0.8125 0.5156
|
||||||
|
vt 0.8125 0.0156
|
||||||
|
vt 0.0625 0.5156
|
||||||
|
vt 0.0625 0.0156
|
||||||
|
vt 0.1875 0.0156
|
||||||
|
vt 0.1875 0.5156
|
||||||
|
vt 0.3125 0.0156
|
||||||
|
vt 0.4375 0.0156
|
||||||
|
vt 0.4375 0.5156
|
||||||
|
vt 0.3125 0.5156
|
||||||
|
vn -1.0000 0.0000 0.0000
|
||||||
|
vn 1.0000 0.0000 -0.0000
|
||||||
|
vn 0.6302 -0.2971 0.7173
|
||||||
|
vn -0.6302 -0.2971 0.7173
|
||||||
|
vn -0.6302 -0.7173 0.2971
|
||||||
|
vn 0.6302 -0.7173 0.2971
|
||||||
|
vn -0.6302 -0.7173 -0.2971
|
||||||
|
vn 0.6302 -0.7173 -0.2971
|
||||||
|
vn -0.6302 -0.2971 -0.7173
|
||||||
|
vn 0.6302 -0.2971 -0.7173
|
||||||
|
vn -0.6302 0.2971 -0.7173
|
||||||
|
vn 0.6302 0.2971 -0.7173
|
||||||
|
vn -0.6302 0.7173 -0.2971
|
||||||
|
vn 0.6302 0.7173 -0.2971
|
||||||
|
vn -0.6302 0.7173 0.2971
|
||||||
|
vn 0.6302 0.7173 0.2971
|
||||||
|
vn -0.6302 0.2971 0.7173
|
||||||
|
vn 0.6302 0.2971 0.7173
|
||||||
|
vn 0.0000 -0.3827 -0.9239
|
||||||
|
vn 0.0000 0.3827 -0.9239
|
||||||
|
vn 0.0000 0.9239 0.3827
|
||||||
|
vn 0.0000 0.3827 0.9239
|
||||||
|
vn 0.0000 0.9239 -0.3827
|
||||||
|
vn 0.0000 -0.9239 -0.3827
|
||||||
|
vn 0.0000 -0.9239 0.3827
|
||||||
|
vn 0.0000 -0.3827 0.9239
|
||||||
|
g Cylinder.000_Cylinder.000_None
|
||||||
|
s off
|
||||||
|
f 4/1/1 2/2/1 16/3/1 14/4/1 12/5/1 10/6/1 8/7/1 6/8/1
|
||||||
|
f 1/9/2 3/10/2 5/11/2 7/12/2 9/13/2 11/14/2 13/15/2 15/16/2
|
||||||
|
f 36/17/1 34/18/1 48/19/1 46/20/1 44/21/1 42/22/1 40/23/1 38/24/1
|
||||||
|
f 33/25/2 35/26/2 37/27/2 39/28/2 41/29/2 43/30/2 45/31/2 47/32/2
|
||||||
|
s 1
|
||||||
|
f 1/33/3 2/34/4 4/35/5 3/36/6
|
||||||
|
f 3/36/6 4/35/5 6/37/7 5/38/8
|
||||||
|
f 5/38/8 6/37/7 8/39/9 7/40/10
|
||||||
|
f 7/41/10 8/42/9 10/43/11 9/44/12
|
||||||
|
f 9/44/12 10/43/11 12/45/13 11/46/14
|
||||||
|
f 11/46/14 12/45/13 14/47/15 13/48/16
|
||||||
|
f 13/48/16 14/47/15 16/49/17 15/50/18
|
||||||
|
f 15/50/18 16/49/17 2/34/4 1/33/3
|
||||||
|
f 35/51/6 36/52/5 38/53/7 37/54/8
|
||||||
|
f 33/55/3 34/56/4 36/52/5 35/51/6
|
||||||
|
f 37/54/8 38/53/7 40/57/9 39/58/10
|
||||||
|
f 39/59/10 40/60/9 42/61/11 41/62/12
|
||||||
|
f 41/62/12 42/61/11 44/63/13 43/64/14
|
||||||
|
f 43/64/14 44/63/13 46/65/15 45/66/16
|
||||||
|
f 45/66/16 46/65/15 48/67/17 47/68/18
|
||||||
|
f 47/68/18 48/67/17 34/56/4 33/55/3
|
||||||
|
f 24/69/19 26/70/20 25/71/20 23/72/19
|
||||||
|
f 30/73/21 32/74/22 31/75/22 29/76/21
|
||||||
|
f 26/70/20 28/77/23 27/78/23 25/71/20
|
||||||
|
f 24/79/19 23/80/19 21/81/24 22/82/24
|
||||||
|
f 19/83/25 17/84/26 18/85/26 20/86/25
|
||||||
|
f 21/81/24 19/83/25 20/86/25 22/82/24
|
||||||
|
f 30/73/21 29/76/21 27/78/23 28/77/23
|
||||||
|
f 17/84/26 31/75/22 32/74/22 18/85/26
|
358
models/pipeworks_pipe_4_lowpoly.obj
Normal file
@ -0,0 +1,358 @@
|
|||||||
|
# Blender v2.78 (sub 0) OBJ File: 'pipe-master-lowpoly.blend'
|
||||||
|
# www.blender.org
|
||||||
|
o Cylinder.000_Cylinder.000_None.001
|
||||||
|
v -0.125000 0.000000 0.051777
|
||||||
|
v -0.051777 0.000000 0.125000
|
||||||
|
v -0.051777 0.051777 0.125000
|
||||||
|
v -0.088388 0.088388 0.088388
|
||||||
|
v -0.125000 0.051777 0.051777
|
||||||
|
v -0.125000 -0.000000 -0.051777
|
||||||
|
v -0.125000 0.051777 -0.051777
|
||||||
|
v -0.088388 0.088389 -0.088388
|
||||||
|
v -0.051777 0.051777 -0.125000
|
||||||
|
v -0.051777 -0.000000 -0.125000
|
||||||
|
v 0.000000 0.051777 -0.125000
|
||||||
|
v 0.000000 -0.000000 -0.125000
|
||||||
|
v 0.000000 0.000000 0.125000
|
||||||
|
v 0.000000 0.051777 0.125000
|
||||||
|
v -0.125000 0.000000 0.000000
|
||||||
|
v -0.125000 0.051777 -0.000000
|
||||||
|
v -0.051777 0.125000 0.051777
|
||||||
|
v -0.051777 0.125000 -0.051777
|
||||||
|
v 0.500000 -0.156250 -0.064721
|
||||||
|
v 0.500000 -0.064721 -0.156250
|
||||||
|
v 0.500000 0.064721 -0.156250
|
||||||
|
v 0.500000 0.156250 -0.064721
|
||||||
|
v 0.500000 0.156250 0.064721
|
||||||
|
v 0.500000 0.064721 0.156250
|
||||||
|
v 0.500000 -0.064721 0.156250
|
||||||
|
v 0.500000 -0.156250 0.064721
|
||||||
|
v 0.468750 -0.064721 -0.156250
|
||||||
|
v 0.468750 -0.156250 -0.064721
|
||||||
|
v 0.468750 -0.156250 0.064721
|
||||||
|
v 0.468750 -0.064721 0.156250
|
||||||
|
v 0.468750 0.064721 0.156250
|
||||||
|
v 0.468750 0.156250 0.064721
|
||||||
|
v 0.468750 0.156250 -0.064721
|
||||||
|
v 0.468750 0.064721 -0.156250
|
||||||
|
v 0.156250 -0.468750 -0.064721
|
||||||
|
v 0.064721 -0.468750 -0.156250
|
||||||
|
v -0.064721 -0.468750 -0.156250
|
||||||
|
v -0.156250 -0.468750 -0.064721
|
||||||
|
v -0.156250 -0.468750 0.064721
|
||||||
|
v -0.064721 -0.468750 0.156250
|
||||||
|
v 0.064721 -0.468750 0.156250
|
||||||
|
v 0.156250 -0.468750 0.064721
|
||||||
|
v 0.064721 -0.500000 -0.156250
|
||||||
|
v 0.156250 -0.500000 -0.064721
|
||||||
|
v 0.156250 -0.500000 0.064721
|
||||||
|
v 0.064721 -0.500000 0.156250
|
||||||
|
v -0.064721 -0.500000 0.156250
|
||||||
|
v -0.156250 -0.500000 0.064721
|
||||||
|
v -0.156250 -0.500000 -0.064721
|
||||||
|
v -0.064721 -0.500000 -0.156250
|
||||||
|
v 0.468750 -0.125000 -0.051777
|
||||||
|
v 0.468750 -0.051777 -0.125000
|
||||||
|
v 0.468750 0.051777 -0.125000
|
||||||
|
v 0.468750 0.125000 -0.051777
|
||||||
|
v 0.468750 0.125000 0.051777
|
||||||
|
v 0.468750 0.051777 0.125000
|
||||||
|
v 0.468750 -0.051777 0.125000
|
||||||
|
v 0.468750 -0.125000 0.051777
|
||||||
|
v 0.125000 -0.468750 0.051777
|
||||||
|
v 0.125000 -0.125000 0.051777
|
||||||
|
v 0.051777 -0.051777 0.125000
|
||||||
|
v 0.051777 -0.468750 0.125000
|
||||||
|
v 0.125000 -0.468750 -0.051777
|
||||||
|
v 0.051777 -0.468750 -0.125000
|
||||||
|
v 0.051777 -0.051777 -0.125000
|
||||||
|
v 0.125000 -0.125000 -0.051777
|
||||||
|
v 0.000000 -0.051777 0.125000
|
||||||
|
v 0.000000 -0.051777 -0.125000
|
||||||
|
v -0.051777 -0.468750 0.125000
|
||||||
|
v -0.125000 -0.468750 0.051777
|
||||||
|
v -0.125000 -0.468750 -0.051777
|
||||||
|
v -0.051777 -0.468750 -0.125000
|
||||||
|
v -0.051777 -0.051777 -0.125000
|
||||||
|
v -0.051777 -0.051777 0.125000
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 1.0000 0.2656
|
||||||
|
vt 0.8750 0.2656
|
||||||
|
vt 0.8750 0.2344
|
||||||
|
vt 0.9375 0.2188
|
||||||
|
vt 1.0000 0.2344
|
||||||
|
vt 0.1250 0.2656
|
||||||
|
vt 0.1250 0.2344
|
||||||
|
vt 0.1875 0.2188
|
||||||
|
vt 0.2500 0.2344
|
||||||
|
vt 0.2500 0.2656
|
||||||
|
vt 0.3125 0.2344
|
||||||
|
vt 0.3125 0.2656
|
||||||
|
vt 0.7500 0.2344
|
||||||
|
vt 0.8125 0.2344
|
||||||
|
vt 0.8125 0.2656
|
||||||
|
vt 0.7500 0.2656
|
||||||
|
vt -0.0000 0.2344
|
||||||
|
vt 0.0625 0.2344
|
||||||
|
vt 0.0625 0.2656
|
||||||
|
vt -0.0000 0.2656
|
||||||
|
vt -0.0000 0.2969
|
||||||
|
vt 0.0625 0.2969
|
||||||
|
vt 0.9375 0.3125
|
||||||
|
vt 0.8750 0.2969
|
||||||
|
vt 0.8750 0.2344
|
||||||
|
vt 0.9375 0.2188
|
||||||
|
vt 1.0000 0.2344
|
||||||
|
vt 1.0000 0.2656
|
||||||
|
vt 1.0000 0.2969
|
||||||
|
vt 0.3750 0.5938
|
||||||
|
vt 0.3750 0.5625
|
||||||
|
vt 0.4375 0.5625
|
||||||
|
vt 0.4375 0.5938
|
||||||
|
vt 0.3125 0.5938
|
||||||
|
vt 0.3125 0.5625
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.0000 0.5938
|
||||||
|
vt 0.0000 0.5625
|
||||||
|
vt 0.0625 0.5625
|
||||||
|
vt 0.0625 0.5938
|
||||||
|
vt 0.1250 0.5625
|
||||||
|
vt 0.1250 0.5938
|
||||||
|
vt 0.1875 0.5625
|
||||||
|
vt 0.1875 0.5938
|
||||||
|
vt 0.2500 0.5625
|
||||||
|
vt 0.2500 0.5938
|
||||||
|
vt 1.0000 0.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 0.0156
|
||||||
|
vt 1.0000 0.2031
|
||||||
|
vt 0.8750 0.2344
|
||||||
|
vt 0.8750 0.0156
|
||||||
|
vt 0.1250 0.0156
|
||||||
|
vt 0.2500 0.0156
|
||||||
|
vt 0.2500 0.2344
|
||||||
|
vt 0.1250 0.2031
|
||||||
|
vt 0.8750 0.5156
|
||||||
|
vt 0.7500 0.5156
|
||||||
|
vt 0.8750 0.2656
|
||||||
|
vt 0.8750 0.2969
|
||||||
|
vt 1.0000 0.5156
|
||||||
|
vt 1.0000 0.3281
|
||||||
|
vt 0.2500 0.2969
|
||||||
|
vt 0.2500 0.2656
|
||||||
|
vt 0.3750 0.2656
|
||||||
|
vt 0.3750 0.5156
|
||||||
|
vt 0.2500 0.5156
|
||||||
|
vt 0.6250 0.5156
|
||||||
|
vt 0.6250 0.2344
|
||||||
|
vt 0.6875 0.2188
|
||||||
|
vt 0.1250 0.5156
|
||||||
|
vt -0.0000 0.5156
|
||||||
|
vt -0.0000 0.3281
|
||||||
|
vt 0.1250 0.3281
|
||||||
|
vt 0.5000 0.5156
|
||||||
|
vt 0.5000 0.2344
|
||||||
|
vt 0.8125 0.5938
|
||||||
|
vt 0.8125 0.5625
|
||||||
|
vt 0.8750 0.5625
|
||||||
|
vt 0.8750 0.5938
|
||||||
|
vt 0.9375 0.5625
|
||||||
|
vt 0.9375 0.5938
|
||||||
|
vt 1.0000 0.5625
|
||||||
|
vt 1.0000 0.5938
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5625 0.5625
|
||||||
|
vt 0.5625 0.5938
|
||||||
|
vt 0.6250 0.5625
|
||||||
|
vt 0.6250 0.5938
|
||||||
|
vt 0.6875 0.5625
|
||||||
|
vt 0.6875 0.5938
|
||||||
|
vt 0.7500 0.5625
|
||||||
|
vt 0.7500 0.5938
|
||||||
|
vt 0.0000 1.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.5000 0.2656
|
||||||
|
vt 0.3750 0.2656
|
||||||
|
vt 0.3750 0.2344
|
||||||
|
vt 0.3750 0.0156
|
||||||
|
vt 0.5000 0.0156
|
||||||
|
vt 0.7500 0.2344
|
||||||
|
vt 0.7500 0.2656
|
||||||
|
vt 0.6250 0.2656
|
||||||
|
vt 0.6250 0.0156
|
||||||
|
vt 0.7500 0.0156
|
||||||
|
vt 0.5625 0.2656
|
||||||
|
vt 0.8125 0.2344
|
||||||
|
vt 0.3125 0.2344
|
||||||
|
vt -0.0000 0.2031
|
||||||
|
vt -0.0000 0.0156
|
||||||
|
vt 0.3750 0.2344
|
||||||
|
vt 0.4375 0.2188
|
||||||
|
vn 1.0000 0.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 -0.9239 0.0000 0.3827
|
||||||
|
vn -0.3827 0.0000 0.9239
|
||||||
|
vn -0.5441 0.5441 0.6386
|
||||||
|
vn -0.8881 0.3251 0.3251
|
||||||
|
vn -0.9054 0.3002 0.3002
|
||||||
|
vn -0.9239 0.0000 -0.3827
|
||||||
|
vn -0.9054 0.3002 -0.3002
|
||||||
|
vn -0.3251 0.3251 -0.8881
|
||||||
|
vn -0.3119 -0.1343 -0.9406
|
||||||
|
vn -0.3827 0.0000 -0.9239
|
||||||
|
vn -0.0783 0.5712 -0.8171
|
||||||
|
vn 0.0000 0.0000 -1.0000
|
||||||
|
vn 0.0000 0.0000 1.0000
|
||||||
|
vn -0.2288 0.3725 0.8994
|
||||||
|
vn -0.9239 0.3827 0.0000
|
||||||
|
vn -0.3119 0.9406 -0.1343
|
||||||
|
vn -0.5441 0.6386 -0.5441
|
||||||
|
vn -0.6302 -0.7173 -0.2971
|
||||||
|
vn 0.6302 -0.7173 -0.2971
|
||||||
|
vn 0.6302 -0.7173 0.2971
|
||||||
|
vn -0.6302 -0.7173 0.2971
|
||||||
|
vn -0.6302 -0.2971 -0.7173
|
||||||
|
vn 0.6302 -0.2971 -0.7173
|
||||||
|
vn 0.6302 -0.2971 0.7173
|
||||||
|
vn -0.6302 -0.2971 0.7173
|
||||||
|
vn 0.6302 0.2971 0.7173
|
||||||
|
vn -0.6302 0.2971 0.7173
|
||||||
|
vn 0.6302 0.7173 0.2971
|
||||||
|
vn -0.6302 0.7173 0.2971
|
||||||
|
vn 0.6302 0.7173 -0.2971
|
||||||
|
vn -0.6302 0.7173 -0.2971
|
||||||
|
vn 0.6302 0.2971 -0.7173
|
||||||
|
vn -0.6302 0.2971 -0.7173
|
||||||
|
vn 0.6303 -0.7173 -0.2971
|
||||||
|
vn 0.6303 -0.2971 -0.7173
|
||||||
|
vn 0.6303 0.2971 -0.7173
|
||||||
|
vn 0.6303 0.7173 -0.2971
|
||||||
|
vn 0.6303 0.7173 0.2971
|
||||||
|
vn 0.6303 0.2971 0.7173
|
||||||
|
vn 0.6303 -0.2971 0.7173
|
||||||
|
vn 0.6303 -0.7173 0.2971
|
||||||
|
vn 0.7173 -0.6303 0.2971
|
||||||
|
vn 0.5789 -0.5789 0.5743
|
||||||
|
vn 0.1101 -0.1101 0.9878
|
||||||
|
vn 0.2971 -0.6303 0.7173
|
||||||
|
vn 0.7173 -0.6303 -0.2971
|
||||||
|
vn 0.2971 -0.6303 -0.7173
|
||||||
|
vn 0.1101 -0.1101 -0.9878
|
||||||
|
vn 0.5789 -0.5789 -0.5743
|
||||||
|
vn 0.2971 -0.6302 -0.7173
|
||||||
|
vn 0.2971 0.6302 -0.7173
|
||||||
|
vn 0.7173 0.6302 -0.2971
|
||||||
|
vn 0.7173 -0.6302 -0.2971
|
||||||
|
vn 0.7173 0.6302 0.2971
|
||||||
|
vn 0.7173 -0.6302 0.2971
|
||||||
|
vn 0.2971 0.6302 0.7173
|
||||||
|
vn 0.2971 -0.6302 0.7173
|
||||||
|
vn -0.2971 0.6302 0.7173
|
||||||
|
vn -0.2971 -0.6302 0.7173
|
||||||
|
vn -0.7173 0.6302 0.2971
|
||||||
|
vn -0.7173 -0.6302 0.2971
|
||||||
|
vn -0.7173 0.6302 -0.2971
|
||||||
|
vn -0.7173 -0.6302 -0.2971
|
||||||
|
vn -0.2971 0.6302 -0.7173
|
||||||
|
vn -0.2971 -0.6302 -0.7173
|
||||||
|
vn -0.2971 -0.6303 0.7173
|
||||||
|
vn -0.7173 -0.6303 0.2971
|
||||||
|
vn -0.7173 -0.6303 -0.2971
|
||||||
|
vn -0.2971 -0.6303 -0.7173
|
||||||
|
g Cylinder.000_Cylinder.000_None.001_Cylinder.000_Cylinder.000_None.001_None
|
||||||
|
s off
|
||||||
|
f 19/1/1 20/2/1 21/3/1 22/4/1 23/5/1 24/6/1 25/7/1 26/8/1
|
||||||
|
f 27/9/2 28/10/2 29/11/2 30/12/2 31/13/2 32/14/2 33/15/2 34/16/2
|
||||||
|
f 35/17/3 36/18/3 37/19/3 38/20/3 39/21/3 40/22/3 41/23/3 42/24/3
|
||||||
|
f 43/25/4 44/26/4 45/27/4 46/28/4 47/29/4 48/30/4 49/31/4 50/32/4
|
||||||
|
s 1
|
||||||
|
f 1/33/5 2/34/6 3/35/7 4/36/8 5/37/9
|
||||||
|
f 6/38/10 7/39/11 8/40/12 9/41/13 10/42/14
|
||||||
|
f 9/41/13 11/43/15 12/44/16 10/42/14
|
||||||
|
f 3/45/7 2/46/6 13/47/17 14/48/18
|
||||||
|
f 7/49/11 6/50/10 15/51/2 16/52/19
|
||||||
|
f 5/53/9 16/52/19 15/51/2 1/54/5
|
||||||
|
f 4/55/8 17/56/20 18/57/21 8/58/12 7/59/11 16/60/19 5/61/9
|
||||||
|
f 28/62/22 19/63/23 26/64/24 29/65/25
|
||||||
|
f 27/66/26 20/67/27 19/63/23 28/62/22
|
||||||
|
f 29/65/25 26/64/24 25/68/28 30/69/29
|
||||||
|
f 30/70/29 25/71/28 24/72/30 31/73/31
|
||||||
|
f 31/73/31 24/72/30 23/74/32 32/75/33
|
||||||
|
f 32/75/33 23/74/32 22/76/34 33/77/35
|
||||||
|
f 33/77/35 22/76/34 21/78/36 34/79/37
|
||||||
|
f 34/79/37 21/78/36 20/67/27 27/66/26
|
||||||
|
f 51/80/38 52/81/39 53/82/40 54/83/41 55/84/42 56/85/43 57/86/44 58/87/45
|
||||||
|
f 59/88/46 60/89/47 61/90/48 62/91/49
|
||||||
|
f 63/92/50 64/93/51 65/94/52 66/95/53
|
||||||
|
f 57/96/44 56/97/43 14/48/18 13/47/17 67/98/17 61/99/48
|
||||||
|
f 58/100/45 57/96/44 61/99/48 60/101/47
|
||||||
|
f 65/102/52 68/103/16 12/44/16 11/104/15 53/105/40 52/106/39
|
||||||
|
f 56/97/43 55/107/42 17/108/20 4/109/8 3/45/7 14/48/18
|
||||||
|
f 51/110/38 58/111/45 60/112/47 66/113/53
|
||||||
|
f 55/107/42 54/114/41 18/115/21 17/108/20
|
||||||
|
f 43/116/54 36/117/55 35/118/56 44/119/57
|
||||||
|
f 44/119/57 35/118/56 42/120/58 45/121/59
|
||||||
|
f 45/121/59 42/120/58 41/122/60 46/123/61
|
||||||
|
f 46/124/61 41/125/60 40/126/62 47/127/63
|
||||||
|
f 47/127/63 40/126/62 39/128/64 48/129/65
|
||||||
|
f 48/129/65 39/128/64 38/130/66 49/131/67
|
||||||
|
f 49/131/67 38/130/66 37/132/68 50/133/69
|
||||||
|
f 50/133/69 37/132/68 36/117/55 43/116/54
|
||||||
|
f 64/134/51 63/135/50 59/136/46 62/137/49 69/138/70 70/139/71 71/140/72 72/141/73
|
||||||
|
f 6/142/10 10/143/14 73/144/14 72/145/73 71/146/72
|
||||||
|
f 74/147/6 2/148/6 1/149/5 70/150/71 69/151/70
|
||||||
|
f 51/110/38 66/113/53 65/102/52 52/106/39
|
||||||
|
f 70/150/71 1/149/5 15/152/2 6/142/10 71/146/72
|
||||||
|
f 62/91/49 61/90/48 67/153/17 74/147/6 69/151/70
|
||||||
|
f 64/93/51 72/145/73 73/144/14 68/154/16 65/94/52
|
||||||
|
f 63/92/50 66/95/53 60/155/47 59/156/46
|
||||||
|
f 10/143/14 12/44/16 68/154/16 73/144/14
|
||||||
|
f 74/147/6 67/153/17 13/47/17 2/148/6
|
||||||
|
f 53/105/40 11/104/15 9/157/13 8/158/12 18/115/21 54/114/41
|
461
models/pipeworks_pipe_5_lowpoly.obj
Normal file
@ -0,0 +1,461 @@
|
|||||||
|
# Blender v2.78 (sub 0) OBJ File: 'pipe-master-lowpoly.blend'
|
||||||
|
# www.blender.org
|
||||||
|
o Cylinder.000_Cylinder.000_None_pipeworks_pipe_plain.png.000
|
||||||
|
v -0.051777 0.051777 0.125000
|
||||||
|
v 0.468750 0.051777 0.125000
|
||||||
|
v 0.468750 0.125000 0.051777
|
||||||
|
v 0.051777 0.125000 0.051777
|
||||||
|
v -0.051777 0.125000 0.051777
|
||||||
|
v -0.088388 0.088388 0.088388
|
||||||
|
v -0.125000 -0.051777 0.051777
|
||||||
|
v -0.125000 0.051777 0.051777
|
||||||
|
v -0.125000 0.051777 -0.468750
|
||||||
|
v -0.125000 -0.051777 -0.468750
|
||||||
|
v -0.125000 -0.051777 -0.051777
|
||||||
|
v -0.051777 -0.051777 0.125000
|
||||||
|
v 0.051777 -0.051777 0.125000
|
||||||
|
v 0.468750 -0.051777 0.125000
|
||||||
|
v -0.051777 0.125000 -0.468750
|
||||||
|
v -0.125000 -0.468750 0.051777
|
||||||
|
v -0.051777 -0.468750 0.125000
|
||||||
|
v 0.051777 0.125000 -0.051777
|
||||||
|
v 0.051777 0.125000 -0.468750
|
||||||
|
v 0.500000 -0.156250 -0.064721
|
||||||
|
v 0.500000 -0.064721 -0.156250
|
||||||
|
v 0.500000 0.064721 -0.156250
|
||||||
|
v 0.500000 0.156250 -0.064721
|
||||||
|
v 0.500000 0.156250 0.064721
|
||||||
|
v 0.500000 0.064721 0.156250
|
||||||
|
v 0.500000 -0.064721 0.156250
|
||||||
|
v 0.500000 -0.156250 0.064721
|
||||||
|
v 0.468750 -0.064721 -0.156250
|
||||||
|
v 0.468750 -0.156250 -0.064721
|
||||||
|
v 0.468750 -0.156250 0.064721
|
||||||
|
v 0.468750 -0.064721 0.156250
|
||||||
|
v 0.468750 0.064721 0.156250
|
||||||
|
v 0.468750 0.156250 0.064721
|
||||||
|
v 0.468750 0.156250 -0.064721
|
||||||
|
v 0.468750 0.064721 -0.156250
|
||||||
|
v 0.156250 -0.500000 0.064721
|
||||||
|
v 0.064721 -0.500000 0.156250
|
||||||
|
v -0.064721 -0.500000 0.156250
|
||||||
|
v -0.156250 -0.500000 0.064721
|
||||||
|
v -0.156250 -0.500000 -0.064721
|
||||||
|
v -0.064721 -0.500000 -0.156250
|
||||||
|
v 0.064721 -0.500000 -0.156250
|
||||||
|
v 0.156250 -0.500000 -0.064721
|
||||||
|
v 0.064721 -0.468750 0.156250
|
||||||
|
v 0.156250 -0.468750 0.064721
|
||||||
|
v 0.156250 -0.468750 -0.064721
|
||||||
|
v 0.064721 -0.468750 -0.156250
|
||||||
|
v -0.064721 -0.468750 -0.156250
|
||||||
|
v -0.156250 -0.468750 -0.064721
|
||||||
|
v -0.156250 -0.468750 0.064721
|
||||||
|
v -0.064721 -0.468750 0.156250
|
||||||
|
v 0.064721 -0.156250 -0.468750
|
||||||
|
v 0.156250 -0.064721 -0.468750
|
||||||
|
v 0.156250 0.064721 -0.468750
|
||||||
|
v 0.064721 0.156250 -0.468750
|
||||||
|
v -0.064721 0.156250 -0.468750
|
||||||
|
v -0.156250 0.064721 -0.468750
|
||||||
|
v -0.156250 -0.064721 -0.468750
|
||||||
|
v -0.064721 -0.156250 -0.468750
|
||||||
|
v 0.156250 -0.064721 -0.500000
|
||||||
|
v 0.064721 -0.156250 -0.500000
|
||||||
|
v -0.064721 -0.156250 -0.500000
|
||||||
|
v -0.156250 -0.064721 -0.500000
|
||||||
|
v -0.156250 0.064721 -0.500000
|
||||||
|
v -0.064721 0.156250 -0.500000
|
||||||
|
v 0.064721 0.156250 -0.500000
|
||||||
|
v 0.156250 0.064721 -0.500000
|
||||||
|
v -0.125000 -0.051777 0.051777
|
||||||
|
v -0.125000 -0.051777 -0.051777
|
||||||
|
v -0.125000 -0.468750 -0.051777
|
||||||
|
v -0.125000 -0.468750 0.051777
|
||||||
|
v 0.125000 -0.468750 0.051777
|
||||||
|
v 0.125000 -0.468750 -0.051777
|
||||||
|
v 0.125000 -0.125000 -0.051777
|
||||||
|
v 0.125000 -0.125000 0.051777
|
||||||
|
v 0.051777 -0.468750 -0.125000
|
||||||
|
v 0.051777 -0.125000 -0.125000
|
||||||
|
v 0.088388 -0.088388 -0.088388
|
||||||
|
v -0.051777 -0.468750 -0.125000
|
||||||
|
v -0.051777 -0.125000 -0.125000
|
||||||
|
v 0.468750 -0.125000 -0.051777
|
||||||
|
v 0.468750 -0.051777 -0.125000
|
||||||
|
v 0.468750 0.051777 -0.125000
|
||||||
|
v 0.468750 0.125000 -0.051777
|
||||||
|
v 0.468750 0.125000 0.051777
|
||||||
|
v 0.468750 0.051777 0.125000
|
||||||
|
v 0.468750 -0.051777 0.125000
|
||||||
|
v 0.468750 -0.125000 0.051777
|
||||||
|
v 0.051777 0.125000 -0.468750
|
||||||
|
v 0.051777 0.125000 -0.051777
|
||||||
|
v 0.125000 0.051777 -0.125000
|
||||||
|
v 0.125000 0.051777 -0.468750
|
||||||
|
v -0.051777 -0.125000 -0.468750
|
||||||
|
v -0.125000 -0.051777 -0.468750
|
||||||
|
v 0.051777 -0.051777 0.125000
|
||||||
|
v 0.051777 0.125000 0.051777
|
||||||
|
v 0.125000 -0.051777 -0.125000
|
||||||
|
v 0.051777 -0.468750 0.125000
|
||||||
|
v -0.051777 -0.468750 0.125000
|
||||||
|
v 0.125000 -0.051777 -0.468750
|
||||||
|
v 0.051777 -0.125000 -0.468750
|
||||||
|
v -0.125000 0.051777 -0.468750
|
||||||
|
v -0.051777 0.125000 -0.468750
|
||||||
|
v -0.051777 -0.051777 0.125000
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.7500 0.2344
|
||||||
|
vt 0.7500 0.5156
|
||||||
|
vt 0.6250 0.5156
|
||||||
|
vt 0.6250 0.2969
|
||||||
|
vt 0.6250 0.2344
|
||||||
|
vt 0.6875 0.2188
|
||||||
|
vt 0.8750 0.2656
|
||||||
|
vt 0.7500 0.2656
|
||||||
|
vt 0.7500 0.0156
|
||||||
|
vt 0.8750 0.0156
|
||||||
|
vt 0.8750 0.2344
|
||||||
|
vt 0.8750 0.2656
|
||||||
|
vt 0.8750 0.2969
|
||||||
|
vt 0.8750 0.5156
|
||||||
|
vt 0.7500 0.2656
|
||||||
|
vt 0.6875 0.3125
|
||||||
|
vt 0.6250 0.2969
|
||||||
|
vt 0.6250 0.0156
|
||||||
|
vt 0.7500 0.2969
|
||||||
|
vt 1.0000 0.2969
|
||||||
|
vt 0.9375 0.3125
|
||||||
|
vt 0.8750 0.2969
|
||||||
|
vt 0.8750 0.2344
|
||||||
|
vt 0.8750 0.0156
|
||||||
|
vt 1.0000 0.0156
|
||||||
|
vt 1.0000 0.2344
|
||||||
|
vt 0.6250 0.2656
|
||||||
|
vt 0.5000 0.2656
|
||||||
|
vt 0.5000 0.2344
|
||||||
|
vt 0.5000 0.0156
|
||||||
|
vt 0.8750 0.2344
|
||||||
|
vt 0.7500 0.2344
|
||||||
|
vt 0.7500 0.0156
|
||||||
|
vt 0.8750 0.0156
|
||||||
|
vt 0.2500 0.0156
|
||||||
|
vt 0.3750 0.0156
|
||||||
|
vt 0.3750 0.2031
|
||||||
|
vt 0.2500 0.2031
|
||||||
|
vt 0.5000 0.0156
|
||||||
|
vt 0.5000 0.2031
|
||||||
|
vt 0.4375 0.2188
|
||||||
|
vt 0.3750 0.5938
|
||||||
|
vt 0.3750 0.5625
|
||||||
|
vt 0.4375 0.5625
|
||||||
|
vt 0.4375 0.5938
|
||||||
|
vt 0.3125 0.5938
|
||||||
|
vt 0.3125 0.5625
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.0000 0.5938
|
||||||
|
vt 0.0000 0.5625
|
||||||
|
vt 0.0625 0.5625
|
||||||
|
vt 0.0625 0.5938
|
||||||
|
vt 0.1250 0.5625
|
||||||
|
vt 0.1250 0.5938
|
||||||
|
vt 0.1875 0.5625
|
||||||
|
vt 0.1875 0.5938
|
||||||
|
vt 0.2500 0.5625
|
||||||
|
vt 0.2500 0.5938
|
||||||
|
vt 0.6250 0.0156
|
||||||
|
vt 0.6250 0.2031
|
||||||
|
vt 1.0000 0.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 0.5000 0.0156
|
||||||
|
vt 0.5000 0.2344
|
||||||
|
vt 0.3750 0.2031
|
||||||
|
vt 0.3750 0.0156
|
||||||
|
vt 1.0000 0.0156
|
||||||
|
vt 1.0000 0.2031
|
||||||
|
vt 0.8750 0.2344
|
||||||
|
vt 0.8750 0.0156
|
||||||
|
vt 1.0000 0.5156
|
||||||
|
vt 0.8750 0.5156
|
||||||
|
vt 0.8750 0.2969
|
||||||
|
vt 1.0000 0.3281
|
||||||
|
vt 0.6250 0.5156
|
||||||
|
vt 0.5000 0.5156
|
||||||
|
vt 0.5000 0.2969
|
||||||
|
vt 0.6250 0.2969
|
||||||
|
vt 0.1250 0.5156
|
||||||
|
vt 0.0000 0.5156
|
||||||
|
vt -0.0000 0.3281
|
||||||
|
vt 0.1250 0.3281
|
||||||
|
vt 0.1875 0.3125
|
||||||
|
vt 0.2500 0.3281
|
||||||
|
vt 0.2500 0.5156
|
||||||
|
vt 0.3750 0.3281
|
||||||
|
vt 0.3750 0.5156
|
||||||
|
vt 0.0000 1.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.7500 0.5938
|
||||||
|
vt 0.7500 0.5625
|
||||||
|
vt 0.8125 0.5625
|
||||||
|
vt 0.8125 0.5938
|
||||||
|
vt 0.6875 0.5938
|
||||||
|
vt 0.6875 0.5625
|
||||||
|
vt 0.6250 0.5938
|
||||||
|
vt 0.6250 0.5625
|
||||||
|
vt 0.5625 0.5938
|
||||||
|
vt 0.5625 0.5625
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.9375 0.5938
|
||||||
|
vt 0.9375 0.5625
|
||||||
|
vt 1.0000 0.5625
|
||||||
|
vt 1.0000 0.5938
|
||||||
|
vt 0.8750 0.5938
|
||||||
|
vt 0.8750 0.5625
|
||||||
|
vt 0.1250 0.0156
|
||||||
|
vt 0.1250 0.2344
|
||||||
|
vt 0.8125 0.5938
|
||||||
|
vt 0.8125 0.5625
|
||||||
|
vt 0.8750 0.5625
|
||||||
|
vt 0.8750 0.5938
|
||||||
|
vt 0.9375 0.5625
|
||||||
|
vt 0.9375 0.5938
|
||||||
|
vt 1.0000 0.5625
|
||||||
|
vt 1.0000 0.5938
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5625 0.5625
|
||||||
|
vt 0.5625 0.5938
|
||||||
|
vt 0.6250 0.5625
|
||||||
|
vt 0.6250 0.5938
|
||||||
|
vt 0.6875 0.5625
|
||||||
|
vt 0.6875 0.5938
|
||||||
|
vt 0.7500 0.5625
|
||||||
|
vt 0.7500 0.5938
|
||||||
|
vt 0.0000 1.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt -0.0000 0.2344
|
||||||
|
vt -0.0000 0.0156
|
||||||
|
vt 0.2500 0.0156
|
||||||
|
vt 0.2500 0.2031
|
||||||
|
vt 0.1250 0.0156
|
||||||
|
vt 0.1875 0.2188
|
||||||
|
vt 0.1250 0.2031
|
||||||
|
vt -0.0000 0.2031
|
||||||
|
vt -0.0000 0.0156
|
||||||
|
vn 1.0000 0.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 0.0000 0.0000 1.0000
|
||||||
|
vn 0.0000 0.0000 -1.0000
|
||||||
|
vn -0.3002 0.3002 0.9054
|
||||||
|
vn 0.6302 0.2971 0.7173
|
||||||
|
vn 0.6302 0.7173 0.2971
|
||||||
|
vn -0.0000 0.9239 0.3826
|
||||||
|
vn -0.3002 0.9054 0.3002
|
||||||
|
vn -0.5774 0.5774 0.5774
|
||||||
|
vn -0.9239 0.0000 0.3826
|
||||||
|
vn -0.9054 0.3002 0.3002
|
||||||
|
vn -0.7173 0.2971 -0.6302
|
||||||
|
vn -0.7173 -0.2972 -0.6302
|
||||||
|
vn -0.9878 -0.1100 -0.1100
|
||||||
|
vn -0.3826 0.0000 0.9239
|
||||||
|
vn 0.1100 -0.1100 0.9878
|
||||||
|
vn 0.6302 -0.2972 0.7173
|
||||||
|
vn -0.2971 0.7173 -0.6302
|
||||||
|
vn -0.7173 -0.6302 0.2971
|
||||||
|
vn -0.2971 -0.6302 0.7173
|
||||||
|
vn 0.1100 0.9878 -0.1100
|
||||||
|
vn 0.2972 0.7173 -0.6302
|
||||||
|
vn -0.7173 -0.6303 -0.2971
|
||||||
|
vn 0.7173 -0.6303 0.2971
|
||||||
|
vn 0.7173 -0.6303 -0.2971
|
||||||
|
vn 0.5789 -0.5789 -0.5743
|
||||||
|
vn 0.5789 -0.5789 0.5743
|
||||||
|
vn 0.2971 -0.6303 -0.7173
|
||||||
|
vn 0.5743 -0.5789 -0.5789
|
||||||
|
vn 0.5774 -0.5774 -0.5774
|
||||||
|
vn -0.6302 -0.7173 -0.2971
|
||||||
|
vn 0.6302 -0.7173 -0.2971
|
||||||
|
vn 0.6302 -0.7173 0.2971
|
||||||
|
vn -0.6302 -0.7173 0.2971
|
||||||
|
vn -0.6302 -0.2971 -0.7173
|
||||||
|
vn 0.6302 -0.2971 -0.7173
|
||||||
|
vn 0.6302 -0.2971 0.7173
|
||||||
|
vn -0.6302 -0.2971 0.7173
|
||||||
|
vn -0.6302 0.2971 0.7173
|
||||||
|
vn -0.6302 0.7173 0.2971
|
||||||
|
vn 0.6302 0.7173 -0.2971
|
||||||
|
vn -0.6302 0.7173 -0.2971
|
||||||
|
vn 0.6302 0.2971 -0.7173
|
||||||
|
vn -0.6302 0.2971 -0.7173
|
||||||
|
vn -0.2971 -0.6303 -0.7173
|
||||||
|
vn -0.5743 -0.5789 -0.5789
|
||||||
|
vn 0.6303 -0.7173 -0.2971
|
||||||
|
vn 0.6303 -0.2971 -0.7173
|
||||||
|
vn 0.6303 0.2971 -0.7173
|
||||||
|
vn 0.6303 0.7173 -0.2971
|
||||||
|
vn 0.6303 -0.7173 0.2971
|
||||||
|
vn 0.2971 0.7173 -0.6302
|
||||||
|
vn 0.5789 0.5743 -0.5789
|
||||||
|
vn 0.7173 0.2971 -0.6303
|
||||||
|
vn -0.2971 -0.7173 -0.6303
|
||||||
|
vn -0.7173 -0.2971 -0.6302
|
||||||
|
vn 0.5789 -0.5743 -0.5789
|
||||||
|
vn 0.2971 -0.6303 0.7173
|
||||||
|
vn 0.7173 -0.6302 -0.2971
|
||||||
|
vn 0.7173 0.6302 -0.2971
|
||||||
|
vn 0.7173 0.6302 0.2971
|
||||||
|
vn 0.7173 -0.6302 0.2971
|
||||||
|
vn 0.2971 -0.6302 -0.7173
|
||||||
|
vn 0.2971 0.6302 -0.7173
|
||||||
|
vn -0.2971 -0.6302 -0.7173
|
||||||
|
vn -0.2971 0.6302 -0.7173
|
||||||
|
vn -0.7173 -0.6302 -0.2971
|
||||||
|
vn -0.7173 0.6302 -0.2971
|
||||||
|
vn -0.7173 0.6302 0.2971
|
||||||
|
vn -0.2971 0.6302 0.7173
|
||||||
|
vn 0.2971 -0.6302 0.7173
|
||||||
|
vn 0.2971 0.6302 0.7173
|
||||||
|
vn 0.7173 -0.2971 -0.6302
|
||||||
|
vn 0.7173 -0.2971 0.6302
|
||||||
|
vn 0.2971 -0.7173 0.6302
|
||||||
|
vn 0.2971 -0.7173 -0.6302
|
||||||
|
vn -0.2971 -0.7173 0.6302
|
||||||
|
vn -0.2971 -0.7173 -0.6302
|
||||||
|
vn -0.7173 -0.2971 0.6302
|
||||||
|
vn -0.7173 0.2971 0.6302
|
||||||
|
vn -0.2971 0.7173 0.6302
|
||||||
|
vn 0.2971 0.7173 0.6302
|
||||||
|
vn 0.7173 0.2971 0.6302
|
||||||
|
vn 0.7173 0.2971 -0.6302
|
||||||
|
vn 0.7173 -0.2971 -0.6303
|
||||||
|
vn 0.2971 -0.7173 -0.6303
|
||||||
|
g Cylinder.000_Cylinder.000_None_pipeworks_pipe_plain.png.000_Cylinder.000_Cylinder.000_None_pipeworks_pipe_plain.png.000_None
|
||||||
|
s off
|
||||||
|
f 20/1/1 21/2/1 22/3/1 23/4/1 24/5/1 25/6/1 26/7/1 27/8/1
|
||||||
|
f 28/9/2 29/10/2 30/11/2 31/12/2 32/13/2 33/14/2 34/15/2 35/16/2
|
||||||
|
f 36/17/3 37/18/3 38/19/3 39/20/3 40/21/3 41/22/3 42/23/3 43/24/3
|
||||||
|
f 44/25/4 45/26/4 46/27/4 47/28/4 48/29/4 49/30/4 50/31/4 51/32/4
|
||||||
|
f 52/33/5 53/34/5 54/35/5 55/36/5 56/37/5 57/38/5 58/39/5 59/40/5
|
||||||
|
f 60/41/6 61/42/6 62/43/6 63/44/6 64/45/6 65/46/6 66/47/6 67/48/6
|
||||||
|
s 1
|
||||||
|
f 1/49/7 2/50/8 3/51/9 4/52/10 5/53/11 6/54/12
|
||||||
|
f 7/55/13 8/56/14 9/57/15 10/58/16 11/59/17
|
||||||
|
f 12/60/18 13/61/19 14/62/20 2/50/8 1/63/7
|
||||||
|
f 6/64/12 5/65/11 15/66/21 9/57/15 8/67/14
|
||||||
|
f 1/68/7 6/69/12 8/70/14 7/71/13 16/72/22 17/73/23 12/74/18
|
||||||
|
f 5/75/11 4/76/10 18/77/24 19/78/25 15/66/21
|
||||||
|
f 68/79/13 69/80/17 70/81/26 71/82/22
|
||||||
|
f 72/83/27 73/84/28 74/85/29 75/86/30
|
||||||
|
f 76/87/31 77/88/32 78/89/33 74/85/29 73/84/28
|
||||||
|
f 29/90/34 20/91/35 27/92/36 30/93/37
|
||||||
|
f 28/94/38 21/95/39 20/91/35 29/90/34
|
||||||
|
f 30/93/37 27/92/36 26/96/40 31/97/41
|
||||||
|
f 31/98/41 26/99/40 25/100/8 32/101/42
|
||||||
|
f 32/101/42 25/100/8 24/102/9 33/103/43
|
||||||
|
f 33/103/43 24/102/9 23/104/44 34/105/45
|
||||||
|
f 34/105/45 23/104/44 22/106/46 35/107/47
|
||||||
|
f 35/107/47 22/106/46 21/95/39 28/94/38
|
||||||
|
f 79/108/48 80/109/49 77/88/32 76/87/31
|
||||||
|
f 81/110/50 82/111/51 83/112/52 84/113/53 85/114/9 86/115/8 87/116/40 88/117/54
|
||||||
|
f 89/118/55 90/119/24 91/120/56 92/121/57
|
||||||
|
f 93/122/58 80/123/49 69/124/17 94/125/59
|
||||||
|
f 79/108/48 70/81/26 69/80/17 80/109/49
|
||||||
|
f 88/126/54 87/127/40 95/128/19 75/129/30
|
||||||
|
f 85/130/9 84/131/53 90/132/24 96/133/10
|
||||||
|
f 81/134/50 88/135/54 75/136/30 74/137/29
|
||||||
|
f 81/134/50 74/137/29 78/138/33 97/139/60 82/140/51
|
||||||
|
f 82/140/51 97/139/60 91/141/56 83/142/52
|
||||||
|
f 72/143/27 98/144/61 99/145/23 71/146/22 70/147/26 79/148/48 76/149/31 73/150/28
|
||||||
|
f 43/151/62 46/152/63 45/153/64 36/154/65
|
||||||
|
f 42/155/66 47/156/67 46/152/63 43/151/62
|
||||||
|
f 41/157/68 48/158/69 47/156/67 42/155/66
|
||||||
|
f 40/159/70 49/160/71 48/158/69 41/157/68
|
||||||
|
f 39/161/22 50/162/72 49/160/71 40/159/70
|
||||||
|
f 38/163/23 51/164/73 50/165/72 39/166/22
|
||||||
|
f 37/167/74 44/168/75 51/164/73 38/163/23
|
||||||
|
f 98/169/61 72/83/27 75/86/30 95/170/19
|
||||||
|
f 36/154/65 45/153/64 44/168/75 37/167/74
|
||||||
|
f 60/171/76 53/172/77 52/173/78 61/174/79
|
||||||
|
f 61/174/79 52/173/78 59/175/80 62/176/81
|
||||||
|
f 62/176/81 59/175/80 58/177/82 63/178/59
|
||||||
|
f 63/179/59 58/180/82 57/181/83 64/182/15
|
||||||
|
f 64/182/15 57/181/83 56/183/84 65/184/21
|
||||||
|
f 65/184/21 56/183/84 55/185/85 66/186/55
|
||||||
|
f 66/186/55 55/185/85 54/187/86 67/188/87
|
||||||
|
f 67/188/87 54/187/86 53/172/77 60/171/76
|
||||||
|
f 100/189/88 101/190/89 93/191/58 94/192/59 102/193/15 103/194/21 89/195/55 92/196/57
|
||||||
|
f 104/197/18 99/198/23 98/169/61 95/170/19
|
||||||
|
f 100/199/88 92/121/57 91/120/56 97/200/60
|
||||||
|
f 101/201/89 100/199/88 97/200/60 78/202/33 77/203/32
|
||||||
|
f 101/201/89 77/203/32 80/204/49 93/205/58
|
||||||
|
f 83/142/52 91/141/56 90/132/24 84/131/53
|
378
models/pipeworks_pipe_6_lowpoly.obj
Normal file
@ -0,0 +1,378 @@
|
|||||||
|
# Blender v2.78 (sub 0) OBJ File: 'pipe-master-lowpoly.blend'
|
||||||
|
# www.blender.org
|
||||||
|
o Cylinder.002_Cylinder.006_None.001
|
||||||
|
v -0.468750 -0.156250 -0.064721
|
||||||
|
v -0.468750 -0.064721 -0.156250
|
||||||
|
v -0.468750 0.064721 -0.156250
|
||||||
|
v -0.468750 0.156250 -0.064721
|
||||||
|
v -0.468750 0.156250 0.064721
|
||||||
|
v -0.468750 0.064721 0.156250
|
||||||
|
v -0.468750 -0.064721 0.156250
|
||||||
|
v -0.468750 -0.156250 0.064721
|
||||||
|
v -0.500000 -0.064721 -0.156250
|
||||||
|
v -0.500000 -0.156250 -0.064721
|
||||||
|
v -0.500000 -0.156250 0.064721
|
||||||
|
v -0.500000 -0.064721 0.156250
|
||||||
|
v -0.500000 0.064721 0.156250
|
||||||
|
v -0.500000 0.156250 0.064721
|
||||||
|
v -0.500000 0.156250 -0.064721
|
||||||
|
v -0.500000 0.064721 -0.156250
|
||||||
|
v 0.500000 -0.156250 -0.064721
|
||||||
|
v 0.500000 -0.064721 -0.156250
|
||||||
|
v 0.500000 0.064721 -0.156250
|
||||||
|
v 0.500000 0.156250 -0.064721
|
||||||
|
v 0.500000 0.156250 0.064721
|
||||||
|
v 0.500000 0.064721 0.156250
|
||||||
|
v 0.500000 -0.064721 0.156250
|
||||||
|
v 0.500000 -0.156250 0.064721
|
||||||
|
v 0.468750 -0.064721 -0.156250
|
||||||
|
v 0.468750 -0.156250 -0.064721
|
||||||
|
v 0.468750 -0.156250 0.064721
|
||||||
|
v 0.468750 -0.064721 0.156250
|
||||||
|
v 0.468750 0.064721 0.156250
|
||||||
|
v 0.468750 0.156250 0.064721
|
||||||
|
v 0.468750 0.156250 -0.064721
|
||||||
|
v 0.468750 0.064721 -0.156250
|
||||||
|
v -0.156250 -0.500000 -0.064721
|
||||||
|
v -0.064721 -0.500000 -0.156250
|
||||||
|
v 0.064721 -0.500000 -0.156250
|
||||||
|
v 0.156250 -0.500000 -0.064721
|
||||||
|
v 0.156250 -0.500000 0.064721
|
||||||
|
v 0.064721 -0.500000 0.156250
|
||||||
|
v -0.064721 -0.500000 0.156250
|
||||||
|
v -0.156250 -0.500000 0.064721
|
||||||
|
v -0.064721 -0.468750 -0.156250
|
||||||
|
v -0.156250 -0.468750 -0.064721
|
||||||
|
v -0.156250 -0.468750 0.064721
|
||||||
|
v -0.064721 -0.468750 0.156250
|
||||||
|
v 0.064721 -0.468750 0.156250
|
||||||
|
v 0.156250 -0.468750 0.064721
|
||||||
|
v 0.156250 -0.468750 -0.064721
|
||||||
|
v 0.064721 -0.468750 -0.156250
|
||||||
|
v -0.468750 -0.051777 -0.125000
|
||||||
|
v -0.468750 -0.125000 -0.051777
|
||||||
|
v -0.468750 -0.125000 0.051777
|
||||||
|
v -0.468750 -0.051777 0.125000
|
||||||
|
v -0.468750 0.051777 0.125000
|
||||||
|
v -0.468750 0.125000 0.051777
|
||||||
|
v -0.468750 0.125000 -0.051777
|
||||||
|
v -0.468750 0.051777 -0.125000
|
||||||
|
v 0.468750 -0.125000 -0.051777
|
||||||
|
v 0.468750 -0.051777 -0.125000
|
||||||
|
v 0.468750 0.051777 -0.125000
|
||||||
|
v 0.468750 0.125000 -0.051777
|
||||||
|
v 0.468750 0.125000 0.051777
|
||||||
|
v 0.468750 0.051777 0.125000
|
||||||
|
v 0.468750 -0.051777 0.125000
|
||||||
|
v 0.468750 -0.125000 0.051777
|
||||||
|
v 0.051777 -0.051777 0.125000
|
||||||
|
v 0.125000 -0.125000 0.051777
|
||||||
|
v 0.125000 -0.125000 -0.051777
|
||||||
|
v 0.051777 -0.051777 -0.125000
|
||||||
|
v -0.051777 -0.468750 -0.125000
|
||||||
|
v -0.051777 -0.051777 -0.125000
|
||||||
|
v 0.051777 -0.468750 -0.125000
|
||||||
|
v -0.051777 -0.051777 0.125000
|
||||||
|
v -0.051777 -0.468750 0.125000
|
||||||
|
v 0.051777 -0.468750 0.125000
|
||||||
|
v -0.125000 -0.125000 -0.051777
|
||||||
|
v -0.125000 -0.125000 0.051777
|
||||||
|
v -0.125000 -0.468750 -0.051777
|
||||||
|
v 0.125000 -0.468750 -0.051777
|
||||||
|
v 0.125000 -0.468750 0.051777
|
||||||
|
v -0.125000 -0.468750 0.051777
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.8125 0.5938
|
||||||
|
vt 0.8125 0.5625
|
||||||
|
vt 0.8750 0.5625
|
||||||
|
vt 0.8750 0.5938
|
||||||
|
vt 0.9375 0.5625
|
||||||
|
vt 0.9375 0.5938
|
||||||
|
vt 1.0000 0.5625
|
||||||
|
vt 1.0000 0.5938
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5625 0.5625
|
||||||
|
vt 0.5625 0.5938
|
||||||
|
vt 0.6250 0.5625
|
||||||
|
vt 0.6250 0.5938
|
||||||
|
vt 0.6875 0.5625
|
||||||
|
vt 0.6875 0.5938
|
||||||
|
vt 0.7500 0.5625
|
||||||
|
vt 0.7500 0.5938
|
||||||
|
vt 0.3750 0.5938
|
||||||
|
vt 0.3750 0.5625
|
||||||
|
vt 0.4375 0.5625
|
||||||
|
vt 0.4375 0.5938
|
||||||
|
vt 0.3125 0.5938
|
||||||
|
vt 0.3125 0.5625
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.0000 0.5938
|
||||||
|
vt 0.0000 0.5625
|
||||||
|
vt 0.0625 0.5625
|
||||||
|
vt 0.0625 0.5938
|
||||||
|
vt 0.1250 0.5625
|
||||||
|
vt 0.1250 0.5938
|
||||||
|
vt 0.1875 0.5625
|
||||||
|
vt 0.1875 0.5938
|
||||||
|
vt 0.2500 0.5625
|
||||||
|
vt 0.2500 0.5938
|
||||||
|
vt 0.0000 1.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 1.0000 0.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0022 0.5135
|
||||||
|
vt 0.8768 0.5135
|
||||||
|
vt 0.8768 0.2909
|
||||||
|
vt 1.0022 0.3300
|
||||||
|
vt 0.1242 0.5135
|
||||||
|
vt 0.1242 0.3300
|
||||||
|
vt 0.2498 0.2909
|
||||||
|
vt 0.2498 0.5135
|
||||||
|
vt 0.2498 0.5135
|
||||||
|
vt 0.2498 0.2909
|
||||||
|
vt 0.3752 0.2909
|
||||||
|
vt 0.3752 0.5135
|
||||||
|
vt 0.6260 0.5135
|
||||||
|
vt 0.5006 0.5135
|
||||||
|
vt 0.5006 0.0130
|
||||||
|
vt 0.6259 0.0130
|
||||||
|
vt 0.7514 0.0130
|
||||||
|
vt 0.7514 0.5135
|
||||||
|
vt 0.8767 0.0130
|
||||||
|
vt 0.8768 0.2356
|
||||||
|
vt -0.0012 0.5135
|
||||||
|
vt -0.0012 0.3300
|
||||||
|
vt 0.8768 0.5135
|
||||||
|
vt 0.7514 0.5135
|
||||||
|
vt 0.7514 0.2909
|
||||||
|
vt 0.8768 0.2909
|
||||||
|
vt 0.3752 0.5135
|
||||||
|
vt 0.3751 0.0130
|
||||||
|
vt 0.1242 0.0130
|
||||||
|
vt 0.1242 0.1965
|
||||||
|
vt -0.0012 0.1965
|
||||||
|
vt -0.0013 0.0130
|
||||||
|
vt 0.3750 0.5938
|
||||||
|
vt 0.3750 0.5625
|
||||||
|
vt 0.4375 0.5625
|
||||||
|
vt 0.4375 0.5938
|
||||||
|
vt 0.3125 0.5938
|
||||||
|
vt 0.3125 0.5625
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.0000 0.5938
|
||||||
|
vt 0.0000 0.5625
|
||||||
|
vt 0.0625 0.5625
|
||||||
|
vt 0.0625 0.5938
|
||||||
|
vt 0.1250 0.5625
|
||||||
|
vt 0.1250 0.5938
|
||||||
|
vt 0.1875 0.5625
|
||||||
|
vt 0.1875 0.5938
|
||||||
|
vt 0.2500 0.5625
|
||||||
|
vt 0.2500 0.5938
|
||||||
|
vt 1.0000 0.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 0.1242 0.5135
|
||||||
|
vt 0.1242 0.3300
|
||||||
|
vt 1.0022 0.5135
|
||||||
|
vt 1.0022 0.3300
|
||||||
|
vt 0.2498 0.2356
|
||||||
|
vt 0.2498 0.0130
|
||||||
|
vt 0.5006 0.3300
|
||||||
|
vt 0.5006 0.5135
|
||||||
|
vt 0.6260 0.5135
|
||||||
|
vt 0.6260 0.3300
|
||||||
|
vt -0.0012 0.5135
|
||||||
|
vt -0.0012 0.3300
|
||||||
|
vt 1.0021 0.0130
|
||||||
|
vt 1.0022 0.1965
|
||||||
|
vn 1.0000 0.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 -0.6302 -0.2971 -0.7173
|
||||||
|
vn 0.6302 -0.2971 -0.7173
|
||||||
|
vn 0.6302 -0.7173 -0.2971
|
||||||
|
vn -0.6302 -0.7173 -0.2971
|
||||||
|
vn 0.6302 -0.7173 0.2971
|
||||||
|
vn -0.6302 -0.7173 0.2971
|
||||||
|
vn 0.6302 -0.2971 0.7173
|
||||||
|
vn -0.6302 -0.2971 0.7173
|
||||||
|
vn 0.6302 0.2971 0.7173
|
||||||
|
vn -0.6302 0.2971 0.7173
|
||||||
|
vn 0.6302 0.7173 0.2971
|
||||||
|
vn -0.6302 0.7173 0.2971
|
||||||
|
vn 0.6302 0.7173 -0.2971
|
||||||
|
vn -0.6302 0.7173 -0.2971
|
||||||
|
vn 0.6302 0.2971 -0.7173
|
||||||
|
vn -0.6302 0.2971 -0.7173
|
||||||
|
vn -0.6303 -0.2971 -0.7173
|
||||||
|
vn -0.6303 -0.7173 -0.2971
|
||||||
|
vn -0.6303 -0.7173 0.2971
|
||||||
|
vn -0.6303 -0.2971 0.7173
|
||||||
|
vn -0.6303 0.2971 0.7173
|
||||||
|
vn -0.6303 0.7173 0.2971
|
||||||
|
vn -0.6303 0.7173 -0.2971
|
||||||
|
vn -0.6303 0.2971 -0.7173
|
||||||
|
vn 0.6303 -0.7173 -0.2971
|
||||||
|
vn 0.6303 -0.2971 -0.7173
|
||||||
|
vn 0.6303 0.2971 -0.7173
|
||||||
|
vn 0.6303 0.7173 -0.2971
|
||||||
|
vn 0.6303 0.7173 0.2971
|
||||||
|
vn 0.6303 0.2971 0.7173
|
||||||
|
vn 0.6303 -0.2971 0.7173
|
||||||
|
vn 0.6303 -0.7173 0.2971
|
||||||
|
vn 0.1101 -0.1101 0.9878
|
||||||
|
vn 0.5789 -0.5789 0.5743
|
||||||
|
vn 0.5789 -0.5789 -0.5743
|
||||||
|
vn 0.1101 -0.1101 -0.9878
|
||||||
|
vn -0.2971 -0.6303 -0.7173
|
||||||
|
vn -0.1101 -0.1101 -0.9878
|
||||||
|
vn 0.2971 -0.6303 -0.7173
|
||||||
|
vn -0.1101 -0.1101 0.9878
|
||||||
|
vn -0.2971 -0.6303 0.7173
|
||||||
|
vn 0.2971 -0.6303 0.7173
|
||||||
|
vn -0.5789 -0.5789 -0.5743
|
||||||
|
vn -0.5789 -0.5789 0.5743
|
||||||
|
vn -0.7173 0.6302 -0.2971
|
||||||
|
vn -0.7173 -0.6302 -0.2971
|
||||||
|
vn -0.7173 -0.6302 0.2971
|
||||||
|
vn -0.7173 0.6302 0.2971
|
||||||
|
vn -0.2971 0.6302 -0.7173
|
||||||
|
vn -0.2971 -0.6302 -0.7173
|
||||||
|
vn -0.2971 -0.6302 0.7173
|
||||||
|
vn -0.2971 0.6302 0.7173
|
||||||
|
vn 0.2971 -0.6302 0.7173
|
||||||
|
vn 0.2971 0.6302 0.7173
|
||||||
|
vn 0.7173 -0.6302 0.2971
|
||||||
|
vn 0.7173 0.6302 0.2971
|
||||||
|
vn 0.7173 -0.6302 -0.2971
|
||||||
|
vn 0.7173 0.6302 -0.2971
|
||||||
|
vn 0.2971 -0.6302 -0.7173
|
||||||
|
vn 0.2971 0.6302 -0.7173
|
||||||
|
vn -0.7173 -0.6303 -0.2971
|
||||||
|
vn 0.7173 -0.6303 -0.2971
|
||||||
|
vn 0.7173 -0.6303 0.2971
|
||||||
|
vn -0.7173 -0.6303 0.2971
|
||||||
|
g Cylinder.002_Cylinder.006_None.001_Cylinder.002_Cylinder.006_None.001_None
|
||||||
|
s off
|
||||||
|
f 1/1/1 2/2/1 3/3/1 4/4/1 5/5/1 6/6/1 7/7/1 8/8/1
|
||||||
|
f 9/9/2 10/10/2 11/11/2 12/12/2 13/13/2 14/14/2 15/15/2 16/16/2
|
||||||
|
f 17/17/1 18/18/1 19/19/1 20/20/1 21/21/1 22/22/1 23/23/1 24/24/1
|
||||||
|
f 25/25/2 26/26/2 27/27/2 28/28/2 29/29/2 30/30/2 31/31/2 32/32/2
|
||||||
|
f 33/33/3 34/34/3 35/35/3 36/36/3 37/37/3 38/38/3 39/39/3 40/40/3
|
||||||
|
f 41/41/4 42/42/4 43/43/4 44/44/4 45/45/4 46/46/4 47/47/4 48/48/4
|
||||||
|
s 1
|
||||||
|
f 9/49/5 2/50/6 1/51/7 10/52/8
|
||||||
|
f 10/52/8 1/51/7 8/53/9 11/54/10
|
||||||
|
f 11/54/10 8/53/9 7/55/11 12/56/12
|
||||||
|
f 12/57/12 7/58/11 6/59/13 13/60/14
|
||||||
|
f 13/60/14 6/59/13 5/61/15 14/62/16
|
||||||
|
f 14/62/16 5/61/15 4/63/17 15/64/18
|
||||||
|
f 15/64/18 4/63/17 3/65/19 16/66/20
|
||||||
|
f 16/66/20 3/65/19 2/50/6 9/49/5
|
||||||
|
f 26/67/8 17/68/7 24/69/9 27/70/10
|
||||||
|
f 25/71/5 18/72/6 17/68/7 26/67/8
|
||||||
|
f 27/70/10 24/69/9 23/73/11 28/74/12
|
||||||
|
f 28/75/12 23/76/11 22/77/13 29/78/14
|
||||||
|
f 29/78/14 22/77/13 21/79/15 30/80/16
|
||||||
|
f 30/80/16 21/79/15 20/81/17 31/82/18
|
||||||
|
f 31/82/18 20/81/17 19/83/19 32/84/20
|
||||||
|
f 32/84/20 19/83/19 18/72/6 25/71/5
|
||||||
|
f 49/85/21 50/86/22 51/87/23 52/88/24 53/89/25 54/90/26 55/91/27 56/92/28
|
||||||
|
f 57/93/29 58/94/30 59/95/31 60/96/32 61/97/33 62/98/34 63/99/35 64/100/36
|
||||||
|
f 64/101/36 63/102/35 65/103/37 66/104/38
|
||||||
|
f 57/105/29 67/106/39 68/107/40 58/108/30
|
||||||
|
f 69/109/41 70/110/42 68/111/40 71/112/43
|
||||||
|
f 61/113/33 60/114/32 55/115/27 54/116/26
|
||||||
|
f 53/117/25 62/118/34 61/113/33 54/116/26
|
||||||
|
f 53/117/25 52/119/24 72/120/44 65/103/37 63/102/35 62/118/34
|
||||||
|
f 57/105/29 64/121/36 66/122/38 67/106/39
|
||||||
|
f 73/123/45 74/124/46 65/125/37 72/126/44
|
||||||
|
f 55/115/27 60/114/32 59/127/31 56/128/28
|
||||||
|
f 50/129/22 75/130/47 76/131/48 51/132/23
|
||||||
|
f 42/133/49 33/134/50 40/135/51 43/136/52
|
||||||
|
f 41/137/53 34/138/54 33/134/50 42/133/49
|
||||||
|
f 43/136/52 40/135/51 39/139/55 44/140/56
|
||||||
|
f 44/141/56 39/142/55 38/143/57 45/144/58
|
||||||
|
f 45/144/58 38/143/57 37/145/59 46/146/60
|
||||||
|
f 46/146/60 37/145/59 36/147/61 47/148/62
|
||||||
|
f 47/148/62 36/147/61 35/149/63 48/150/64
|
||||||
|
f 48/150/64 35/149/63 34/138/54 41/137/53
|
||||||
|
f 77/151/65 69/152/41 71/153/43 78/154/66 79/155/67 74/156/46 73/157/45 80/158/68
|
||||||
|
f 77/159/65 75/160/47 70/110/42 69/109/41
|
||||||
|
f 80/161/68 73/123/45 72/126/44 76/162/48
|
||||||
|
f 58/108/30 68/107/40 70/163/42 49/164/21 56/128/28 59/127/31
|
||||||
|
f 71/112/43 68/111/40 67/165/39 78/166/66
|
||||||
|
f 79/167/67 66/168/38 65/125/37 74/124/46
|
||||||
|
f 50/129/22 49/164/21 70/163/42 75/130/47
|
||||||
|
f 79/167/67 78/166/66 67/165/39 66/168/38
|
||||||
|
f 77/159/65 80/169/68 76/170/48 75/160/47
|
||||||
|
f 51/171/23 76/172/48 72/120/44 52/119/24
|
535
models/pipeworks_pipe_7_lowpoly.obj
Normal file
@ -0,0 +1,535 @@
|
|||||||
|
# Blender v2.78 (sub 0) OBJ File: 'pipe-master-lowpoly.blend'
|
||||||
|
# www.blender.org
|
||||||
|
o Cylinder.002_Cylinder.006_None.002
|
||||||
|
v -0.468750 -0.156250 -0.064721
|
||||||
|
v -0.468750 -0.064721 -0.156250
|
||||||
|
v -0.468750 0.064721 -0.156250
|
||||||
|
v -0.468750 0.156250 -0.064721
|
||||||
|
v -0.468750 0.156250 0.064721
|
||||||
|
v -0.468750 0.064721 0.156250
|
||||||
|
v -0.468750 -0.064721 0.156250
|
||||||
|
v -0.468750 -0.156250 0.064721
|
||||||
|
v -0.500000 -0.064721 -0.156250
|
||||||
|
v -0.500000 -0.156250 -0.064721
|
||||||
|
v -0.500000 -0.156250 0.064721
|
||||||
|
v -0.500000 -0.064721 0.156250
|
||||||
|
v -0.500000 0.064721 0.156250
|
||||||
|
v -0.500000 0.156250 0.064721
|
||||||
|
v -0.500000 0.156250 -0.064721
|
||||||
|
v -0.500000 0.064721 -0.156250
|
||||||
|
v 0.500000 -0.156250 -0.064721
|
||||||
|
v 0.500000 -0.064721 -0.156250
|
||||||
|
v 0.500000 0.064721 -0.156250
|
||||||
|
v 0.500000 0.156250 -0.064721
|
||||||
|
v 0.500000 0.156250 0.064721
|
||||||
|
v 0.500000 0.064721 0.156250
|
||||||
|
v 0.500000 -0.064721 0.156250
|
||||||
|
v 0.500000 -0.156250 0.064721
|
||||||
|
v 0.468750 -0.064721 -0.156250
|
||||||
|
v 0.468750 -0.156250 -0.064721
|
||||||
|
v 0.468750 -0.156250 0.064721
|
||||||
|
v 0.468750 -0.064721 0.156250
|
||||||
|
v 0.468750 0.064721 0.156250
|
||||||
|
v 0.468750 0.156250 0.064721
|
||||||
|
v 0.468750 0.156250 -0.064721
|
||||||
|
v 0.468750 0.064721 -0.156250
|
||||||
|
v 0.064721 -0.156250 -0.468750
|
||||||
|
v 0.156250 -0.064721 -0.468750
|
||||||
|
v 0.156250 0.064721 -0.468750
|
||||||
|
v 0.064721 0.156250 -0.468750
|
||||||
|
v -0.064721 0.156250 -0.468750
|
||||||
|
v -0.156250 0.064721 -0.468750
|
||||||
|
v -0.156250 -0.064721 -0.468750
|
||||||
|
v -0.064721 -0.156250 -0.468750
|
||||||
|
v 0.156250 -0.064721 -0.500000
|
||||||
|
v 0.064721 -0.156250 -0.500000
|
||||||
|
v -0.064721 -0.156250 -0.500000
|
||||||
|
v -0.156250 -0.064721 -0.500000
|
||||||
|
v -0.156250 0.064721 -0.500000
|
||||||
|
v -0.064721 0.156250 -0.500000
|
||||||
|
v 0.064721 0.156250 -0.500000
|
||||||
|
v 0.156250 0.064721 -0.500000
|
||||||
|
v 0.064721 -0.468750 0.156250
|
||||||
|
v 0.156250 -0.468750 0.064721
|
||||||
|
v 0.156250 -0.468750 -0.064721
|
||||||
|
v 0.064721 -0.468750 -0.156250
|
||||||
|
v -0.064721 -0.468750 -0.156250
|
||||||
|
v -0.156250 -0.468750 -0.064721
|
||||||
|
v -0.156250 -0.468750 0.064721
|
||||||
|
v -0.064721 -0.468750 0.156250
|
||||||
|
v 0.156250 -0.500000 0.064721
|
||||||
|
v 0.064721 -0.500000 0.156250
|
||||||
|
v -0.064721 -0.500000 0.156250
|
||||||
|
v -0.156250 -0.500000 0.064721
|
||||||
|
v -0.156250 -0.500000 -0.064721
|
||||||
|
v -0.064721 -0.500000 -0.156250
|
||||||
|
v 0.064721 -0.500000 -0.156250
|
||||||
|
v 0.156250 -0.500000 -0.064721
|
||||||
|
v -0.468750 -0.051777 -0.125000
|
||||||
|
v -0.468750 -0.125000 -0.051777
|
||||||
|
v -0.468750 -0.125000 0.051777
|
||||||
|
v -0.468750 -0.051777 0.125000
|
||||||
|
v -0.468750 0.051777 0.125000
|
||||||
|
v -0.468750 0.125000 0.051777
|
||||||
|
v -0.468750 0.125000 -0.051777
|
||||||
|
v -0.468750 0.051777 -0.125000
|
||||||
|
v 0.468750 -0.125000 -0.051777
|
||||||
|
v 0.468750 -0.051777 -0.125000
|
||||||
|
v 0.468750 0.051777 -0.125000
|
||||||
|
v 0.468750 0.125000 -0.051777
|
||||||
|
v 0.468750 0.125000 0.051777
|
||||||
|
v 0.468750 0.051777 0.125000
|
||||||
|
v 0.468750 -0.051777 0.125000
|
||||||
|
v 0.468750 -0.125000 0.051777
|
||||||
|
v -0.051777 0.125000 -0.468750
|
||||||
|
v -0.051777 0.125000 -0.051777
|
||||||
|
v 0.051777 0.125000 -0.051777
|
||||||
|
v 0.051777 0.125000 -0.468750
|
||||||
|
v -0.051777 -0.468750 0.125000
|
||||||
|
v -0.051777 -0.051777 0.125000
|
||||||
|
v -0.125000 -0.125000 0.051777
|
||||||
|
v -0.125000 -0.468750 0.051777
|
||||||
|
v 0.051777 -0.468750 0.125000
|
||||||
|
v 0.125000 -0.468750 0.051777
|
||||||
|
v 0.125000 -0.125000 0.051777
|
||||||
|
v 0.051777 -0.051777 0.125000
|
||||||
|
v 0.125000 0.051777 -0.125000
|
||||||
|
v 0.125000 -0.125000 -0.051777
|
||||||
|
v 0.088388 -0.088388 -0.088388
|
||||||
|
v 0.125000 -0.051777 -0.125000
|
||||||
|
v 0.125000 0.051777 -0.468750
|
||||||
|
v -0.125000 0.051777 -0.125000
|
||||||
|
v -0.125000 -0.051777 -0.125000
|
||||||
|
v -0.088388 -0.088388 -0.088388
|
||||||
|
v -0.125000 -0.125000 -0.051777
|
||||||
|
v 0.125000 -0.051777 -0.468750
|
||||||
|
v 0.051777 -0.125000 -0.468750
|
||||||
|
v -0.051777 -0.125000 -0.468750
|
||||||
|
v -0.125000 -0.051777 -0.468750
|
||||||
|
v -0.125000 0.051777 -0.468750
|
||||||
|
v -0.051777 -0.125000 -0.125000
|
||||||
|
v 0.051777 -0.125000 -0.125000
|
||||||
|
v -0.125000 -0.468750 -0.051777
|
||||||
|
v -0.051777 -0.468750 -0.125000
|
||||||
|
v 0.051777 -0.468750 -0.125000
|
||||||
|
v 0.125000 -0.468750 -0.051777
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.8125 0.5938
|
||||||
|
vt 0.8125 0.5625
|
||||||
|
vt 0.8750 0.5625
|
||||||
|
vt 0.8750 0.5938
|
||||||
|
vt 0.9375 0.5625
|
||||||
|
vt 0.9375 0.5938
|
||||||
|
vt 1.0000 0.5625
|
||||||
|
vt 1.0000 0.5938
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5625 0.5625
|
||||||
|
vt 0.5625 0.5938
|
||||||
|
vt 0.6250 0.5625
|
||||||
|
vt 0.6250 0.5938
|
||||||
|
vt 0.6875 0.5625
|
||||||
|
vt 0.6875 0.5938
|
||||||
|
vt 0.7500 0.5625
|
||||||
|
vt 0.7500 0.5938
|
||||||
|
vt 0.3750 0.5938
|
||||||
|
vt 0.3750 0.5625
|
||||||
|
vt 0.4375 0.5625
|
||||||
|
vt 0.4375 0.5938
|
||||||
|
vt 0.3125 0.5938
|
||||||
|
vt 0.3125 0.5625
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.0000 0.5938
|
||||||
|
vt 0.0000 0.5625
|
||||||
|
vt 0.0625 0.5625
|
||||||
|
vt 0.0625 0.5938
|
||||||
|
vt 0.1250 0.5625
|
||||||
|
vt 0.1250 0.5938
|
||||||
|
vt 0.1875 0.5625
|
||||||
|
vt 0.1875 0.5938
|
||||||
|
vt 0.2500 0.5625
|
||||||
|
vt 0.2500 0.5938
|
||||||
|
vt 0.0000 1.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 1.0000 0.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 0.6250 0.0156
|
||||||
|
vt 0.6250 0.2344
|
||||||
|
vt 0.5000 0.2344
|
||||||
|
vt 0.5000 0.0156
|
||||||
|
vt 0.6250 0.5156
|
||||||
|
vt 0.6250 0.0156
|
||||||
|
vt 0.7500 0.0156
|
||||||
|
vt 0.7500 0.5156
|
||||||
|
vt 1.0000 0.0156
|
||||||
|
vt 1.0000 0.2344
|
||||||
|
vt 0.8750 0.1875
|
||||||
|
vt 0.8750 0.0156
|
||||||
|
vt 0.1250 0.0156
|
||||||
|
vt 0.2500 0.0156
|
||||||
|
vt 0.2500 0.1875
|
||||||
|
vt 0.1250 0.2344
|
||||||
|
vt 0.5000 0.2969
|
||||||
|
vt 0.5000 0.5156
|
||||||
|
vt 0.3750 0.5156
|
||||||
|
vt 0.3750 0.3281
|
||||||
|
vt -0.0000 0.2344
|
||||||
|
vt -0.0000 0.0156
|
||||||
|
vt 0.1250 0.5156
|
||||||
|
vt -0.0000 0.5156
|
||||||
|
vt -0.0000 0.3281
|
||||||
|
vt 0.1250 0.3281
|
||||||
|
vt 0.1875 0.3125
|
||||||
|
vt 0.2500 0.3281
|
||||||
|
vt 0.2500 0.5156
|
||||||
|
vt 0.5000 0.2344
|
||||||
|
vt 0.5000 0.0156
|
||||||
|
vt 0.3750 0.1875
|
||||||
|
vt 0.3750 0.0156
|
||||||
|
vt 0.2500 0.0156
|
||||||
|
vt 0.3750 0.0156
|
||||||
|
vt 0.3750 0.1875
|
||||||
|
vt 0.2500 0.1875
|
||||||
|
vt 0.1250 0.0156
|
||||||
|
vt 0.1875 0.2188
|
||||||
|
vt 0.1250 0.1875
|
||||||
|
vt -0.0000 0.1875
|
||||||
|
vt -0.0000 0.0156
|
||||||
|
vt 0.8125 0.5938
|
||||||
|
vt 0.8125 0.5625
|
||||||
|
vt 0.8750 0.5625
|
||||||
|
vt 0.8750 0.5938
|
||||||
|
vt 0.9375 0.5625
|
||||||
|
vt 0.9375 0.5938
|
||||||
|
vt 1.0000 0.5625
|
||||||
|
vt 1.0000 0.5938
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5625 0.5625
|
||||||
|
vt 0.5625 0.5938
|
||||||
|
vt 0.6250 0.5625
|
||||||
|
vt 0.6250 0.5938
|
||||||
|
vt 0.6875 0.5625
|
||||||
|
vt 0.6875 0.5938
|
||||||
|
vt 0.7500 0.5625
|
||||||
|
vt 0.7500 0.5938
|
||||||
|
vt 0.0000 1.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 1.0000 0.0156
|
||||||
|
vt 1.0000 0.1875
|
||||||
|
vt 0.9375 0.2188
|
||||||
|
vt 0.8750 0.1875
|
||||||
|
vt 0.8750 0.0156
|
||||||
|
vt 0.7500 0.1875
|
||||||
|
vt 0.7500 0.0156
|
||||||
|
vt 0.2500 0.0156
|
||||||
|
vt 0.2500 0.1875
|
||||||
|
vt 0.1250 0.0156
|
||||||
|
vt 0.1875 0.2188
|
||||||
|
vt 0.1250 0.1875
|
||||||
|
vt -0.0000 0.1875
|
||||||
|
vt -0.0000 0.0156
|
||||||
|
vt 0.8125 0.5938
|
||||||
|
vt 0.8125 0.5625
|
||||||
|
vt 0.8750 0.5625
|
||||||
|
vt 0.8750 0.5938
|
||||||
|
vt 0.9375 0.5625
|
||||||
|
vt 0.9375 0.5938
|
||||||
|
vt 1.0000 0.5625
|
||||||
|
vt 1.0000 0.5938
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5625 0.5625
|
||||||
|
vt 0.5625 0.5938
|
||||||
|
vt 0.6250 0.5625
|
||||||
|
vt 0.6250 0.5938
|
||||||
|
vt 0.6875 0.5625
|
||||||
|
vt 0.6875 0.5938
|
||||||
|
vt 0.7500 0.5625
|
||||||
|
vt 0.7500 0.5938
|
||||||
|
vt 0.0000 1.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 1.0000 0.5156
|
||||||
|
vt 0.8750 0.5156
|
||||||
|
vt 0.8750 0.2969
|
||||||
|
vt 1.0000 0.3281
|
||||||
|
vt 1.0000 0.0156
|
||||||
|
vt 1.0000 0.1875
|
||||||
|
vt 0.8750 0.2344
|
||||||
|
vt 0.8750 0.0156
|
||||||
|
vt 0.7500 0.1875
|
||||||
|
vt 0.7500 0.0156
|
||||||
|
vt 0.6250 0.0156
|
||||||
|
vt 0.6875 0.2188
|
||||||
|
vt 0.6250 0.1875
|
||||||
|
vt 0.5000 0.1875
|
||||||
|
vt 0.5000 0.0156
|
||||||
|
vt 0.4375 0.2188
|
||||||
|
vt 0.3750 0.1875
|
||||||
|
vt 0.3750 0.0156
|
||||||
|
vn 1.0000 0.0000 0.0000
|
||||||
|
vn -1.0000 -0.0000 0.0000
|
||||||
|
vn 0.0000 0.0000 1.0000
|
||||||
|
vn 0.0000 0.0000 -1.0000
|
||||||
|
vn 0.0000 1.0000 0.0000
|
||||||
|
vn 0.0000 -1.0000 0.0000
|
||||||
|
vn -0.6302 -0.2971 -0.7173
|
||||||
|
vn 0.6302 -0.2971 -0.7173
|
||||||
|
vn 0.6302 -0.7173 -0.2971
|
||||||
|
vn -0.6302 -0.7173 -0.2971
|
||||||
|
vn 0.6302 -0.7173 0.2971
|
||||||
|
vn -0.6302 -0.7173 0.2971
|
||||||
|
vn 0.6302 -0.2971 0.7173
|
||||||
|
vn -0.6302 -0.2971 0.7173
|
||||||
|
vn 0.6302 0.2971 0.7173
|
||||||
|
vn -0.6302 0.2971 0.7173
|
||||||
|
vn 0.6302 0.7173 0.2971
|
||||||
|
vn -0.6302 0.7173 0.2971
|
||||||
|
vn 0.6302 0.7173 -0.2971
|
||||||
|
vn -0.6302 0.7173 -0.2971
|
||||||
|
vn 0.6302 0.2971 -0.7173
|
||||||
|
vn -0.6302 0.2971 -0.7173
|
||||||
|
vn -0.6303 -0.2971 -0.7173
|
||||||
|
vn -0.6303 -0.7173 -0.2971
|
||||||
|
vn -0.6303 -0.7173 0.2971
|
||||||
|
vn -0.6303 -0.2971 0.7173
|
||||||
|
vn -0.6303 0.2971 0.7173
|
||||||
|
vn -0.6303 0.7173 0.2971
|
||||||
|
vn -0.6303 0.7173 -0.2971
|
||||||
|
vn -0.6303 0.2971 -0.7173
|
||||||
|
vn 0.6303 -0.7173 -0.2971
|
||||||
|
vn 0.6303 -0.2971 -0.7173
|
||||||
|
vn 0.6303 0.2971 -0.7173
|
||||||
|
vn 0.6303 0.7173 -0.2971
|
||||||
|
vn 0.6303 0.7173 0.2971
|
||||||
|
vn 0.6303 0.2971 0.7173
|
||||||
|
vn 0.6303 -0.2971 0.7173
|
||||||
|
vn 0.6303 -0.7173 0.2971
|
||||||
|
vn -0.2971 0.7173 -0.6303
|
||||||
|
vn -0.1101 0.9878 -0.1101
|
||||||
|
vn 0.1101 0.9878 -0.1101
|
||||||
|
vn 0.2971 0.7173 -0.6303
|
||||||
|
vn -0.2971 -0.6303 0.7173
|
||||||
|
vn -0.1101 -0.1101 0.9878
|
||||||
|
vn -0.5789 -0.5789 0.5743
|
||||||
|
vn -0.7173 -0.6303 0.2971
|
||||||
|
vn 0.2971 -0.6303 0.7173
|
||||||
|
vn 0.7173 -0.6303 0.2971
|
||||||
|
vn 0.5789 -0.5789 0.5743
|
||||||
|
vn 0.1101 -0.1101 0.9878
|
||||||
|
vn 0.5789 0.5743 -0.5789
|
||||||
|
vn 0.5789 -0.5789 -0.5743
|
||||||
|
vn 0.5774 -0.5774 -0.5774
|
||||||
|
vn 0.5789 -0.5743 -0.5789
|
||||||
|
vn 0.7173 0.2971 -0.6303
|
||||||
|
vn -0.5789 0.5743 -0.5789
|
||||||
|
vn -0.5789 -0.5743 -0.5789
|
||||||
|
vn -0.5774 -0.5774 -0.5774
|
||||||
|
vn -0.5789 -0.5789 -0.5743
|
||||||
|
vn 0.7173 -0.2971 -0.6302
|
||||||
|
vn 0.7173 -0.2971 0.6302
|
||||||
|
vn 0.2971 -0.7173 0.6302
|
||||||
|
vn 0.2971 -0.7173 -0.6302
|
||||||
|
vn -0.2971 -0.7173 0.6302
|
||||||
|
vn -0.2971 -0.7173 -0.6302
|
||||||
|
vn -0.7173 -0.2971 0.6302
|
||||||
|
vn -0.7173 -0.2971 -0.6302
|
||||||
|
vn -0.7173 0.2971 0.6302
|
||||||
|
vn -0.7173 0.2971 -0.6302
|
||||||
|
vn -0.2971 0.7173 0.6302
|
||||||
|
vn -0.2971 0.7173 -0.6302
|
||||||
|
vn 0.2971 0.7173 0.6302
|
||||||
|
vn 0.2971 0.7173 -0.6302
|
||||||
|
vn 0.7173 0.2971 0.6302
|
||||||
|
vn 0.7173 0.2971 -0.6302
|
||||||
|
vn 0.7173 -0.2971 -0.6303
|
||||||
|
vn 0.2971 -0.7173 -0.6303
|
||||||
|
vn -0.2971 -0.7173 -0.6303
|
||||||
|
vn -0.7173 -0.2971 -0.6303
|
||||||
|
vn -0.7173 0.2971 -0.6303
|
||||||
|
vn -0.5743 -0.5789 -0.5789
|
||||||
|
vn 0.5743 -0.5789 -0.5789
|
||||||
|
vn 0.7173 -0.6302 0.2971
|
||||||
|
vn 0.7173 0.6302 0.2971
|
||||||
|
vn 0.2971 0.6302 0.7173
|
||||||
|
vn 0.2971 -0.6302 0.7173
|
||||||
|
vn -0.2971 0.6302 0.7173
|
||||||
|
vn -0.2971 -0.6302 0.7173
|
||||||
|
vn -0.7173 0.6302 0.2971
|
||||||
|
vn -0.7173 -0.6302 0.2971
|
||||||
|
vn -0.7173 0.6302 -0.2971
|
||||||
|
vn -0.7173 -0.6302 -0.2971
|
||||||
|
vn -0.2971 0.6302 -0.7173
|
||||||
|
vn -0.2971 -0.6302 -0.7173
|
||||||
|
vn 0.2971 0.6302 -0.7173
|
||||||
|
vn 0.2971 -0.6302 -0.7173
|
||||||
|
vn 0.7173 0.6302 -0.2971
|
||||||
|
vn 0.7173 -0.6302 -0.2971
|
||||||
|
vn -0.7173 -0.6303 -0.2971
|
||||||
|
vn -0.2971 -0.6303 -0.7173
|
||||||
|
vn 0.2971 -0.6303 -0.7173
|
||||||
|
vn 0.7173 -0.6303 -0.2971
|
||||||
|
g Cylinder.002_Cylinder.006_None.002_Cylinder.002_Cylinder.006_None.002_None
|
||||||
|
s off
|
||||||
|
f 1/1/1 2/2/1 3/3/1 4/4/1 5/5/1 6/6/1 7/7/1 8/8/1
|
||||||
|
f 9/9/2 10/10/2 11/11/2 12/12/2 13/13/2 14/14/2 15/15/2 16/16/2
|
||||||
|
f 17/17/1 18/18/1 19/19/1 20/20/1 21/21/1 22/22/1 23/23/1 24/24/1
|
||||||
|
f 25/25/2 26/26/2 27/27/2 28/28/2 29/29/2 30/30/2 31/31/2 32/32/2
|
||||||
|
f 33/33/3 34/34/3 35/35/3 36/36/3 37/37/3 38/38/3 39/39/3 40/40/3
|
||||||
|
f 41/41/4 42/42/4 43/43/4 44/44/4 45/45/4 46/46/4 47/47/4 48/48/4
|
||||||
|
f 49/49/5 50/50/5 51/51/5 52/52/5 53/53/5 54/54/5 55/55/5 56/56/5
|
||||||
|
f 57/57/6 58/58/6 59/59/6 60/60/6 61/61/6 62/62/6 63/63/6 64/64/6
|
||||||
|
s 1
|
||||||
|
f 9/65/7 2/66/8 1/67/9 10/68/10
|
||||||
|
f 10/68/10 1/67/9 8/69/11 11/70/12
|
||||||
|
f 11/70/12 8/69/11 7/71/13 12/72/14
|
||||||
|
f 12/73/14 7/74/13 6/75/15 13/76/16
|
||||||
|
f 13/76/16 6/75/15 5/77/17 14/78/18
|
||||||
|
f 14/78/18 5/77/17 4/79/19 15/80/20
|
||||||
|
f 15/80/20 4/79/19 3/81/21 16/82/22
|
||||||
|
f 16/82/22 3/81/21 2/66/8 9/65/7
|
||||||
|
f 26/83/10 17/84/9 24/85/11 27/86/12
|
||||||
|
f 25/87/7 18/88/8 17/84/9 26/83/10
|
||||||
|
f 27/86/12 24/85/11 23/89/13 28/90/14
|
||||||
|
f 28/91/14 23/92/13 22/93/15 29/94/16
|
||||||
|
f 29/94/16 22/93/15 21/95/17 30/96/18
|
||||||
|
f 30/96/18 21/95/17 20/97/19 31/98/20
|
||||||
|
f 31/98/20 20/97/19 19/99/21 32/100/22
|
||||||
|
f 32/100/22 19/99/21 18/88/8 25/87/7
|
||||||
|
f 65/101/23 66/102/24 67/103/25 68/104/26 69/105/27 70/106/28 71/107/29 72/108/30
|
||||||
|
f 73/109/31 74/110/32 75/111/33 76/112/34 77/113/35 78/114/36 79/115/37 80/116/38
|
||||||
|
f 81/117/39 82/118/40 83/119/41 84/120/42
|
||||||
|
f 77/121/35 70/122/28 69/123/27 78/124/36
|
||||||
|
f 85/125/43 86/126/44 87/127/45 88/128/46
|
||||||
|
f 89/129/47 90/130/48 91/131/49 92/132/50
|
||||||
|
f 83/133/41 76/134/34 75/135/33 93/136/51
|
||||||
|
f 89/129/47 92/132/50 86/137/44 85/138/43
|
||||||
|
f 73/139/31 80/140/38 91/141/49 94/142/52
|
||||||
|
f 73/139/31 94/142/52 95/143/53 96/144/54 74/145/32
|
||||||
|
f 74/145/32 96/144/54 93/136/51 75/135/33
|
||||||
|
f 77/121/35 76/134/34 83/133/41 82/146/40 71/147/29 70/122/28
|
||||||
|
f 83/119/41 93/148/51 97/149/55 84/120/42
|
||||||
|
f 65/150/23 72/151/30 98/152/56 99/153/57
|
||||||
|
f 66/154/24 65/150/23 99/153/57 100/155/58 101/156/59
|
||||||
|
f 66/154/24 101/156/59 87/157/45 67/158/25
|
||||||
|
f 41/159/60 34/160/61 33/161/62 42/162/63
|
||||||
|
f 42/162/63 33/161/62 40/163/64 43/164/65
|
||||||
|
f 43/164/65 40/163/64 39/165/66 44/166/67
|
||||||
|
f 44/167/67 39/168/66 38/169/68 45/170/69
|
||||||
|
f 45/170/69 38/169/68 37/171/70 46/172/71
|
||||||
|
f 46/172/71 37/171/70 36/173/72 47/174/73
|
||||||
|
f 47/174/73 36/173/72 35/175/74 48/176/75
|
||||||
|
f 48/176/75 35/175/74 34/160/61 41/159/60
|
||||||
|
f 102/177/76 103/178/77 104/179/78 105/180/79 106/181/80 81/182/39 84/183/42 97/184/55
|
||||||
|
f 104/185/78 107/186/81 100/187/58 99/188/57 105/189/79
|
||||||
|
f 105/189/79 99/188/57 98/190/56 106/191/80
|
||||||
|
f 82/118/40 81/117/39 106/191/80 98/190/56
|
||||||
|
f 102/192/76 97/149/55 93/148/51 96/193/54
|
||||||
|
f 103/194/77 102/192/76 96/193/54 95/195/53 108/196/82
|
||||||
|
f 103/194/77 108/196/82 107/197/81 104/198/78
|
||||||
|
f 57/199/83 50/200/84 49/201/85 58/202/86
|
||||||
|
f 58/202/86 49/201/85 56/203/87 59/204/88
|
||||||
|
f 59/204/88 56/203/87 55/205/89 60/206/90
|
||||||
|
f 60/207/90 55/208/89 54/209/91 61/210/92
|
||||||
|
f 61/210/92 54/209/91 53/211/93 62/212/94
|
||||||
|
f 62/212/94 53/211/93 52/213/95 63/214/96
|
||||||
|
f 63/214/96 52/213/95 51/215/97 64/216/98
|
||||||
|
f 64/216/98 51/215/97 50/200/84 57/199/83
|
||||||
|
f 90/217/48 89/218/47 85/219/43 88/220/46 109/221/99 110/222/100 111/223/101 112/224/102
|
||||||
|
f 82/146/40 98/152/56 72/151/30 71/147/29
|
||||||
|
f 80/225/38 79/226/37 92/227/50 91/228/49
|
||||||
|
f 67/229/25 87/230/45 86/231/44 68/232/26
|
||||||
|
f 86/231/44 92/227/50 79/226/37 78/124/36 69/123/27 68/232/26
|
||||||
|
f 88/128/46 87/127/45 101/233/59 109/234/99
|
||||||
|
f 110/235/100 109/234/99 101/233/59 100/236/58 107/237/81
|
||||||
|
f 110/235/100 107/237/81 108/238/82 111/239/101
|
||||||
|
f 111/239/101 108/238/82 95/240/53 94/241/52 112/242/102
|
||||||
|
f 90/130/48 112/242/102 94/241/52 91/131/49
|
520
models/pipeworks_pipe_8_lowpoly.obj
Normal file
@ -0,0 +1,520 @@
|
|||||||
|
# Blender v2.78 (sub 0) OBJ File: ''
|
||||||
|
# www.blender.org
|
||||||
|
o Cylinder.002_Cylinder.006_None.003_Cylinder.002_Cylinder.00.000
|
||||||
|
v 0.468750 -0.156250 0.064721
|
||||||
|
v 0.468750 -0.064721 0.156250
|
||||||
|
v 0.468750 0.064721 0.156250
|
||||||
|
v 0.468750 0.156250 0.064721
|
||||||
|
v 0.468750 0.156250 -0.064721
|
||||||
|
v 0.468750 0.064721 -0.156250
|
||||||
|
v 0.468750 -0.064721 -0.156250
|
||||||
|
v 0.468750 -0.156250 -0.064721
|
||||||
|
v 0.500000 -0.064721 0.156250
|
||||||
|
v 0.500000 -0.156250 0.064721
|
||||||
|
v 0.500000 -0.156250 -0.064721
|
||||||
|
v 0.500000 -0.064721 -0.156250
|
||||||
|
v 0.500000 0.064721 -0.156250
|
||||||
|
v 0.500000 0.156250 -0.064721
|
||||||
|
v 0.500000 0.156250 0.064721
|
||||||
|
v 0.500000 0.064721 0.156250
|
||||||
|
v -0.500000 -0.156250 0.064721
|
||||||
|
v -0.500000 -0.064721 0.156250
|
||||||
|
v -0.500000 0.064721 0.156250
|
||||||
|
v -0.500000 0.156250 0.064721
|
||||||
|
v -0.500000 0.156250 -0.064721
|
||||||
|
v -0.500000 0.064721 -0.156250
|
||||||
|
v -0.500000 -0.064721 -0.156250
|
||||||
|
v -0.500000 -0.156250 -0.064721
|
||||||
|
v -0.468750 -0.064721 0.156250
|
||||||
|
v -0.468750 -0.156250 0.064721
|
||||||
|
v -0.468750 -0.156250 -0.064721
|
||||||
|
v -0.468750 -0.064721 -0.156250
|
||||||
|
v -0.468750 0.064721 -0.156250
|
||||||
|
v -0.468750 0.156250 -0.064721
|
||||||
|
v -0.468750 0.156250 0.064721
|
||||||
|
v -0.468750 0.064721 0.156250
|
||||||
|
v 0.156250 0.468750 0.064721
|
||||||
|
v 0.064721 0.468750 0.156250
|
||||||
|
v -0.064721 0.468750 0.156250
|
||||||
|
v -0.156250 0.468750 0.064721
|
||||||
|
v -0.156250 0.468750 -0.064721
|
||||||
|
v -0.064721 0.468750 -0.156250
|
||||||
|
v 0.064721 0.468750 -0.156250
|
||||||
|
v 0.156250 0.468750 -0.064721
|
||||||
|
v 0.064721 0.500000 0.156250
|
||||||
|
v 0.156250 0.500000 0.064721
|
||||||
|
v 0.156250 0.500000 -0.064721
|
||||||
|
v 0.064721 0.500000 -0.156250
|
||||||
|
v -0.064721 0.500000 -0.156250
|
||||||
|
v -0.156250 0.500000 -0.064721
|
||||||
|
v -0.156250 0.500000 0.064721
|
||||||
|
v -0.064721 0.500000 0.156250
|
||||||
|
v 0.156250 -0.500000 0.064721
|
||||||
|
v 0.064721 -0.500000 0.156250
|
||||||
|
v -0.064721 -0.500000 0.156250
|
||||||
|
v -0.156250 -0.500000 0.064721
|
||||||
|
v -0.156250 -0.500000 -0.064721
|
||||||
|
v -0.064721 -0.500000 -0.156250
|
||||||
|
v 0.064721 -0.500000 -0.156250
|
||||||
|
v 0.156250 -0.500000 -0.064721
|
||||||
|
v 0.064721 -0.468750 0.156250
|
||||||
|
v 0.156250 -0.468750 0.064721
|
||||||
|
v 0.156250 -0.468750 -0.064721
|
||||||
|
v 0.064721 -0.468750 -0.156250
|
||||||
|
v -0.064721 -0.468750 -0.156250
|
||||||
|
v -0.156250 -0.468750 -0.064721
|
||||||
|
v -0.156250 -0.468750 0.064721
|
||||||
|
v -0.064721 -0.468750 0.156250
|
||||||
|
v 0.468750 -0.051777 0.125000
|
||||||
|
v 0.468750 -0.125000 0.051777
|
||||||
|
v 0.468750 -0.125000 -0.051777
|
||||||
|
v 0.468750 -0.051777 -0.125000
|
||||||
|
v 0.468750 0.051777 -0.125000
|
||||||
|
v 0.468750 0.125000 -0.051777
|
||||||
|
v 0.468750 0.125000 0.051777
|
||||||
|
v 0.468750 0.051777 0.125000
|
||||||
|
v -0.468750 -0.125000 0.051777
|
||||||
|
v -0.468750 -0.051777 0.125000
|
||||||
|
v -0.468750 0.051777 0.125000
|
||||||
|
v -0.468750 0.125000 0.051777
|
||||||
|
v -0.468750 0.125000 -0.051777
|
||||||
|
v -0.468750 0.051777 -0.125000
|
||||||
|
v -0.468750 -0.051777 -0.125000
|
||||||
|
v -0.468750 -0.125000 -0.051777
|
||||||
|
v 0.125000 0.125000 0.051777
|
||||||
|
v 0.051777 0.051777 0.125000
|
||||||
|
v 0.051777 -0.051777 0.125000
|
||||||
|
v 0.125000 -0.125000 0.051777
|
||||||
|
v 0.051777 0.051777 -0.125000
|
||||||
|
v 0.125000 0.125000 -0.051777
|
||||||
|
v -0.051777 -0.051777 -0.125000
|
||||||
|
v -0.125000 -0.125000 -0.051777
|
||||||
|
v -0.125000 -0.125000 0.051777
|
||||||
|
v -0.051777 -0.051777 0.125000
|
||||||
|
v -0.125000 0.125000 -0.051777
|
||||||
|
v -0.051777 0.051777 -0.125000
|
||||||
|
v -0.125000 0.125000 0.051777
|
||||||
|
v 0.125000 -0.125000 -0.051777
|
||||||
|
v 0.051777 0.468750 0.125000
|
||||||
|
v 0.125000 0.468750 0.051777
|
||||||
|
v 0.125000 0.468750 -0.051777
|
||||||
|
v 0.051777 0.468750 -0.125000
|
||||||
|
v -0.051777 0.468750 -0.125000
|
||||||
|
v -0.125000 0.468750 -0.051777
|
||||||
|
v -0.125000 0.468750 0.051777
|
||||||
|
v -0.051777 0.468750 0.125000
|
||||||
|
v 0.125000 -0.468750 0.051777
|
||||||
|
v 0.051777 -0.468750 0.125000
|
||||||
|
v -0.051777 -0.468750 0.125000
|
||||||
|
v -0.125000 -0.468750 0.051777
|
||||||
|
v -0.125000 -0.468750 -0.051777
|
||||||
|
v -0.051777 -0.468750 -0.125000
|
||||||
|
v 0.051777 -0.468750 -0.125000
|
||||||
|
v 0.125000 -0.468750 -0.051777
|
||||||
|
v -0.051777 0.051777 0.125000
|
||||||
|
v 0.051777 -0.051777 -0.125000
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.8125 0.5938
|
||||||
|
vt 0.8125 0.5625
|
||||||
|
vt 0.8750 0.5625
|
||||||
|
vt 0.8750 0.5938
|
||||||
|
vt 0.9375 0.5625
|
||||||
|
vt 0.9375 0.5938
|
||||||
|
vt 1.0000 0.5625
|
||||||
|
vt 1.0000 0.5938
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5625 0.5625
|
||||||
|
vt 0.5625 0.5938
|
||||||
|
vt 0.6250 0.5625
|
||||||
|
vt 0.6250 0.5938
|
||||||
|
vt 0.6875 0.5625
|
||||||
|
vt 0.6875 0.5938
|
||||||
|
vt 0.7500 0.5625
|
||||||
|
vt 0.7500 0.5938
|
||||||
|
vt 0.3750 0.5938
|
||||||
|
vt 0.3750 0.5625
|
||||||
|
vt 0.4375 0.5625
|
||||||
|
vt 0.4375 0.5938
|
||||||
|
vt 0.3125 0.5938
|
||||||
|
vt 0.3125 0.5625
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.0000 0.5938
|
||||||
|
vt 0.0000 0.5625
|
||||||
|
vt 0.0625 0.5625
|
||||||
|
vt 0.0625 0.5938
|
||||||
|
vt 0.1250 0.5625
|
||||||
|
vt 0.1250 0.5938
|
||||||
|
vt 0.1875 0.5625
|
||||||
|
vt 0.1875 0.5938
|
||||||
|
vt 0.2500 0.5625
|
||||||
|
vt 0.2500 0.5938
|
||||||
|
vt 0.0000 1.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 1.0000 0.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 0.5000 0.0156
|
||||||
|
vt 0.5000 0.2031
|
||||||
|
vt 0.3750 0.2344
|
||||||
|
vt 0.3750 0.0156
|
||||||
|
vt 0.1250 0.0156
|
||||||
|
vt 0.2500 0.0156
|
||||||
|
vt 0.2500 0.2344
|
||||||
|
vt 0.1250 0.2031
|
||||||
|
vt 0.6250 0.0156
|
||||||
|
vt 0.7500 0.0156
|
||||||
|
vt 0.7500 0.2344
|
||||||
|
vt 0.6250 0.2031
|
||||||
|
vt 1.0000 0.5156
|
||||||
|
vt 0.8750 0.5156
|
||||||
|
vt 0.8750 0.2969
|
||||||
|
vt 1.0000 0.3281
|
||||||
|
vt 0.1250 0.5156
|
||||||
|
vt 0.1250 0.3281
|
||||||
|
vt 0.2500 0.2969
|
||||||
|
vt 0.2500 0.5156
|
||||||
|
vt 0.6250 0.5156
|
||||||
|
vt 0.6250 0.3281
|
||||||
|
vt 0.7500 0.2969
|
||||||
|
vt 0.7500 0.5156
|
||||||
|
vt 0.5000 0.5156
|
||||||
|
vt 0.5000 0.3281
|
||||||
|
vt -0.0000 0.5156
|
||||||
|
vt -0.0000 0.3281
|
||||||
|
vt -0.0000 0.2031
|
||||||
|
vt -0.0000 0.0156
|
||||||
|
vt 0.8125 0.5938
|
||||||
|
vt 0.8125 0.5625
|
||||||
|
vt 0.8750 0.5625
|
||||||
|
vt 0.8750 0.5938
|
||||||
|
vt 0.9375 0.5625
|
||||||
|
vt 0.9375 0.5938
|
||||||
|
vt 1.0000 0.5625
|
||||||
|
vt 1.0000 0.5938
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5625 0.5625
|
||||||
|
vt 0.5625 0.5938
|
||||||
|
vt 0.6250 0.5625
|
||||||
|
vt 0.6250 0.5938
|
||||||
|
vt 0.6875 0.5625
|
||||||
|
vt 0.6875 0.5938
|
||||||
|
vt 0.7500 0.5625
|
||||||
|
vt 0.7500 0.5938
|
||||||
|
vt 0.3750 0.5938
|
||||||
|
vt 0.3750 0.5625
|
||||||
|
vt 0.4375 0.5625
|
||||||
|
vt 0.4375 0.5938
|
||||||
|
vt 0.3125 0.5938
|
||||||
|
vt 0.3125 0.5625
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.0000 0.5938
|
||||||
|
vt 0.0000 0.5625
|
||||||
|
vt 0.0625 0.5625
|
||||||
|
vt 0.0625 0.5938
|
||||||
|
vt 0.1250 0.5625
|
||||||
|
vt 0.1250 0.5938
|
||||||
|
vt 0.1875 0.5625
|
||||||
|
vt 0.1875 0.5938
|
||||||
|
vt 0.2500 0.5625
|
||||||
|
vt 0.2500 0.5938
|
||||||
|
vt 0.0000 1.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 1.0000 0.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 0.5000 0.0156
|
||||||
|
vt 0.5000 0.2031
|
||||||
|
vt 0.3750 0.2344
|
||||||
|
vt 0.3750 0.0156
|
||||||
|
vt 0.1250 0.0156
|
||||||
|
vt 0.2500 0.0156
|
||||||
|
vt 0.2500 0.2344
|
||||||
|
vt 0.1250 0.2031
|
||||||
|
vt 0.6250 0.0156
|
||||||
|
vt 0.7500 0.0156
|
||||||
|
vt 0.7500 0.2344
|
||||||
|
vt 0.6250 0.2031
|
||||||
|
vt 1.0000 0.0156
|
||||||
|
vt 1.0000 0.2031
|
||||||
|
vt 0.8750 0.2344
|
||||||
|
vt 0.8750 0.0156
|
||||||
|
vt 1.0000 0.5156
|
||||||
|
vt 0.8750 0.5156
|
||||||
|
vt 0.8750 0.2969
|
||||||
|
vt 1.0000 0.3281
|
||||||
|
vt 0.1250 0.5156
|
||||||
|
vt 0.1250 0.3281
|
||||||
|
vt 0.2500 0.2969
|
||||||
|
vt 0.2500 0.5156
|
||||||
|
vt 1.0000 0.0156
|
||||||
|
vt 1.0000 0.2031
|
||||||
|
vt 0.8750 0.2344
|
||||||
|
vt 0.8750 0.0156
|
||||||
|
vt 0.6250 0.5156
|
||||||
|
vt 0.5000 0.5156
|
||||||
|
vt 0.5000 0.3281
|
||||||
|
vt 0.6250 0.3281
|
||||||
|
vt -0.0000 0.5156
|
||||||
|
vt -0.0000 0.3281
|
||||||
|
vt 0.3750 0.5156
|
||||||
|
vt 0.3750 0.2969
|
||||||
|
vt 0.7500 0.2969
|
||||||
|
vt 0.7500 0.5156
|
||||||
|
vt -0.0000 0.2031
|
||||||
|
vt -0.0000 0.0156
|
||||||
|
vt 0.3750 0.5156
|
||||||
|
vt 0.3750 0.2969
|
||||||
|
vn -1.0000 0.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 0.6302 -0.2971 0.7173
|
||||||
|
vn -0.6302 -0.2971 0.7173
|
||||||
|
vn -0.6302 -0.7173 0.2971
|
||||||
|
vn 0.6302 -0.7173 0.2971
|
||||||
|
vn -0.6302 -0.7173 -0.2971
|
||||||
|
vn 0.6302 -0.7173 -0.2971
|
||||||
|
vn -0.6302 -0.2971 -0.7173
|
||||||
|
vn 0.6302 -0.2971 -0.7173
|
||||||
|
vn -0.6302 0.2971 -0.7173
|
||||||
|
vn 0.6302 0.2971 -0.7173
|
||||||
|
vn -0.6302 0.7173 -0.2971
|
||||||
|
vn 0.6302 0.7173 -0.2971
|
||||||
|
vn -0.6302 0.7173 0.2971
|
||||||
|
vn 0.6302 0.7173 0.2971
|
||||||
|
vn -0.6302 0.2971 0.7173
|
||||||
|
vn 0.6302 0.2971 0.7173
|
||||||
|
vn 0.6303 -0.2971 0.7173
|
||||||
|
vn 0.6303 -0.7173 0.2971
|
||||||
|
vn 0.6303 -0.7173 -0.2971
|
||||||
|
vn 0.6303 -0.2971 -0.7173
|
||||||
|
vn 0.6303 0.2971 -0.7173
|
||||||
|
vn 0.6303 0.7173 -0.2971
|
||||||
|
vn 0.6303 0.7173 0.2971
|
||||||
|
vn 0.6303 0.2971 0.7173
|
||||||
|
vn -0.6303 -0.7173 0.2971
|
||||||
|
vn -0.6303 -0.2971 0.7173
|
||||||
|
vn -0.6303 0.2971 0.7173
|
||||||
|
vn -0.6303 0.7173 0.2971
|
||||||
|
vn -0.6303 0.7173 -0.2971
|
||||||
|
vn -0.6303 0.2971 -0.7173
|
||||||
|
vn -0.6303 -0.2971 -0.7173
|
||||||
|
vn -0.6303 -0.7173 -0.2971
|
||||||
|
vn 0.5789 0.5789 0.5743
|
||||||
|
vn 0.1101 0.1101 0.9878
|
||||||
|
vn 0.1101 -0.1101 0.9878
|
||||||
|
vn 0.5789 -0.5789 0.5743
|
||||||
|
vn 0.1101 0.1101 -0.9878
|
||||||
|
vn 0.5789 0.5789 -0.5743
|
||||||
|
vn -0.1101 -0.1101 -0.9878
|
||||||
|
vn -0.5789 -0.5789 -0.5743
|
||||||
|
vn -0.5789 -0.5789 0.5743
|
||||||
|
vn -0.1101 -0.1101 0.9878
|
||||||
|
vn -0.5789 0.5789 -0.5743
|
||||||
|
vn -0.1101 0.1101 -0.9878
|
||||||
|
vn -0.5789 0.5789 0.5743
|
||||||
|
vn 0.5789 -0.5789 -0.5743
|
||||||
|
vn 0.2971 0.6302 0.7173
|
||||||
|
vn 0.2971 -0.6302 0.7173
|
||||||
|
vn 0.7173 -0.6302 0.2971
|
||||||
|
vn 0.7173 0.6302 0.2971
|
||||||
|
vn 0.7173 -0.6302 -0.2971
|
||||||
|
vn 0.7173 0.6302 -0.2971
|
||||||
|
vn 0.2971 -0.6302 -0.7173
|
||||||
|
vn 0.2971 0.6302 -0.7173
|
||||||
|
vn -0.2971 -0.6302 -0.7173
|
||||||
|
vn -0.2971 0.6302 -0.7173
|
||||||
|
vn -0.7173 -0.6302 -0.2971
|
||||||
|
vn -0.7173 0.6302 -0.2971
|
||||||
|
vn -0.7173 -0.6302 0.2971
|
||||||
|
vn -0.7173 0.6302 0.2971
|
||||||
|
vn -0.2971 -0.6302 0.7173
|
||||||
|
vn -0.2971 0.6302 0.7173
|
||||||
|
vn 0.2971 0.6303 0.7173
|
||||||
|
vn 0.7173 0.6303 0.2971
|
||||||
|
vn 0.7173 0.6303 -0.2971
|
||||||
|
vn 0.2971 0.6303 -0.7173
|
||||||
|
vn -0.2971 0.6303 -0.7173
|
||||||
|
vn -0.7173 0.6303 -0.2971
|
||||||
|
vn -0.7173 0.6303 0.2971
|
||||||
|
vn -0.2971 0.6303 0.7173
|
||||||
|
vn 0.7173 -0.6303 0.2971
|
||||||
|
vn 0.2971 -0.6303 0.7173
|
||||||
|
vn -0.2971 -0.6303 0.7173
|
||||||
|
vn -0.7173 -0.6303 0.2971
|
||||||
|
vn -0.7173 -0.6303 -0.2971
|
||||||
|
vn -0.2971 -0.6303 -0.7173
|
||||||
|
vn 0.2971 -0.6303 -0.7173
|
||||||
|
vn 0.7173 -0.6303 -0.2971
|
||||||
|
vn -0.1101 0.1101 0.9878
|
||||||
|
vn 0.1101 -0.1101 -0.9878
|
||||||
|
g Cylinder.002_Cylinder.006_None.003_Cylinder.002_Cylinder.00.000_Cylinder.002_Cylinder.006_None.003_Cylinder.002_Cylinder.00.000_None
|
||||||
|
s off
|
||||||
|
f 1/1/1 2/2/1 3/3/1 4/4/1 5/5/1 6/6/1 7/7/1 8/8/1
|
||||||
|
f 9/9/2 10/10/2 11/11/2 12/12/2 13/13/2 14/14/2 15/15/2 16/16/2
|
||||||
|
f 17/17/1 18/18/1 19/19/1 20/20/1 21/21/1 22/22/1 23/23/1 24/24/1
|
||||||
|
f 25/25/2 26/26/2 27/27/2 28/28/2 29/29/2 30/30/2 31/31/2 32/32/2
|
||||||
|
f 33/33/3 34/34/3 35/35/3 36/36/3 37/37/3 38/38/3 39/39/3 40/40/3
|
||||||
|
f 41/41/4 42/42/4 43/43/4 44/44/4 45/45/4 46/46/4 47/47/4 48/48/4
|
||||||
|
f 49/49/3 50/50/3 51/51/3 52/52/3 53/53/3 54/54/3 55/55/3 56/56/3
|
||||||
|
f 57/57/4 58/58/4 59/59/4 60/60/4 61/61/4 62/62/4 63/63/4 64/64/4
|
||||||
|
s 1
|
||||||
|
f 9/65/5 2/66/6 1/67/7 10/68/8
|
||||||
|
f 10/68/8 1/67/7 8/69/9 11/70/10
|
||||||
|
f 11/70/10 8/69/9 7/71/11 12/72/12
|
||||||
|
f 12/73/12 7/74/11 6/75/13 13/76/14
|
||||||
|
f 13/76/14 6/75/13 5/77/15 14/78/16
|
||||||
|
f 14/78/16 5/77/15 4/79/17 15/80/18
|
||||||
|
f 15/80/18 4/79/17 3/81/19 16/82/20
|
||||||
|
f 16/82/20 3/81/19 2/66/6 9/65/5
|
||||||
|
f 26/83/8 17/84/7 24/85/9 27/86/10
|
||||||
|
f 25/87/5 18/88/6 17/84/7 26/83/8
|
||||||
|
f 27/86/10 24/85/9 23/89/11 28/90/12
|
||||||
|
f 28/91/12 23/92/11 22/93/13 29/94/14
|
||||||
|
f 29/94/14 22/93/13 21/95/15 30/96/16
|
||||||
|
f 30/96/16 21/95/15 20/97/17 31/98/18
|
||||||
|
f 31/98/18 20/97/17 19/99/19 32/100/20
|
||||||
|
f 32/100/20 19/99/19 18/88/6 25/87/5
|
||||||
|
f 65/101/21 66/102/22 67/103/23 68/104/24 69/105/25 70/106/26 71/107/27 72/108/28
|
||||||
|
f 73/109/29 74/110/30 75/111/31 76/112/32 77/113/33 78/114/34 79/115/35 80/116/36
|
||||||
|
f 71/117/27 81/118/37 82/119/38 72/120/28
|
||||||
|
f 66/121/22 65/122/21 83/123/39 84/124/40
|
||||||
|
f 70/125/26 69/126/25 85/127/41 86/128/42
|
||||||
|
f 80/129/36 79/130/35 87/131/43 88/132/44
|
||||||
|
f 73/133/29 89/134/45 90/135/46 74/136/30
|
||||||
|
f 77/137/33 91/138/47 92/139/48 78/140/34
|
||||||
|
f 77/137/33 76/141/32 93/142/49 91/138/47
|
||||||
|
f 73/133/29 80/143/36 88/144/44 89/134/45
|
||||||
|
f 70/125/26 86/128/42 81/118/37 71/117/27
|
||||||
|
f 66/121/22 84/124/40 94/145/50 67/146/23
|
||||||
|
f 41/147/51 34/148/52 33/149/53 42/150/54
|
||||||
|
f 42/150/54 33/149/53 40/151/55 43/152/56
|
||||||
|
f 43/152/56 40/151/55 39/153/57 44/154/58
|
||||||
|
f 44/155/58 39/156/57 38/157/59 45/158/60
|
||||||
|
f 45/158/60 38/157/59 37/159/61 46/160/62
|
||||||
|
f 46/160/62 37/159/61 36/161/63 47/162/64
|
||||||
|
f 47/162/64 36/161/63 35/163/65 48/164/66
|
||||||
|
f 48/164/66 35/163/65 34/148/52 41/147/51
|
||||||
|
f 58/165/54 49/166/53 56/167/55 59/168/56
|
||||||
|
f 57/169/51 50/170/52 49/166/53 58/165/54
|
||||||
|
f 59/168/56 56/167/55 55/171/57 60/172/58
|
||||||
|
f 60/173/58 55/174/57 54/175/59 61/176/60
|
||||||
|
f 61/176/60 54/175/59 53/177/61 62/178/62
|
||||||
|
f 62/178/62 53/177/61 52/179/63 63/180/64
|
||||||
|
f 63/180/64 52/179/63 51/181/65 64/182/66
|
||||||
|
f 64/182/66 51/181/65 50/170/52 57/169/51
|
||||||
|
f 95/183/67 96/184/68 97/185/69 98/186/70 99/187/71 100/188/72 101/189/73 102/190/74
|
||||||
|
f 103/191/75 104/192/76 105/193/77 106/194/78 107/195/79 108/196/80 109/197/81 110/198/82
|
||||||
|
f 101/199/73 93/200/49 111/201/83 102/202/74
|
||||||
|
f 96/203/68 95/204/67 82/205/38 81/206/37
|
||||||
|
f 100/207/72 99/208/71 92/209/48 91/210/47
|
||||||
|
f 97/211/69 86/212/42 85/213/41 98/214/70
|
||||||
|
f 110/215/82 109/216/81 112/217/84 94/218/50
|
||||||
|
f 103/219/75 84/220/40 83/221/39 104/222/76
|
||||||
|
f 67/223/23 94/224/50 112/225/84 68/226/24
|
||||||
|
f 107/227/79 106/228/78 89/229/45 88/230/44
|
||||||
|
f 103/219/75 110/231/82 94/232/50 84/220/40
|
||||||
|
f 105/233/77 90/234/46 89/229/45 106/228/78
|
||||||
|
f 107/227/79 88/230/44 87/235/43 108/236/80
|
||||||
|
f 100/207/72 91/210/47 93/200/49 101/199/73
|
||||||
|
f 96/203/68 81/206/37 86/237/42 97/238/69
|
||||||
|
f 75/239/31 111/240/83 93/142/49 76/141/32
|
||||||
|
f 68/226/24 112/217/84 85/127/41 69/126/25
|
||||||
|
f 108/236/80 87/131/43 112/217/84 109/216/81
|
||||||
|
f 87/131/43 79/130/35 78/140/34 92/209/48
|
||||||
|
f 112/217/84 87/131/43 92/209/48 85/127/41
|
||||||
|
f 104/222/76 83/123/39 90/234/46 105/233/77
|
||||||
|
f 72/120/28 82/205/38 83/123/39 65/122/21
|
||||||
|
f 82/205/38 95/204/67 102/202/74 111/240/83
|
||||||
|
f 83/123/39 82/205/38 111/240/83 90/234/46
|
||||||
|
f 92/209/48 99/208/71 98/214/70 85/127/41
|
||||||
|
f 111/240/83 75/239/31 74/136/30 90/234/46
|
682
models/pipeworks_pipe_9_lowpoly.obj
Normal file
@ -0,0 +1,682 @@
|
|||||||
|
# Blender v2.78 (sub 0) OBJ File: ''
|
||||||
|
# www.blender.org
|
||||||
|
o Cylinder.002_Cylinder.006_None.004_Cylinder.002_Cylinder.006_No
|
||||||
|
v -0.468750 -0.156250 -0.064721
|
||||||
|
v -0.468750 -0.064721 -0.156250
|
||||||
|
v -0.468750 0.064721 -0.156250
|
||||||
|
v -0.468750 0.156250 -0.064721
|
||||||
|
v -0.468750 0.156250 0.064721
|
||||||
|
v -0.468750 0.064721 0.156250
|
||||||
|
v -0.468750 -0.064721 0.156250
|
||||||
|
v -0.468750 -0.156250 0.064721
|
||||||
|
v -0.500000 -0.064721 -0.156250
|
||||||
|
v -0.500000 -0.156250 -0.064721
|
||||||
|
v -0.500000 -0.156250 0.064721
|
||||||
|
v -0.500000 -0.064721 0.156250
|
||||||
|
v -0.500000 0.064721 0.156250
|
||||||
|
v -0.500000 0.156250 0.064721
|
||||||
|
v -0.500000 0.156250 -0.064721
|
||||||
|
v -0.500000 0.064721 -0.156250
|
||||||
|
v 0.500000 -0.156250 -0.064721
|
||||||
|
v 0.500000 -0.064721 -0.156250
|
||||||
|
v 0.500000 0.064721 -0.156250
|
||||||
|
v 0.500000 0.156250 -0.064721
|
||||||
|
v 0.500000 0.156250 0.064721
|
||||||
|
v 0.500000 0.064721 0.156250
|
||||||
|
v 0.500000 -0.064721 0.156250
|
||||||
|
v 0.500000 -0.156250 0.064721
|
||||||
|
v 0.468750 -0.064721 -0.156250
|
||||||
|
v 0.468750 -0.156250 -0.064721
|
||||||
|
v 0.468750 -0.156250 0.064721
|
||||||
|
v 0.468750 -0.064721 0.156250
|
||||||
|
v 0.468750 0.064721 0.156250
|
||||||
|
v 0.468750 0.156250 0.064721
|
||||||
|
v 0.468750 0.156250 -0.064721
|
||||||
|
v 0.468750 0.064721 -0.156250
|
||||||
|
v -0.156250 0.468750 -0.064721
|
||||||
|
v -0.064721 0.468750 -0.156250
|
||||||
|
v 0.064721 0.468750 -0.156250
|
||||||
|
v 0.156250 0.468750 -0.064721
|
||||||
|
v 0.156250 0.468750 0.064721
|
||||||
|
v 0.064721 0.468750 0.156250
|
||||||
|
v -0.064721 0.468750 0.156250
|
||||||
|
v -0.156250 0.468750 0.064721
|
||||||
|
v -0.064721 0.500000 -0.156250
|
||||||
|
v -0.156250 0.500000 -0.064721
|
||||||
|
v -0.156250 0.500000 0.064721
|
||||||
|
v -0.064721 0.500000 0.156250
|
||||||
|
v 0.064721 0.500000 0.156250
|
||||||
|
v 0.156250 0.500000 0.064721
|
||||||
|
v 0.156250 0.500000 -0.064721
|
||||||
|
v 0.064721 0.500000 -0.156250
|
||||||
|
v -0.156250 -0.500000 -0.064721
|
||||||
|
v -0.064721 -0.500000 -0.156250
|
||||||
|
v 0.064721 -0.500000 -0.156250
|
||||||
|
v 0.156250 -0.500000 -0.064721
|
||||||
|
v 0.156250 -0.500000 0.064721
|
||||||
|
v 0.064721 -0.500000 0.156250
|
||||||
|
v -0.064721 -0.500000 0.156250
|
||||||
|
v -0.156250 -0.500000 0.064721
|
||||||
|
v -0.064721 -0.468750 -0.156250
|
||||||
|
v -0.156250 -0.468750 -0.064721
|
||||||
|
v -0.156250 -0.468750 0.064721
|
||||||
|
v -0.064721 -0.468750 0.156250
|
||||||
|
v 0.064721 -0.468750 0.156250
|
||||||
|
v 0.156250 -0.468750 0.064721
|
||||||
|
v 0.156250 -0.468750 -0.064721
|
||||||
|
v 0.064721 -0.468750 -0.156250
|
||||||
|
v -0.156250 -0.064721 -0.468750
|
||||||
|
v -0.064721 -0.156250 -0.468750
|
||||||
|
v 0.064721 -0.156250 -0.468750
|
||||||
|
v 0.156250 -0.064721 -0.468750
|
||||||
|
v 0.156250 0.064721 -0.468750
|
||||||
|
v 0.064721 0.156250 -0.468750
|
||||||
|
v -0.064721 0.156250 -0.468750
|
||||||
|
v -0.156250 0.064721 -0.468750
|
||||||
|
v -0.064721 -0.156250 -0.500000
|
||||||
|
v -0.156250 -0.064721 -0.500000
|
||||||
|
v -0.156250 0.064721 -0.500000
|
||||||
|
v -0.064721 0.156250 -0.500000
|
||||||
|
v 0.064721 0.156250 -0.500000
|
||||||
|
v 0.156250 0.064721 -0.500000
|
||||||
|
v 0.156250 -0.064721 -0.500000
|
||||||
|
v 0.064721 -0.156250 -0.500000
|
||||||
|
v -0.468750 -0.051777 -0.125000
|
||||||
|
v -0.468750 -0.125000 -0.051777
|
||||||
|
v -0.468750 -0.125000 0.051777
|
||||||
|
v -0.468750 -0.051777 0.125000
|
||||||
|
v -0.468750 0.051777 0.125000
|
||||||
|
v -0.468750 0.125000 0.051777
|
||||||
|
v -0.468750 0.125000 -0.051777
|
||||||
|
v -0.468750 0.051777 -0.125000
|
||||||
|
v 0.468750 -0.125000 -0.051777
|
||||||
|
v 0.468750 -0.051777 -0.125000
|
||||||
|
v 0.468750 0.051777 -0.125000
|
||||||
|
v 0.468750 0.125000 -0.051777
|
||||||
|
v 0.468750 0.125000 0.051777
|
||||||
|
v 0.468750 0.051777 0.125000
|
||||||
|
v 0.468750 -0.051777 0.125000
|
||||||
|
v 0.468750 -0.125000 0.051777
|
||||||
|
v -0.051777 0.051777 0.125000
|
||||||
|
v -0.125000 0.125000 0.051777
|
||||||
|
v 0.125000 0.125000 -0.051777
|
||||||
|
v 0.125000 0.125000 0.051777
|
||||||
|
v -0.051777 -0.051777 0.125000
|
||||||
|
v -0.125000 -0.125000 0.051777
|
||||||
|
v 0.125000 -0.125000 0.051777
|
||||||
|
v 0.125000 -0.125000 -0.051777
|
||||||
|
v 0.088388 -0.088388 -0.088388
|
||||||
|
v 0.125000 -0.051777 -0.125000
|
||||||
|
v 0.125000 0.051777 -0.125000
|
||||||
|
v 0.088388 0.088388 -0.088388
|
||||||
|
v 0.051777 -0.051777 0.125000
|
||||||
|
v 0.051777 -0.468750 0.125000
|
||||||
|
v 0.125000 -0.468750 0.051777
|
||||||
|
v -0.051777 0.468750 0.125000
|
||||||
|
v -0.051777 -0.468750 0.125000
|
||||||
|
v 0.051777 0.051777 0.125000
|
||||||
|
v 0.051777 0.468750 0.125000
|
||||||
|
v -0.125000 0.125000 -0.051777
|
||||||
|
v -0.088388 0.088388 -0.088388
|
||||||
|
v -0.125000 0.051777 -0.125000
|
||||||
|
v -0.125000 -0.051777 -0.125000
|
||||||
|
v -0.088388 -0.088388 -0.088388
|
||||||
|
v -0.125000 -0.125000 -0.051777
|
||||||
|
v -0.051777 0.468750 -0.125000
|
||||||
|
v -0.125000 0.468750 -0.051777
|
||||||
|
v -0.125000 0.468750 0.051777
|
||||||
|
v 0.125000 0.468750 0.051777
|
||||||
|
v 0.125000 0.468750 -0.051777
|
||||||
|
v 0.051777 0.468750 -0.125000
|
||||||
|
v -0.125000 -0.468750 -0.051777
|
||||||
|
v -0.051777 -0.468750 -0.125000
|
||||||
|
v 0.051777 -0.468750 -0.125000
|
||||||
|
v 0.125000 -0.468750 -0.051777
|
||||||
|
v -0.125000 -0.468750 0.051777
|
||||||
|
v -0.051777 -0.125000 -0.125000
|
||||||
|
v 0.051777 -0.125000 -0.125000
|
||||||
|
v 0.051777 0.125000 -0.125000
|
||||||
|
v -0.051777 0.125000 -0.125000
|
||||||
|
v -0.051777 -0.125000 -0.468750
|
||||||
|
v -0.125000 -0.051777 -0.468750
|
||||||
|
v -0.125000 0.051777 -0.468750
|
||||||
|
v -0.051777 0.125000 -0.468750
|
||||||
|
v 0.051777 0.125000 -0.468750
|
||||||
|
v 0.125000 0.051777 -0.468750
|
||||||
|
v 0.125000 -0.051777 -0.468750
|
||||||
|
v 0.051777 -0.125000 -0.468750
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.8125 0.5938
|
||||||
|
vt 0.8125 0.5625
|
||||||
|
vt 0.8750 0.5625
|
||||||
|
vt 0.8750 0.5938
|
||||||
|
vt 0.9375 0.5625
|
||||||
|
vt 0.9375 0.5938
|
||||||
|
vt 1.0000 0.5625
|
||||||
|
vt 1.0000 0.5938
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5625 0.5625
|
||||||
|
vt 0.5625 0.5938
|
||||||
|
vt 0.6250 0.5625
|
||||||
|
vt 0.6250 0.5938
|
||||||
|
vt 0.6875 0.5625
|
||||||
|
vt 0.6875 0.5938
|
||||||
|
vt 0.7500 0.5625
|
||||||
|
vt 0.7500 0.5938
|
||||||
|
vt 0.3750 0.5938
|
||||||
|
vt 0.3750 0.5625
|
||||||
|
vt 0.4375 0.5625
|
||||||
|
vt 0.4375 0.5938
|
||||||
|
vt 0.3125 0.5938
|
||||||
|
vt 0.3125 0.5625
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.0000 0.5938
|
||||||
|
vt 0.0000 0.5625
|
||||||
|
vt 0.0625 0.5625
|
||||||
|
vt 0.0625 0.5938
|
||||||
|
vt 0.1250 0.5625
|
||||||
|
vt 0.1250 0.5938
|
||||||
|
vt 0.1875 0.5625
|
||||||
|
vt 0.1875 0.5938
|
||||||
|
vt 0.2500 0.5625
|
||||||
|
vt 0.2500 0.5938
|
||||||
|
vt 0.0000 1.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 1.0000 0.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 0.7500 0.2344
|
||||||
|
vt 0.6250 0.2031
|
||||||
|
vt 0.6250 0.0156
|
||||||
|
vt 0.7500 0.0156
|
||||||
|
vt 0.6250 0.5156
|
||||||
|
vt 0.5000 0.5156
|
||||||
|
vt 0.5000 0.3281
|
||||||
|
vt 0.6250 0.3281
|
||||||
|
vt 0.8750 0.2344
|
||||||
|
vt 0.8750 0.0156
|
||||||
|
vt 1.0000 0.0156
|
||||||
|
vt 1.0000 0.2031
|
||||||
|
vt 0.1250 0.5156
|
||||||
|
vt -0.0000 0.5156
|
||||||
|
vt -0.0000 0.3281
|
||||||
|
vt 0.1250 0.3281
|
||||||
|
vt 0.1875 0.3125
|
||||||
|
vt 0.2500 0.3281
|
||||||
|
vt 0.2500 0.5156
|
||||||
|
vt 0.3750 0.3281
|
||||||
|
vt 0.3750 0.5156
|
||||||
|
vt 0.4375 0.3125
|
||||||
|
vt 0.7500 0.2969
|
||||||
|
vt 0.7500 0.5156
|
||||||
|
vt 0.6250 0.5156
|
||||||
|
vt 0.6250 0.3281
|
||||||
|
vt 0.5000 0.2031
|
||||||
|
vt 0.5000 0.0156
|
||||||
|
vt 0.4375 0.2188
|
||||||
|
vt 0.3750 0.2031
|
||||||
|
vt 0.3750 0.0156
|
||||||
|
vt 0.2500 0.0156
|
||||||
|
vt 0.2500 0.2031
|
||||||
|
vt 0.1250 0.0156
|
||||||
|
vt 0.1875 0.2188
|
||||||
|
vt 0.1250 0.2031
|
||||||
|
vt -0.0000 0.2031
|
||||||
|
vt -0.0000 0.0156
|
||||||
|
vt 0.8125 0.5938
|
||||||
|
vt 0.8125 0.5625
|
||||||
|
vt 0.8750 0.5625
|
||||||
|
vt 0.8750 0.5938
|
||||||
|
vt 0.9375 0.5625
|
||||||
|
vt 0.9375 0.5938
|
||||||
|
vt 1.0000 0.5625
|
||||||
|
vt 1.0000 0.5938
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5625 0.5625
|
||||||
|
vt 0.5625 0.5938
|
||||||
|
vt 0.6250 0.5625
|
||||||
|
vt 0.6250 0.5938
|
||||||
|
vt 0.6875 0.5625
|
||||||
|
vt 0.6875 0.5938
|
||||||
|
vt 0.7500 0.5625
|
||||||
|
vt 0.7500 0.5938
|
||||||
|
vt 0.3750 0.5938
|
||||||
|
vt 0.3750 0.5625
|
||||||
|
vt 0.4375 0.5625
|
||||||
|
vt 0.4375 0.5938
|
||||||
|
vt 0.3125 0.5938
|
||||||
|
vt 0.3125 0.5625
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.0000 0.5938
|
||||||
|
vt 0.0000 0.5625
|
||||||
|
vt 0.0625 0.5625
|
||||||
|
vt 0.0625 0.5938
|
||||||
|
vt 0.1250 0.5625
|
||||||
|
vt 0.1250 0.5938
|
||||||
|
vt 0.1875 0.5625
|
||||||
|
vt 0.1875 0.5938
|
||||||
|
vt 0.2500 0.5625
|
||||||
|
vt 0.2500 0.5938
|
||||||
|
vt 0.0000 1.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 1.0000 0.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 1.0000 1.0000
|
||||||
|
vt 0.8750 0.2969
|
||||||
|
vt 1.0000 0.3281
|
||||||
|
vt 1.0000 0.5156
|
||||||
|
vt 0.8750 0.5156
|
||||||
|
vt 0.5000 0.5156
|
||||||
|
vt 0.5000 0.3281
|
||||||
|
vt 0.8750 0.2969
|
||||||
|
vt 1.0000 0.3281
|
||||||
|
vt 1.0000 0.5156
|
||||||
|
vt 0.8750 0.5156
|
||||||
|
vt 0.7500 0.0156
|
||||||
|
vt 0.7500 0.2344
|
||||||
|
vt 0.6250 0.2031
|
||||||
|
vt 0.6250 0.0156
|
||||||
|
vt 0.1250 0.5156
|
||||||
|
vt -0.0000 0.5156
|
||||||
|
vt -0.0000 0.3281
|
||||||
|
vt 0.1250 0.3281
|
||||||
|
vt 0.1875 0.3125
|
||||||
|
vt 0.2500 0.3281
|
||||||
|
vt 0.2500 0.5156
|
||||||
|
vt 0.3750 0.3281
|
||||||
|
vt 0.3750 0.5156
|
||||||
|
vt 0.4375 0.3125
|
||||||
|
vt 0.8750 0.2344
|
||||||
|
vt 0.8750 0.0156
|
||||||
|
vt 1.0000 0.0156
|
||||||
|
vt 1.0000 0.2031
|
||||||
|
vt 0.5000 0.2031
|
||||||
|
vt 0.5000 0.0156
|
||||||
|
vt 0.4375 0.2188
|
||||||
|
vt 0.3750 0.2031
|
||||||
|
vt 0.3750 0.0156
|
||||||
|
vt 0.2500 0.0156
|
||||||
|
vt 0.2500 0.2031
|
||||||
|
vt 0.1250 0.0156
|
||||||
|
vt 0.1875 0.2188
|
||||||
|
vt 0.1250 0.2031
|
||||||
|
vt -0.0000 0.2031
|
||||||
|
vt -0.0000 0.0156
|
||||||
|
vt 0.8125 0.5938
|
||||||
|
vt 0.8125 0.5625
|
||||||
|
vt 0.8750 0.5625
|
||||||
|
vt 0.8750 0.5938
|
||||||
|
vt 0.9375 0.5625
|
||||||
|
vt 0.9375 0.5938
|
||||||
|
vt 1.0000 0.5625
|
||||||
|
vt 1.0000 0.5938
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5625 0.5625
|
||||||
|
vt 0.5625 0.5938
|
||||||
|
vt 0.6250 0.5625
|
||||||
|
vt 0.6250 0.5938
|
||||||
|
vt 0.6875 0.5625
|
||||||
|
vt 0.6875 0.5938
|
||||||
|
vt 0.7500 0.5625
|
||||||
|
vt 0.7500 0.5938
|
||||||
|
vt 0.0000 1.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.0000 0.0000
|
||||||
|
vt 0.7500 0.2969
|
||||||
|
vt 0.7500 0.5156
|
||||||
|
vt 1.0000 0.0156
|
||||||
|
vt 1.0000 0.2031
|
||||||
|
vt 0.9375 0.2188
|
||||||
|
vt 0.8750 0.2031
|
||||||
|
vt 0.8750 0.0156
|
||||||
|
vt 0.7500 0.2031
|
||||||
|
vt 0.7500 0.0156
|
||||||
|
vt 0.6250 0.0156
|
||||||
|
vt 0.6875 0.2188
|
||||||
|
vt 0.6250 0.2031
|
||||||
|
vt 0.5000 0.2031
|
||||||
|
vt 0.5000 0.0156
|
||||||
|
vt 0.4375 0.2188
|
||||||
|
vt 0.3750 0.2031
|
||||||
|
vt 0.3750 0.0156
|
||||||
|
vt 0.2500 0.0156
|
||||||
|
vt 0.2500 0.2031
|
||||||
|
vt 0.1250 0.0156
|
||||||
|
vt 0.1250 0.2031
|
||||||
|
vt -0.0000 0.2031
|
||||||
|
vt -0.0000 0.0156
|
||||||
|
vn 1.0000 0.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 0.0000 -0.0000 1.0000
|
||||||
|
vn -0.0000 0.0000 -1.0000
|
||||||
|
vn -0.6302 -0.2972 -0.7173
|
||||||
|
vn 0.6302 -0.2970 -0.7174
|
||||||
|
vn 0.6302 -0.7173 -0.2971
|
||||||
|
vn -0.6302 -0.7173 -0.2971
|
||||||
|
vn 0.6302 -0.7173 0.2971
|
||||||
|
vn -0.6302 -0.7173 0.2971
|
||||||
|
vn 0.6302 -0.2971 0.7173
|
||||||
|
vn -0.6302 -0.2971 0.7173
|
||||||
|
vn 0.6302 0.2971 0.7173
|
||||||
|
vn -0.6302 0.2971 0.7173
|
||||||
|
vn 0.6302 0.7173 0.2971
|
||||||
|
vn -0.6302 0.7173 0.2971
|
||||||
|
vn 0.6302 0.7173 -0.2971
|
||||||
|
vn -0.6302 0.7173 -0.2971
|
||||||
|
vn 0.6302 0.2972 -0.7173
|
||||||
|
vn -0.6302 0.2970 -0.7174
|
||||||
|
vn -0.6302 -0.2971 -0.7173
|
||||||
|
vn 0.6302 -0.2971 -0.7173
|
||||||
|
vn 0.6302 -0.2972 0.7173
|
||||||
|
vn -0.6302 -0.2970 0.7174
|
||||||
|
vn 0.6302 0.2970 0.7174
|
||||||
|
vn -0.6302 0.2972 0.7173
|
||||||
|
vn 0.6302 0.2971 -0.7173
|
||||||
|
vn -0.6302 0.2971 -0.7173
|
||||||
|
vn -0.6303 -0.2971 -0.7173
|
||||||
|
vn -0.6303 -0.7173 -0.2971
|
||||||
|
vn -0.6303 -0.7173 0.2971
|
||||||
|
vn -0.6303 -0.2971 0.7173
|
||||||
|
vn -0.6303 0.2971 0.7173
|
||||||
|
vn -0.6303 0.7173 0.2971
|
||||||
|
vn -0.6303 0.7173 -0.2971
|
||||||
|
vn -0.6303 0.2971 -0.7173
|
||||||
|
vn 0.6303 -0.7173 -0.2971
|
||||||
|
vn 0.6303 -0.2971 -0.7173
|
||||||
|
vn 0.6303 0.2971 -0.7173
|
||||||
|
vn 0.6303 0.7173 -0.2971
|
||||||
|
vn 0.6303 0.7173 0.2971
|
||||||
|
vn 0.6303 0.2971 0.7173
|
||||||
|
vn 0.6303 -0.2971 0.7173
|
||||||
|
vn 0.6303 -0.7173 0.2971
|
||||||
|
vn -0.1100 0.1101 0.9878
|
||||||
|
vn -0.5789 0.5789 0.5743
|
||||||
|
vn 0.5789 0.5789 -0.5743
|
||||||
|
vn 0.5789 0.5789 0.5743
|
||||||
|
vn -0.1100 -0.1101 0.9878
|
||||||
|
vn -0.5789 -0.5789 0.5743
|
||||||
|
vn 0.5789 -0.5789 0.5743
|
||||||
|
vn 0.5789 -0.5789 -0.5743
|
||||||
|
vn 0.5774 -0.5774 -0.5774
|
||||||
|
vn 0.5789 -0.5743 -0.5789
|
||||||
|
vn 0.5789 0.5743 -0.5789
|
||||||
|
vn 0.5774 0.5774 -0.5774
|
||||||
|
vn 0.1101 -0.1101 0.9878
|
||||||
|
vn 0.2971 -0.6303 0.7173
|
||||||
|
vn 0.7173 -0.6303 0.2971
|
||||||
|
vn -0.5789 0.5789 -0.5743
|
||||||
|
vn -0.5774 0.5774 -0.5774
|
||||||
|
vn -0.5789 0.5743 -0.5789
|
||||||
|
vn -0.5789 -0.5743 -0.5789
|
||||||
|
vn -0.5774 -0.5774 -0.5774
|
||||||
|
vn -0.5789 -0.5789 -0.5743
|
||||||
|
vn -0.2972 0.6302 -0.7173
|
||||||
|
vn -0.2970 -0.6302 -0.7174
|
||||||
|
vn -0.7173 -0.6302 -0.2972
|
||||||
|
vn -0.7174 0.6302 -0.2970
|
||||||
|
vn -0.7173 -0.6302 0.2971
|
||||||
|
vn -0.7173 0.6302 0.2971
|
||||||
|
vn -0.2971 -0.6302 0.7173
|
||||||
|
vn -0.2971 0.6302 0.7173
|
||||||
|
vn 0.2970 -0.6302 0.7174
|
||||||
|
vn 0.2972 0.6302 0.7173
|
||||||
|
vn 0.7173 -0.6302 0.2972
|
||||||
|
vn 0.7174 0.6302 0.2970
|
||||||
|
vn 0.7173 -0.6302 -0.2971
|
||||||
|
vn 0.7173 0.6302 -0.2971
|
||||||
|
vn 0.2971 -0.6302 -0.7173
|
||||||
|
vn 0.2971 0.6302 -0.7173
|
||||||
|
vn -0.2971 0.6303 -0.7173
|
||||||
|
vn -0.7173 0.6303 -0.2971
|
||||||
|
vn -0.7173 0.6303 0.2971
|
||||||
|
vn -0.2971 0.6303 0.7173
|
||||||
|
vn 0.2971 0.6303 0.7173
|
||||||
|
vn 0.7173 0.6303 0.2971
|
||||||
|
vn 0.7173 0.6303 -0.2971
|
||||||
|
vn 0.2971 0.6303 -0.7173
|
||||||
|
vn -0.7173 -0.6303 -0.2971
|
||||||
|
vn -0.2971 -0.6303 -0.7173
|
||||||
|
vn 0.2971 -0.6303 -0.7173
|
||||||
|
vn 0.7173 -0.6303 -0.2971
|
||||||
|
vn -0.2971 -0.6303 0.7173
|
||||||
|
vn -0.7173 -0.6303 0.2971
|
||||||
|
vn 0.1101 0.1101 0.9878
|
||||||
|
vn -0.5743 -0.5789 -0.5789
|
||||||
|
vn 0.5743 -0.5789 -0.5789
|
||||||
|
vn 0.5743 0.5789 -0.5789
|
||||||
|
vn -0.5743 0.5789 -0.5789
|
||||||
|
vn -0.2971 -0.7173 -0.6302
|
||||||
|
vn -0.2972 -0.7173 0.6302
|
||||||
|
vn -0.7173 -0.2971 0.6302
|
||||||
|
vn -0.7173 -0.2971 -0.6302
|
||||||
|
vn -0.7173 0.2971 0.6302
|
||||||
|
vn -0.7173 0.2971 -0.6302
|
||||||
|
vn -0.2970 0.7174 0.6302
|
||||||
|
vn -0.2971 0.7173 -0.6302
|
||||||
|
vn 0.2971 0.7173 0.6302
|
||||||
|
vn 0.2971 0.7173 -0.6302
|
||||||
|
vn 0.7173 0.2971 0.6302
|
||||||
|
vn 0.7173 0.2971 -0.6302
|
||||||
|
vn 0.7173 -0.2971 0.6302
|
||||||
|
vn 0.7173 -0.2971 -0.6302
|
||||||
|
vn 0.2971 -0.7173 0.6302
|
||||||
|
vn 0.2971 -0.7173 -0.6302
|
||||||
|
vn -0.2971 -0.7173 -0.6303
|
||||||
|
vn -0.7173 -0.2971 -0.6303
|
||||||
|
vn -0.7173 0.2971 -0.6303
|
||||||
|
vn -0.2971 0.7173 -0.6303
|
||||||
|
vn 0.2971 0.7173 -0.6303
|
||||||
|
vn 0.7173 0.2971 -0.6303
|
||||||
|
vn 0.7173 -0.2971 -0.6303
|
||||||
|
vn 0.2971 -0.7173 -0.6303
|
||||||
|
g Cylinder.002_Cylinder.006_None.004_Cylinder.002_Cylinder.006_No_Cylinder.002_Cylinder.006_None.004_Cylinder.002_Cylinder.006_No_None
|
||||||
|
s 1
|
||||||
|
f 1/1/1 2/2/1 3/3/1 4/4/1 5/5/1 6/6/1 7/7/1 8/8/1
|
||||||
|
f 9/9/2 10/10/2 11/11/2 12/12/2 13/13/2 14/14/2 15/15/2 16/16/2
|
||||||
|
f 17/17/1 18/18/1 19/19/1 20/20/1 21/21/1 22/22/1 23/23/1 24/24/1
|
||||||
|
f 25/25/2 26/26/2 27/27/2 28/28/2 29/29/2 30/30/2 31/31/2 32/32/2
|
||||||
|
f 33/33/3 34/34/3 35/35/3 36/36/3 37/37/3 38/38/3 39/39/3 40/40/3
|
||||||
|
f 41/41/4 42/42/4 43/43/4 44/44/4 45/45/4 46/46/4 47/47/4 48/48/4
|
||||||
|
f 49/49/3 50/50/3 51/51/3 52/52/3 53/53/3 54/54/3 55/55/3 56/56/3
|
||||||
|
f 57/57/4 58/58/4 59/59/4 60/60/4 61/61/4 62/62/4 63/63/4 64/64/4
|
||||||
|
f 65/65/5 66/66/5 67/67/5 68/68/5 69/69/5 70/70/5 71/71/5 72/72/5
|
||||||
|
f 73/73/6 74/74/6 75/75/6 76/76/6 77/77/6 78/78/6 79/79/6 80/80/6
|
||||||
|
f 9/81/7 2/82/8 1/83/9 10/84/10
|
||||||
|
f 10/84/10 1/83/9 8/85/11 11/86/12
|
||||||
|
f 11/86/12 8/85/11 7/87/13 12/88/14
|
||||||
|
f 12/89/14 7/90/13 6/91/15 13/92/16
|
||||||
|
f 13/92/16 6/91/15 5/93/17 14/94/18
|
||||||
|
f 14/94/18 5/93/17 4/95/19 15/96/20
|
||||||
|
f 15/96/20 4/95/19 3/97/21 16/98/22
|
||||||
|
f 16/98/22 3/97/21 2/82/8 9/81/7
|
||||||
|
f 26/99/10 17/100/9 24/101/11 27/102/12
|
||||||
|
f 25/103/23 18/104/24 17/100/9 26/99/10
|
||||||
|
f 27/102/12 24/101/11 23/105/25 28/106/26
|
||||||
|
f 28/107/26 23/108/25 22/109/27 29/110/28
|
||||||
|
f 29/110/28 22/109/27 21/111/17 30/112/18
|
||||||
|
f 30/112/18 21/111/17 20/113/19 31/114/20
|
||||||
|
f 31/114/20 20/113/19 19/115/29 32/116/30
|
||||||
|
f 32/116/30 19/115/29 18/104/24 25/103/23
|
||||||
|
f 81/117/31 82/118/32 83/119/33 84/120/34 85/121/35 86/122/36 87/123/37 88/124/38
|
||||||
|
f 89/125/39 90/126/40 91/127/41 92/128/42 93/129/43 94/130/44 95/131/45 96/132/46
|
||||||
|
f 97/133/47 98/134/48 86/135/36 85/136/35
|
||||||
|
f 93/137/43 92/138/42 99/139/49 100/140/50
|
||||||
|
f 101/141/51 84/142/34 83/143/33 102/144/52
|
||||||
|
f 89/145/39 96/146/46 103/147/53 104/148/54
|
||||||
|
f 89/145/39 104/148/54 105/149/55 106/150/56 90/151/40
|
||||||
|
f 90/151/40 106/150/56 107/152/57 91/153/41
|
||||||
|
f 91/153/41 107/152/57 108/154/58 99/139/49 92/138/42
|
||||||
|
f 109/155/59 110/156/60 111/157/61 103/158/53
|
||||||
|
f 86/135/36 98/134/48 116/159/62 87/160/37
|
||||||
|
f 87/160/37 116/159/62 117/161/63 118/162/64 88/163/38
|
||||||
|
f 81/164/31 88/163/38 118/162/64 119/165/65
|
||||||
|
f 82/166/32 81/164/31 119/165/65 120/167/66 121/168/67
|
||||||
|
f 82/166/32 121/168/67 102/169/52 83/170/33
|
||||||
|
f 41/171/68 34/172/69 33/173/70 42/174/71
|
||||||
|
f 42/174/71 33/173/70 40/175/72 43/176/73
|
||||||
|
f 43/176/73 40/175/72 39/177/74 44/178/75
|
||||||
|
f 44/179/75 39/180/74 38/181/76 45/182/77
|
||||||
|
f 45/182/77 38/181/76 37/183/78 46/184/79
|
||||||
|
f 46/184/79 37/183/78 36/185/80 47/186/81
|
||||||
|
f 47/186/81 36/185/80 35/187/82 48/188/83
|
||||||
|
f 48/188/83 35/187/82 34/172/69 41/171/68
|
||||||
|
f 58/189/71 49/190/70 56/191/72 59/192/73
|
||||||
|
f 57/193/68 50/194/69 49/190/70 58/189/71
|
||||||
|
f 59/192/73 56/191/72 55/195/74 60/196/75
|
||||||
|
f 60/197/75 55/198/74 54/199/76 61/200/77
|
||||||
|
f 61/200/77 54/199/76 53/201/78 62/202/79
|
||||||
|
f 62/202/79 53/201/78 52/203/80 63/204/81
|
||||||
|
f 63/204/81 52/203/80 51/205/82 64/206/83
|
||||||
|
f 64/206/83 51/205/82 50/194/69 57/193/68
|
||||||
|
f 122/207/84 123/208/85 124/209/86 112/210/87 115/211/88 125/212/89 126/213/90 127/214/91
|
||||||
|
f 128/215/92 129/216/93 130/217/94 131/218/95 111/219/61 110/220/60 113/221/96 132/222/97
|
||||||
|
f 109/223/59 103/224/53 96/225/46 95/226/45
|
||||||
|
f 111/157/61 131/227/95 104/228/54 103/158/53
|
||||||
|
f 101/229/51 102/230/52 132/231/97 113/232/96
|
||||||
|
f 115/233/88 114/234/98 100/235/50 125/236/89
|
||||||
|
f 128/237/92 132/238/97 102/239/52 121/240/67
|
||||||
|
f 128/237/92 121/240/67 120/241/66 133/242/99 129/243/93
|
||||||
|
f 129/243/93 133/242/99 134/244/100 130/245/94
|
||||||
|
f 130/245/94 134/244/100 105/246/55 104/228/54 131/227/95
|
||||||
|
f 97/247/47 112/248/87 124/249/86 98/250/48
|
||||||
|
f 125/236/89 100/235/50 99/251/49 126/252/90
|
||||||
|
f 126/252/90 99/251/49 108/253/58 135/254/101 127/255/91
|
||||||
|
f 122/256/84 127/255/91 135/254/101 136/257/102
|
||||||
|
f 123/258/85 122/256/84 136/257/102 117/259/63 116/260/62
|
||||||
|
f 123/258/85 116/260/62 98/261/48 124/262/86
|
||||||
|
f 73/263/103 66/264/104 65/265/105 74/266/106
|
||||||
|
f 74/266/106 65/265/105 72/267/107 75/268/108
|
||||||
|
f 75/268/108 72/267/107 71/269/109 76/270/110
|
||||||
|
f 76/271/110 71/272/109 70/273/111 77/274/112
|
||||||
|
f 77/274/112 70/273/111 69/275/113 78/276/114
|
||||||
|
f 78/276/114 69/275/113 68/277/115 79/278/116
|
||||||
|
f 79/278/116 68/277/115 67/279/117 80/280/118
|
||||||
|
f 80/280/118 67/279/117 66/264/104 73/263/103
|
||||||
|
f 137/281/119 138/282/120 139/283/121 140/284/122 141/285/123 142/286/124 143/287/125 144/288/126
|
||||||
|
f 93/137/43 100/140/50 114/289/98 94/290/44
|
||||||
|
f 139/291/121 118/292/64 117/293/63 136/294/102 140/295/122
|
||||||
|
f 140/295/122 136/294/102 135/296/101 141/297/123
|
||||||
|
f 142/298/124 141/297/123 135/296/101 108/299/58 107/300/57
|
||||||
|
f 142/298/124 107/300/57 106/301/56 143/302/125
|
||||||
|
f 143/302/125 106/301/56 105/303/55 134/304/100 144/305/126
|
||||||
|
f 137/306/119 144/305/126 134/304/100 133/307/99
|
||||||
|
f 138/308/120 137/306/119 133/307/99 120/167/66 119/309/65
|
||||||
|
f 138/308/120 119/309/65 118/310/64 139/311/121
|
||||||
|
f 84/142/34 101/229/51 97/133/47 85/136/35
|
||||||
|
f 110/156/60 109/223/59 101/229/51 113/232/96
|
||||||
|
f 109/223/59 95/226/45 94/290/44 114/234/98
|
||||||
|
f 101/229/51 109/223/59 114/234/98 97/133/47
|
||||||
|
f 114/234/98 115/233/88 112/248/87 97/133/47
|
7690
models/pipeworks_pressure_gauge.obj
Normal file
325
models/pipeworks_pressure_gauge_lowpoly.obj
Normal file
@ -0,0 +1,325 @@
|
|||||||
|
# Blender v2.78 (sub 0) OBJ File: 'pipe-pressure-gauge.blend'
|
||||||
|
# www.blender.org
|
||||||
|
o Cylinder.000
|
||||||
|
v 0.059508 0.267678 0.156042
|
||||||
|
v -0.067320 0.267678 0.156042
|
||||||
|
v 0.059508 0.176271 0.064635
|
||||||
|
v -0.067320 0.176271 0.064635
|
||||||
|
v 0.059508 0.176271 -0.064635
|
||||||
|
v -0.067320 0.176271 -0.064635
|
||||||
|
v 0.059508 0.267678 -0.156042
|
||||||
|
v -0.067320 0.267678 -0.156042
|
||||||
|
v 0.059508 0.396948 -0.156042
|
||||||
|
v -0.067320 0.396948 -0.156042
|
||||||
|
v 0.059508 0.488356 -0.064635
|
||||||
|
v -0.067320 0.488356 -0.064635
|
||||||
|
v 0.059508 0.488356 0.064635
|
||||||
|
v -0.067320 0.488356 0.064635
|
||||||
|
v 0.059508 0.396948 0.156042
|
||||||
|
v -0.067320 0.396948 0.156042
|
||||||
|
v 0.044062 0.150388 -0.044062
|
||||||
|
v 0.044062 0.185121 -0.044062
|
||||||
|
v 0.044062 0.150388 0.044062
|
||||||
|
v 0.044062 0.185121 0.044062
|
||||||
|
v -0.044062 0.150388 -0.044062
|
||||||
|
v -0.044062 0.185121 -0.044062
|
||||||
|
v -0.044062 0.150388 0.044062
|
||||||
|
v -0.044062 0.185121 0.044062
|
||||||
|
v -0.156122 0.156122 0.156122
|
||||||
|
v -0.156122 -0.156122 0.156122
|
||||||
|
v -0.156122 0.156122 -0.156122
|
||||||
|
v -0.156122 -0.156122 -0.156122
|
||||||
|
v 0.156123 0.156122 0.156122
|
||||||
|
v 0.156123 -0.156122 0.156122
|
||||||
|
v 0.156123 0.156122 -0.156122
|
||||||
|
v 0.156123 -0.156122 -0.156122
|
||||||
|
v 0.156250 -0.064721 -0.500000
|
||||||
|
v 0.156250 -0.064721 -0.468750
|
||||||
|
v 0.064721 -0.156250 -0.500000
|
||||||
|
v 0.064721 -0.156250 -0.468750
|
||||||
|
v -0.064721 -0.156250 -0.500000
|
||||||
|
v -0.064721 -0.156250 -0.468750
|
||||||
|
v -0.156250 -0.064721 -0.500000
|
||||||
|
v -0.156250 -0.064721 -0.468750
|
||||||
|
v -0.156250 0.064721 -0.500000
|
||||||
|
v -0.156250 0.064721 -0.468750
|
||||||
|
v -0.064721 0.156250 -0.500000
|
||||||
|
v -0.064721 0.156250 -0.468750
|
||||||
|
v 0.064721 0.156250 -0.500000
|
||||||
|
v 0.064721 0.156250 -0.468750
|
||||||
|
v 0.156250 0.064721 -0.500000
|
||||||
|
v 0.156250 0.064721 -0.468750
|
||||||
|
v 0.125000 -0.051777 -0.468750
|
||||||
|
v 0.125000 -0.051777 0.468750
|
||||||
|
v 0.051777 -0.125000 -0.468750
|
||||||
|
v 0.051777 -0.125000 0.468750
|
||||||
|
v -0.051777 -0.125000 -0.468750
|
||||||
|
v -0.051777 -0.125000 0.468750
|
||||||
|
v -0.125000 -0.051777 -0.468750
|
||||||
|
v -0.125000 -0.051777 0.468750
|
||||||
|
v -0.125000 0.051777 -0.468750
|
||||||
|
v -0.125000 0.051777 0.468750
|
||||||
|
v -0.051777 0.125000 -0.468750
|
||||||
|
v -0.051777 0.125000 0.468750
|
||||||
|
v 0.051777 0.125000 -0.468750
|
||||||
|
v 0.051777 0.125000 0.468750
|
||||||
|
v 0.125000 0.051777 -0.468750
|
||||||
|
v 0.125000 0.051777 0.468750
|
||||||
|
v 0.156250 -0.064721 0.468750
|
||||||
|
v 0.156250 -0.064721 0.500000
|
||||||
|
v 0.064721 -0.156250 0.468750
|
||||||
|
v 0.064721 -0.156250 0.500000
|
||||||
|
v -0.064721 -0.156250 0.468750
|
||||||
|
v -0.064721 -0.156250 0.500000
|
||||||
|
v -0.156250 -0.064721 0.468750
|
||||||
|
v -0.156250 -0.064721 0.500000
|
||||||
|
v -0.156250 0.064721 0.468750
|
||||||
|
v -0.156250 0.064721 0.500000
|
||||||
|
v -0.064721 0.156250 0.468750
|
||||||
|
v -0.064721 0.156250 0.500000
|
||||||
|
v 0.064721 0.156250 0.468750
|
||||||
|
v 0.064721 0.156250 0.500000
|
||||||
|
v 0.156250 0.064721 0.468750
|
||||||
|
v 0.156250 0.064721 0.500000
|
||||||
|
vt 0.1173 0.3198
|
||||||
|
vt 0.3327 0.0381
|
||||||
|
vt 0.6374 0.0381
|
||||||
|
vt 0.8529 0.3198
|
||||||
|
vt 0.8529 0.7182
|
||||||
|
vt 0.6374 1.0000
|
||||||
|
vt 0.3327 1.0000
|
||||||
|
vt 0.1173 0.7182
|
||||||
|
vt 0.6373 0.3431
|
||||||
|
vt 0.6373 0.2451
|
||||||
|
vt 0.7353 0.2451
|
||||||
|
vt 0.7353 0.3431
|
||||||
|
vt 0.3431 0.4412
|
||||||
|
vt 0.3431 0.3431
|
||||||
|
vt 0.4412 0.3431
|
||||||
|
vt 0.4412 0.4412
|
||||||
|
vt 0.5392 0.3431
|
||||||
|
vt 0.5392 0.4412
|
||||||
|
vt 0.6373 0.3431
|
||||||
|
vt 0.6373 0.4412
|
||||||
|
vt 0.7353 0.3431
|
||||||
|
vt 0.7353 0.4412
|
||||||
|
vt 0.3431 0.3431
|
||||||
|
vt 0.3431 0.2451
|
||||||
|
vt 0.4412 0.2451
|
||||||
|
vt 0.4412 0.3431
|
||||||
|
vt 0.5098 0.2059
|
||||||
|
vt 0.5784 0.2745
|
||||||
|
vt 0.5784 0.3725
|
||||||
|
vt 0.5098 0.4412
|
||||||
|
vt 0.4118 0.4412
|
||||||
|
vt 0.3431 0.3725
|
||||||
|
vt 0.3431 0.2745
|
||||||
|
vt 0.4118 0.2059
|
||||||
|
vt 0.5392 0.2451
|
||||||
|
vt 0.5392 0.3431
|
||||||
|
vt 0.7941 0.1373
|
||||||
|
vt 0.8627 0.1373
|
||||||
|
vt 0.8627 0.1667
|
||||||
|
vt 0.7941 0.1667
|
||||||
|
vt 0.7255 0.1373
|
||||||
|
vt 0.7255 0.1667
|
||||||
|
vt 0.6569 0.1373
|
||||||
|
vt 0.6569 0.1667
|
||||||
|
vt 0.5882 0.1373
|
||||||
|
vt 0.5882 0.1667
|
||||||
|
vt 0.2843 0.4902
|
||||||
|
vt 0.0490 0.4902
|
||||||
|
vt 0.0490 0.2549
|
||||||
|
vt 0.2843 0.2549
|
||||||
|
vt 0.0490 0.2451
|
||||||
|
vt 0.2843 0.2451
|
||||||
|
vt 0.2843 0.0098
|
||||||
|
vt 0.0490 0.0098
|
||||||
|
vt 0.5000 0.7549
|
||||||
|
vt 0.5000 0.9902
|
||||||
|
vt 0.2647 0.9902
|
||||||
|
vt 0.2647 0.7549
|
||||||
|
vt 0.0490 0.5000
|
||||||
|
vt 0.0490 0.7353
|
||||||
|
vt 0.2843 0.7353
|
||||||
|
vt 0.2843 0.5000
|
||||||
|
vt 0.0098 0.7549
|
||||||
|
vt 0.0098 0.9902
|
||||||
|
vt 0.2451 0.9902
|
||||||
|
vt 0.2451 0.7549
|
||||||
|
vt 0.7941 0.7549
|
||||||
|
vt 0.7941 0.9902
|
||||||
|
vt 0.5588 0.9902
|
||||||
|
vt 0.5588 0.7549
|
||||||
|
vt 0.7941 0.6765
|
||||||
|
vt 0.7353 0.7353
|
||||||
|
vt 0.6569 0.7353
|
||||||
|
vt 0.5980 0.6765
|
||||||
|
vt 0.5980 0.5980
|
||||||
|
vt 0.6569 0.5392
|
||||||
|
vt 0.7353 0.5392
|
||||||
|
vt 0.7941 0.5980
|
||||||
|
vt 0.5000 0.7353
|
||||||
|
vt 0.5588 0.6765
|
||||||
|
vt 0.5588 0.5980
|
||||||
|
vt 0.5000 0.5392
|
||||||
|
vt 0.4216 0.5392
|
||||||
|
vt 0.3627 0.5980
|
||||||
|
vt 0.3627 0.6765
|
||||||
|
vt 0.4216 0.7353
|
||||||
|
vt 0.5588 0.6765
|
||||||
|
vt 0.5000 0.7353
|
||||||
|
vt 0.4216 0.7353
|
||||||
|
vt 0.3627 0.6765
|
||||||
|
vt 0.3627 0.5980
|
||||||
|
vt 0.4216 0.5392
|
||||||
|
vt 0.5000 0.5392
|
||||||
|
vt 0.5588 0.5980
|
||||||
|
vt 0.7353 0.7353
|
||||||
|
vt 0.7941 0.6765
|
||||||
|
vt 0.7941 0.5980
|
||||||
|
vt 0.7353 0.5392
|
||||||
|
vt 0.6569 0.5392
|
||||||
|
vt 0.5980 0.5980
|
||||||
|
vt 0.5980 0.6765
|
||||||
|
vt 0.6569 0.7353
|
||||||
|
vt 0.8529 0.4902
|
||||||
|
vt 0.8529 0.4706
|
||||||
|
vt 0.8922 0.4706
|
||||||
|
vt 0.8922 0.4902
|
||||||
|
vt 0.9314 0.4706
|
||||||
|
vt 0.9314 0.4902
|
||||||
|
vt 0.9706 0.4706
|
||||||
|
vt 0.9706 0.4902
|
||||||
|
vt 0.6569 0.4902
|
||||||
|
vt 0.6569 0.4706
|
||||||
|
vt 0.6961 0.4706
|
||||||
|
vt 0.6961 0.4902
|
||||||
|
vt 0.7353 0.4706
|
||||||
|
vt 0.7353 0.4902
|
||||||
|
vt 0.7745 0.4706
|
||||||
|
vt 0.7745 0.4902
|
||||||
|
vt 0.8137 0.4706
|
||||||
|
vt 0.8137 0.4902
|
||||||
|
vt 0.5784 0.4902
|
||||||
|
vt 0.5784 0.4706
|
||||||
|
vt 0.6176 0.4706
|
||||||
|
vt 0.6176 0.4902
|
||||||
|
vt 0.5392 0.4902
|
||||||
|
vt 0.5392 0.4706
|
||||||
|
vt 0.6569 0.4706
|
||||||
|
vt 0.6569 0.4902
|
||||||
|
vt 0.3431 0.4902
|
||||||
|
vt 0.3431 0.4706
|
||||||
|
vt 0.3824 0.4706
|
||||||
|
vt 0.3824 0.4902
|
||||||
|
vt 0.4216 0.4706
|
||||||
|
vt 0.4216 0.4902
|
||||||
|
vt 0.4608 0.4706
|
||||||
|
vt 0.4608 0.4902
|
||||||
|
vt 0.5000 0.4706
|
||||||
|
vt 0.5000 0.4902
|
||||||
|
vt 0.3431 0.4020
|
||||||
|
vt 0.3431 0.3627
|
||||||
|
vt 0.9706 0.3627
|
||||||
|
vt 0.9706 0.4020
|
||||||
|
vt 0.3431 0.2843
|
||||||
|
vt 0.3431 0.2451
|
||||||
|
vt 0.9706 0.2451
|
||||||
|
vt 0.9706 0.2843
|
||||||
|
vt 0.3431 0.3235
|
||||||
|
vt 0.9706 0.3235
|
||||||
|
vt 0.9706 0.4412
|
||||||
|
vt 0.3431 0.4412
|
||||||
|
vt 0.9706 0.1667
|
||||||
|
vt 0.9706 0.2059
|
||||||
|
vt 0.3431 0.2059
|
||||||
|
vt 0.3431 0.1667
|
||||||
|
vt 0.9706 0.1275
|
||||||
|
vt 0.3431 0.1275
|
||||||
|
vn 1.0000 -0.0000 -0.0000
|
||||||
|
vn -0.0000 -0.7071 0.7071
|
||||||
|
vn -0.0000 -1.0000 -0.0000
|
||||||
|
vn 0.0000 -0.7071 -0.7071
|
||||||
|
vn 0.0000 0.0000 -1.0000
|
||||||
|
vn -0.0000 0.7071 -0.7071
|
||||||
|
vn 0.0000 1.0000 0.0000
|
||||||
|
vn -1.0000 -0.0000 -0.0000
|
||||||
|
vn 0.0000 0.7071 0.7071
|
||||||
|
vn 0.0000 0.0000 1.0000
|
||||||
|
vn 0.7173 -0.2971 -0.6302
|
||||||
|
vn 0.7173 -0.2971 0.6302
|
||||||
|
vn 0.2971 -0.7173 0.6302
|
||||||
|
vn 0.2971 -0.7173 -0.6302
|
||||||
|
vn -0.2971 -0.7173 0.6302
|
||||||
|
vn -0.2971 -0.7173 -0.6302
|
||||||
|
vn -0.7173 -0.2971 0.6302
|
||||||
|
vn -0.7173 -0.2971 -0.6302
|
||||||
|
vn -0.7173 0.2971 0.6302
|
||||||
|
vn -0.7173 0.2971 -0.6302
|
||||||
|
vn -0.2971 0.7173 0.6302
|
||||||
|
vn -0.2971 0.7173 -0.6302
|
||||||
|
vn 0.2971 0.7173 0.6302
|
||||||
|
vn 0.2971 0.7173 -0.6302
|
||||||
|
vn 0.7173 0.2971 0.6302
|
||||||
|
vn 0.7173 0.2971 -0.6302
|
||||||
|
vn -0.9239 -0.3827 0.0000
|
||||||
|
vn -0.9239 0.3827 0.0000
|
||||||
|
vn 0.3827 0.9239 0.0000
|
||||||
|
vn 0.9239 0.3827 0.0000
|
||||||
|
vn -0.3827 0.9239 0.0000
|
||||||
|
vn -0.3827 -0.9239 0.0000
|
||||||
|
vn 0.3827 -0.9239 0.0000
|
||||||
|
vn 0.9239 -0.3827 0.0000
|
||||||
|
g Cylinder.000_Cylinder.000_gauge_face
|
||||||
|
s off
|
||||||
|
f 1/1/1 3/2/1 5/3/1 7/4/1 9/5/1 11/6/1 13/7/1 15/8/1
|
||||||
|
g Cylinder.000_Cylinder.000_pipe_and_gauge_body
|
||||||
|
f 1/9/2 2/10/2 4/11/2 3/12/2
|
||||||
|
f 3/13/3 4/14/3 6/15/3 5/16/3
|
||||||
|
f 5/16/4 6/15/4 8/17/4 7/18/4
|
||||||
|
f 7/18/5 8/17/5 10/19/5 9/20/5
|
||||||
|
f 9/20/6 10/19/6 12/21/6 11/22/6
|
||||||
|
f 11/23/7 12/24/7 14/25/7 13/26/7
|
||||||
|
f 4/27/8 2/28/8 16/29/8 14/30/8 12/31/8 10/32/8 8/33/8 6/34/8
|
||||||
|
f 13/26/9 14/25/9 16/35/9 15/36/9
|
||||||
|
f 15/36/10 16/35/10 2/10/10 1/9/10
|
||||||
|
f 20/37/10 24/38/10 23/39/10 19/40/10
|
||||||
|
f 18/41/1 20/37/1 19/40/1 17/42/1
|
||||||
|
f 22/43/5 18/41/5 17/42/5 21/44/5
|
||||||
|
f 24/45/8 22/43/8 21/44/8 23/46/8
|
||||||
|
f 25/47/7 29/48/7 31/49/7 27/50/7
|
||||||
|
f 30/51/3 26/52/3 28/53/3 32/54/3
|
||||||
|
f 28/55/5 27/56/5 31/57/5 32/58/5
|
||||||
|
f 26/59/8 25/60/8 27/61/8 28/62/8
|
||||||
|
f 30/63/10 29/64/10 25/65/10 26/66/10
|
||||||
|
f 32/67/1 31/68/1 29/69/1 30/70/1
|
||||||
|
f 36/71/10 34/72/10 48/73/10 46/74/10 44/75/10 42/76/10 40/77/10 38/78/10
|
||||||
|
f 33/79/5 35/80/5 37/81/5 39/82/5 41/83/5 43/84/5 45/85/5 47/86/5
|
||||||
|
f 68/87/10 66/88/10 80/89/10 78/90/10 76/91/10 74/92/10 72/93/10 70/94/10
|
||||||
|
f 65/95/5 67/96/5 69/97/5 71/98/5 73/99/5 75/100/5 77/101/5 79/102/5
|
||||||
|
s 1
|
||||||
|
f 33/103/11 34/104/12 36/105/13 35/106/14
|
||||||
|
f 35/106/14 36/105/13 38/107/15 37/108/16
|
||||||
|
f 37/108/16 38/107/15 40/109/17 39/110/18
|
||||||
|
f 39/111/18 40/112/17 42/113/19 41/114/20
|
||||||
|
f 41/114/20 42/113/19 44/115/21 43/116/22
|
||||||
|
f 43/116/22 44/115/21 46/117/23 45/118/24
|
||||||
|
f 45/118/24 46/117/23 48/119/25 47/120/26
|
||||||
|
f 47/120/26 48/119/25 34/104/12 33/103/11
|
||||||
|
f 67/121/14 68/122/13 70/123/15 69/124/16
|
||||||
|
f 65/125/11 66/126/12 68/122/13 67/121/14
|
||||||
|
f 69/124/16 70/123/15 72/127/17 71/128/18
|
||||||
|
f 71/129/18 72/130/17 74/131/19 73/132/20
|
||||||
|
f 73/132/20 74/131/19 76/133/21 75/134/22
|
||||||
|
f 75/134/22 76/133/21 78/135/23 77/136/24
|
||||||
|
f 77/136/24 78/135/23 80/137/25 79/138/26
|
||||||
|
f 79/138/26 80/137/25 66/126/12 65/125/11
|
||||||
|
f 56/139/27 58/140/28 57/141/28 55/142/27
|
||||||
|
f 62/143/29 64/144/30 63/145/30 61/146/29
|
||||||
|
f 58/140/28 60/147/31 59/148/31 57/141/28
|
||||||
|
f 56/139/27 55/142/27 53/149/32 54/150/32
|
||||||
|
f 51/151/33 49/152/34 50/153/34 52/154/33
|
||||||
|
f 53/155/32 51/151/33 52/154/33 54/156/32
|
||||||
|
f 62/143/29 61/146/29 59/148/31 60/147/31
|
||||||
|
f 49/152/34 63/145/30 64/144/30 50/153/34
|
214
models/pipeworks_pump_lowpoly.obj
Normal file
@ -0,0 +1,214 @@
|
|||||||
|
# Blender v2.78 (sub 0) OBJ File: 'pipe-pump-lowpoly.blend'
|
||||||
|
# www.blender.org
|
||||||
|
o Cube
|
||||||
|
v 0.153397 0.500000 -0.063525
|
||||||
|
v 0.063558 0.500000 -0.153364
|
||||||
|
v -0.063492 0.500000 -0.153364
|
||||||
|
v -0.153331 0.500000 -0.063525
|
||||||
|
v -0.153331 0.500000 0.063526
|
||||||
|
v -0.063492 0.500000 0.153364
|
||||||
|
v 0.063558 0.500000 0.153364
|
||||||
|
v 0.153397 0.500000 0.063526
|
||||||
|
v 0.063558 0.468700 -0.153364
|
||||||
|
v 0.153397 0.468700 -0.063525
|
||||||
|
v 0.153397 0.468700 0.063526
|
||||||
|
v 0.063558 0.468700 0.153364
|
||||||
|
v -0.063492 0.468700 0.153364
|
||||||
|
v -0.153331 0.468700 0.063526
|
||||||
|
v -0.153331 0.468700 -0.063525
|
||||||
|
v -0.063492 0.468700 -0.153364
|
||||||
|
v -0.122656 0.374847 0.050803
|
||||||
|
v -0.050827 0.374847 0.122608
|
||||||
|
v -0.050728 0.468750 0.122608
|
||||||
|
v -0.122557 0.468750 0.050804
|
||||||
|
v -0.050771 0.468750 -0.122590
|
||||||
|
v -0.050870 0.374847 -0.122590
|
||||||
|
v -0.122674 0.374847 -0.050761
|
||||||
|
v -0.122575 0.468750 -0.050760
|
||||||
|
v 0.050794 0.468750 -0.122607
|
||||||
|
v 0.050695 0.374847 -0.122608
|
||||||
|
v 0.122623 0.468750 -0.050803
|
||||||
|
v 0.122524 0.374847 -0.050804
|
||||||
|
v 0.050837 0.468750 0.122590
|
||||||
|
v 0.050738 0.374847 0.122590
|
||||||
|
v 0.122542 0.374847 0.050761
|
||||||
|
v 0.122641 0.468750 0.050761
|
||||||
|
v -0.496061 -0.496094 0.496094
|
||||||
|
v -0.496061 -0.496094 -0.496094
|
||||||
|
v 0.496127 -0.496094 -0.496094
|
||||||
|
v 0.496127 -0.496094 0.496094
|
||||||
|
v -0.496061 -0.375000 0.496094
|
||||||
|
v -0.496061 -0.375000 -0.496094
|
||||||
|
v 0.496127 -0.375000 -0.496094
|
||||||
|
v 0.496127 -0.375000 0.496094
|
||||||
|
v -0.437467 -0.375000 0.437500
|
||||||
|
v -0.437467 -0.375000 -0.437500
|
||||||
|
v 0.437533 -0.375000 -0.437500
|
||||||
|
v 0.437533 -0.375000 0.437500
|
||||||
|
v -0.437467 0.375000 0.437500
|
||||||
|
v -0.437467 0.375000 -0.437500
|
||||||
|
v 0.437533 0.375000 -0.437500
|
||||||
|
v 0.437533 0.375000 0.437500
|
||||||
|
vt 0.0312 0.7695
|
||||||
|
vt 0.0078 0.7461
|
||||||
|
vt 0.0078 0.7148
|
||||||
|
vt 0.0312 0.6914
|
||||||
|
vt 0.0625 0.6914
|
||||||
|
vt 0.0859 0.7148
|
||||||
|
vt 0.0859 0.7461
|
||||||
|
vt 0.0625 0.7695
|
||||||
|
vt 0.1016 0.7461
|
||||||
|
vt 0.1250 0.7695
|
||||||
|
vt 0.1562 0.7695
|
||||||
|
vt 0.1797 0.7461
|
||||||
|
vt 0.1797 0.7148
|
||||||
|
vt 0.1562 0.6914
|
||||||
|
vt 0.1250 0.6914
|
||||||
|
vt 0.1016 0.7148
|
||||||
|
vt 0.7148 0.7617
|
||||||
|
vt 0.7148 0.5117
|
||||||
|
vt 0.7461 0.5117
|
||||||
|
vt 0.7461 0.7617
|
||||||
|
vt 0.6211 0.7617
|
||||||
|
vt 0.6211 0.5117
|
||||||
|
vt 0.6523 0.5117
|
||||||
|
vt 0.6523 0.7617
|
||||||
|
vt 0.6836 0.7617
|
||||||
|
vt 0.6836 0.5117
|
||||||
|
vt 0.7148 0.5117
|
||||||
|
vt 0.7148 0.7617
|
||||||
|
vt 0.6836 0.7617
|
||||||
|
vt 0.6523 0.7617
|
||||||
|
vt 0.6523 0.5117
|
||||||
|
vt 0.9961 0.5117
|
||||||
|
vt 0.9961 0.7617
|
||||||
|
vt 0.9961 0.2617
|
||||||
|
vt 0.9961 0.5117
|
||||||
|
vt 0.7461 0.5117
|
||||||
|
vt 0.7461 0.2617
|
||||||
|
vt 0.2305 0.2617
|
||||||
|
vt 0.4492 0.2617
|
||||||
|
vt 0.4492 0.4336
|
||||||
|
vt 0.2305 0.4336
|
||||||
|
vt 0.2227 0.6133
|
||||||
|
vt 0.0039 0.6133
|
||||||
|
vt 0.0039 0.4414
|
||||||
|
vt 0.2227 0.4414
|
||||||
|
vt 0.2227 0.4336
|
||||||
|
vt 0.0039 0.4336
|
||||||
|
vt 0.0039 0.2617
|
||||||
|
vt 0.2227 0.2617
|
||||||
|
vt 0.6758 0.4336
|
||||||
|
vt 0.4570 0.4336
|
||||||
|
vt 0.4570 0.2617
|
||||||
|
vt 0.6758 0.2617
|
||||||
|
vt 0.2305 0.6602
|
||||||
|
vt 0.2305 0.4414
|
||||||
|
vt 0.4492 0.4414
|
||||||
|
vt 0.4492 0.6602
|
||||||
|
vt 0.0547 0.9727
|
||||||
|
vt 0.0547 0.9648
|
||||||
|
vt 0.0625 0.9648
|
||||||
|
vt 0.0625 0.9727
|
||||||
|
vt 0.0781 0.9727
|
||||||
|
vt 0.0781 0.9648
|
||||||
|
vt 0.0859 0.9648
|
||||||
|
vt 0.0859 0.9727
|
||||||
|
vt 0.0469 0.9727
|
||||||
|
vt 0.0469 0.9648
|
||||||
|
vt 0.0938 0.9648
|
||||||
|
vt 0.0938 0.9727
|
||||||
|
vt 0.0391 0.9727
|
||||||
|
vt 0.0391 0.9648
|
||||||
|
vt 0.0703 0.9727
|
||||||
|
vt 0.0703 0.9648
|
||||||
|
vt 0.0312 0.9727
|
||||||
|
vt 0.0312 0.9648
|
||||||
|
vt 0.0508 0.9766
|
||||||
|
vt 0.0664 0.9766
|
||||||
|
vt 0.0664 0.9922
|
||||||
|
vt 0.0508 0.9922
|
||||||
|
vt 0.0195 0.9922
|
||||||
|
vt 0.0195 0.9766
|
||||||
|
vt 0.0352 0.9766
|
||||||
|
vt 0.0352 0.9922
|
||||||
|
vt 0.0039 0.9922
|
||||||
|
vt 0.0039 0.9766
|
||||||
|
vt 0.1133 0.9922
|
||||||
|
vt 0.1133 0.9766
|
||||||
|
vt 0.1289 0.9766
|
||||||
|
vt 0.1289 0.9922
|
||||||
|
vt 0.0820 0.9922
|
||||||
|
vt 0.0820 0.9766
|
||||||
|
vt 0.0977 0.9766
|
||||||
|
vt 0.0977 0.9922
|
||||||
|
vn -0.0000 1.0000 0.0000
|
||||||
|
vn 0.0000 -1.0000 -0.0000
|
||||||
|
vn -1.0000 0.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 -0.7173 0.6302 0.2971
|
||||||
|
vn -0.7173 -0.6302 0.2971
|
||||||
|
vn -0.2971 -0.6302 0.7173
|
||||||
|
vn -0.2971 0.6302 0.7173
|
||||||
|
vn 0.7173 0.6302 0.2971
|
||||||
|
vn 0.7173 -0.6302 0.2971
|
||||||
|
vn 0.7173 -0.6302 -0.2971
|
||||||
|
vn 0.7173 0.6302 -0.2971
|
||||||
|
vn -0.7173 0.6302 -0.2971
|
||||||
|
vn -0.7173 -0.6302 -0.2971
|
||||||
|
vn 0.2971 -0.6302 -0.7173
|
||||||
|
vn 0.2971 0.6302 -0.7173
|
||||||
|
vn -0.2971 0.6302 -0.7173
|
||||||
|
vn -0.2971 -0.6302 -0.7173
|
||||||
|
vn 0.2971 0.6302 0.7173
|
||||||
|
vn 0.2971 -0.6302 0.7173
|
||||||
|
vn -0.9238 0.0009 0.3827
|
||||||
|
vn -0.3827 0.0004 0.9238
|
||||||
|
vn -0.3823 0.0004 0.9240
|
||||||
|
vn -0.9238 0.0009 0.3829
|
||||||
|
vn -0.3826 0.0004 -0.9239
|
||||||
|
vn -0.3830 0.0004 -0.9237
|
||||||
|
vn -0.9240 0.0009 -0.3824
|
||||||
|
vn -0.9239 0.0009 -0.3826
|
||||||
|
vn 0.3827 -0.0004 -0.9238
|
||||||
|
vn 0.3823 -0.0004 -0.9240
|
||||||
|
vn 0.9238 -0.0009 -0.3827
|
||||||
|
vn 0.9238 -0.0009 -0.3829
|
||||||
|
vn 0.3830 -0.0004 0.9237
|
||||||
|
vn 0.3826 -0.0004 0.9239
|
||||||
|
vn 0.9239 -0.0009 0.3826
|
||||||
|
vn 0.9240 -0.0009 0.3824
|
||||||
|
g Cube_Cube_None
|
||||||
|
s off
|
||||||
|
f 1/1/1 2/2/1 3/3/1 4/4/1 5/5/1 6/6/1 7/7/1 8/8/1
|
||||||
|
f 9/9/2 10/10/2 11/11/2 12/12/2 13/13/2 14/14/2 15/15/2 16/16/2
|
||||||
|
f 37/17/3 38/18/3 34/19/3 33/20/3
|
||||||
|
f 38/21/4 39/22/4 35/23/4 34/24/4
|
||||||
|
f 39/25/5 40/26/5 36/27/5 35/28/5
|
||||||
|
f 40/26/6 37/29/6 33/30/6 36/31/6
|
||||||
|
f 33/20/2 34/19/2 35/32/2 36/33/2
|
||||||
|
f 40/34/1 39/35/1 38/36/1 37/37/1
|
||||||
|
f 45/38/3 46/39/3 42/40/3 41/41/3
|
||||||
|
f 46/42/4 47/43/4 43/44/4 42/45/4
|
||||||
|
f 47/46/5 48/47/5 44/48/5 43/49/5
|
||||||
|
f 48/50/6 45/51/6 41/52/6 44/53/6
|
||||||
|
f 48/54/1 47/55/1 46/56/1 45/57/1
|
||||||
|
s 1
|
||||||
|
f 5/58/7 14/59/8 13/60/9 6/61/10
|
||||||
|
f 8/62/11 11/63/12 10/64/13 1/65/14
|
||||||
|
f 4/66/15 15/67/16 14/59/8 5/58/7
|
||||||
|
f 1/65/14 10/64/13 9/68/17 2/69/18
|
||||||
|
f 3/70/19 16/71/20 15/67/16 4/66/15
|
||||||
|
f 7/72/21 12/73/22 11/63/12 8/62/11
|
||||||
|
f 6/61/10 13/60/9 12/73/22 7/72/21
|
||||||
|
f 2/74/18 9/75/17 16/71/20 3/70/19
|
||||||
|
f 17/76/23 18/77/24 19/78/25 20/79/26
|
||||||
|
f 21/80/27 22/81/28 23/82/29 24/83/30
|
||||||
|
f 25/84/31 26/85/32 22/81/28 21/80/27
|
||||||
|
f 27/86/33 28/87/34 26/88/32 25/89/31
|
||||||
|
f 29/90/35 30/91/36 31/92/37 32/93/38
|
||||||
|
f 19/78/25 18/77/24 30/91/36 29/90/35
|
||||||
|
f 24/83/30 23/82/29 17/76/23 20/79/26
|
||||||
|
f 31/92/37 28/87/34 27/86/33 32/93/38
|
336
models/pipeworks_spigot_lowpoly.obj
Normal file
@ -0,0 +1,336 @@
|
|||||||
|
# Blender v2.78 (sub 0) OBJ File: 'pipe-master-lowpoly.blend'
|
||||||
|
# www.blender.org
|
||||||
|
o Cylinder.000_Cylinder.000_None_Cylinder.000_Cylinder.000_No.004
|
||||||
|
v 0.064721 -0.156250 0.500000
|
||||||
|
v 0.156250 -0.064721 0.500000
|
||||||
|
v 0.156250 0.064721 0.500000
|
||||||
|
v 0.064721 0.156250 0.500000
|
||||||
|
v -0.064721 0.156250 0.500000
|
||||||
|
v -0.156250 0.064721 0.500000
|
||||||
|
v -0.156250 -0.064721 0.500000
|
||||||
|
v -0.064721 -0.156250 0.500000
|
||||||
|
v 0.156250 -0.064721 0.468750
|
||||||
|
v 0.064721 -0.156250 0.468750
|
||||||
|
v -0.064721 -0.156250 0.468750
|
||||||
|
v -0.156250 -0.064721 0.468750
|
||||||
|
v -0.156250 0.064721 0.468750
|
||||||
|
v -0.064721 0.156250 0.468750
|
||||||
|
v 0.064721 0.156250 0.468750
|
||||||
|
v 0.156250 0.064721 0.468750
|
||||||
|
v 0.064721 -0.187500 0.156250
|
||||||
|
v 0.156250 -0.187500 0.064721
|
||||||
|
v 0.156250 -0.187500 -0.064721
|
||||||
|
v 0.064721 -0.187500 -0.156250
|
||||||
|
v -0.064721 -0.187500 -0.156250
|
||||||
|
v -0.156250 -0.187500 -0.064721
|
||||||
|
v -0.156250 -0.187500 0.064721
|
||||||
|
v -0.064721 -0.187500 0.156250
|
||||||
|
v 0.156250 -0.250000 0.064721
|
||||||
|
v 0.064721 -0.250000 0.156250
|
||||||
|
v -0.064721 -0.250000 0.156250
|
||||||
|
v -0.156250 -0.250000 0.064721
|
||||||
|
v -0.156250 -0.250000 -0.064721
|
||||||
|
v -0.064721 -0.250000 -0.156250
|
||||||
|
v 0.064721 -0.250000 -0.156250
|
||||||
|
v 0.156250 -0.250000 -0.064721
|
||||||
|
v -0.051777 -0.000000 -0.125000
|
||||||
|
v -0.125000 -0.000000 -0.051777
|
||||||
|
v -0.125000 0.051777 -0.051777
|
||||||
|
v -0.088388 0.088388 -0.088388
|
||||||
|
v -0.051777 0.051777 -0.125000
|
||||||
|
v 0.051777 -0.000000 -0.125000
|
||||||
|
v 0.051777 0.051777 -0.125000
|
||||||
|
v 0.088388 0.088389 -0.088388
|
||||||
|
v 0.125000 0.051777 -0.051777
|
||||||
|
v 0.125000 -0.000000 -0.051777
|
||||||
|
v 0.125000 0.051777 -0.000000
|
||||||
|
v 0.125000 0.000000 0.000000
|
||||||
|
v -0.125000 0.000000 0.000000
|
||||||
|
v -0.125000 0.051777 -0.000000
|
||||||
|
v 0.000000 -0.000000 -0.125000
|
||||||
|
v 0.000000 0.051777 -0.125000
|
||||||
|
v -0.051777 0.125000 -0.051777
|
||||||
|
v 0.051777 0.125000 -0.051777
|
||||||
|
v -0.051777 -0.187500 0.125000
|
||||||
|
v -0.051777 -0.125000 0.125000
|
||||||
|
v -0.125000 -0.051777 0.051777
|
||||||
|
v -0.125000 -0.187500 0.051777
|
||||||
|
v 0.051777 -0.187500 0.125000
|
||||||
|
v 0.125000 -0.187500 0.051777
|
||||||
|
v 0.125000 -0.051777 0.051777
|
||||||
|
v 0.051777 -0.125000 0.125000
|
||||||
|
v -0.125000 -0.051777 0.468750
|
||||||
|
v -0.125000 0.051777 0.468750
|
||||||
|
v -0.125000 -0.051777 0.000000
|
||||||
|
v -0.051777 -0.125000 0.468750
|
||||||
|
v 0.125000 -0.051777 0.000000
|
||||||
|
v 0.125000 0.051777 0.468750
|
||||||
|
v 0.125000 -0.051777 0.468750
|
||||||
|
v -0.051777 0.125000 0.468750
|
||||||
|
v 0.051777 -0.125000 0.468750
|
||||||
|
v 0.051777 0.125000 0.468750
|
||||||
|
v 0.125000 -0.051777 -0.051777
|
||||||
|
v 0.125000 -0.187500 -0.051777
|
||||||
|
v 0.051777 -0.187500 -0.125000
|
||||||
|
v -0.125000 -0.051777 -0.051777
|
||||||
|
v -0.051777 -0.187500 -0.125000
|
||||||
|
v -0.125000 -0.187500 -0.051777
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 1.0000 0.2656
|
||||||
|
vt 0.8750 0.2656
|
||||||
|
vt 0.8750 0.2344
|
||||||
|
vt 0.9375 0.2188
|
||||||
|
vt 1.0000 0.2344
|
||||||
|
vt 0.1250 0.2656
|
||||||
|
vt 0.1250 0.2344
|
||||||
|
vt 0.1875 0.2188
|
||||||
|
vt 0.2500 0.2344
|
||||||
|
vt 0.2500 0.2656
|
||||||
|
vt 0.3125 0.2344
|
||||||
|
vt 0.3125 0.2656
|
||||||
|
vt 0.7500 0.2344
|
||||||
|
vt 0.8125 0.2344
|
||||||
|
vt 0.8125 0.2656
|
||||||
|
vt 0.7500 0.2656
|
||||||
|
vt -0.0000 0.2344
|
||||||
|
vt 0.0625 0.2344
|
||||||
|
vt 0.0625 0.2656
|
||||||
|
vt -0.0000 0.2656
|
||||||
|
vt -0.0000 0.2969
|
||||||
|
vt 0.0625 0.2969
|
||||||
|
vt 0.9375 0.3125
|
||||||
|
vt 0.8750 0.2969
|
||||||
|
vt 0.8750 0.2344
|
||||||
|
vt 0.9375 0.2188
|
||||||
|
vt 1.0000 0.2344
|
||||||
|
vt 1.0000 0.2656
|
||||||
|
vt 1.0000 0.2969
|
||||||
|
vt 0.3750 0.5938
|
||||||
|
vt 0.3750 0.5625
|
||||||
|
vt 0.4375 0.5625
|
||||||
|
vt 0.4375 0.5938
|
||||||
|
vt 0.3125 0.5938
|
||||||
|
vt 0.3125 0.5625
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.0000 0.5938
|
||||||
|
vt 0.0000 0.5625
|
||||||
|
vt 0.0625 0.5625
|
||||||
|
vt 0.0625 0.5938
|
||||||
|
vt 0.1250 0.5625
|
||||||
|
vt 0.1250 0.5938
|
||||||
|
vt 0.1875 0.5625
|
||||||
|
vt 0.1875 0.5938
|
||||||
|
vt 0.2500 0.5625
|
||||||
|
vt 0.2500 0.5938
|
||||||
|
vt 1.0000 0.0156
|
||||||
|
vt 1.0000 0.2031
|
||||||
|
vt 0.8750 0.2344
|
||||||
|
vt 0.8750 0.0156
|
||||||
|
vt 0.1250 0.0156
|
||||||
|
vt 0.2500 0.0156
|
||||||
|
vt 0.2500 0.2344
|
||||||
|
vt 0.1250 0.2031
|
||||||
|
vt 0.8750 0.5156
|
||||||
|
vt 0.7500 0.5156
|
||||||
|
vt 0.8750 0.2656
|
||||||
|
vt 0.8750 0.2969
|
||||||
|
vt 1.0000 0.5156
|
||||||
|
vt 1.0000 0.3281
|
||||||
|
vt 0.2500 0.2969
|
||||||
|
vt 0.2500 0.2656
|
||||||
|
vt 0.3750 0.2656
|
||||||
|
vt 0.3750 0.5156
|
||||||
|
vt 0.2500 0.5156
|
||||||
|
vt 0.6250 0.5156
|
||||||
|
vt 0.6250 0.2344
|
||||||
|
vt 0.6875 0.2188
|
||||||
|
vt 0.1250 0.5156
|
||||||
|
vt -0.0000 0.5156
|
||||||
|
vt -0.0000 0.3281
|
||||||
|
vt 0.1250 0.3281
|
||||||
|
vt 0.5000 0.5156
|
||||||
|
vt 0.5000 0.2344
|
||||||
|
vt 0.8125 0.6094
|
||||||
|
vt 0.8125 0.5469
|
||||||
|
vt 0.8750 0.5469
|
||||||
|
vt 0.8750 0.6094
|
||||||
|
vt 0.9375 0.5469
|
||||||
|
vt 0.9375 0.6094
|
||||||
|
vt 1.0000 0.5469
|
||||||
|
vt 1.0000 0.6094
|
||||||
|
vt 0.5000 0.6094
|
||||||
|
vt 0.5000 0.5469
|
||||||
|
vt 0.5625 0.5469
|
||||||
|
vt 0.5625 0.6094
|
||||||
|
vt 0.6250 0.5469
|
||||||
|
vt 0.6250 0.6094
|
||||||
|
vt 0.6875 0.5469
|
||||||
|
vt 0.6875 0.6094
|
||||||
|
vt 0.7500 0.5469
|
||||||
|
vt 0.7500 0.6094
|
||||||
|
vt 0.5000 0.2656
|
||||||
|
vt 0.3750 0.2656
|
||||||
|
vt 0.3750 0.2344
|
||||||
|
vt 0.3750 0.0156
|
||||||
|
vt 0.5000 0.0156
|
||||||
|
vt 0.7500 0.2344
|
||||||
|
vt 0.7500 0.2656
|
||||||
|
vt 0.6250 0.2656
|
||||||
|
vt 0.6250 0.0156
|
||||||
|
vt 0.7500 0.0156
|
||||||
|
vt 0.5625 0.2656
|
||||||
|
vt 0.8125 0.2344
|
||||||
|
vt 0.3125 0.2344
|
||||||
|
vt -0.0000 0.2031
|
||||||
|
vt -0.0000 0.0156
|
||||||
|
vt 0.3750 0.2344
|
||||||
|
vt 0.4375 0.2188
|
||||||
|
vn -0.0000 0.0000 1.0000
|
||||||
|
vn 0.0000 0.0000 -1.0000
|
||||||
|
vn 0.0000 1.0000 -0.0000
|
||||||
|
vn 0.0000 -1.0000 0.0000
|
||||||
|
vn -0.3827 0.0000 -0.9239
|
||||||
|
vn -0.9239 0.0000 -0.3827
|
||||||
|
vn -0.6387 0.5441 -0.5441
|
||||||
|
vn -0.3251 0.3251 -0.8881
|
||||||
|
vn -0.3002 0.3002 -0.9054
|
||||||
|
vn 0.3827 0.0000 -0.9239
|
||||||
|
vn 0.3002 0.3002 -0.9054
|
||||||
|
vn 0.8881 0.3251 -0.3251
|
||||||
|
vn 0.9406 -0.1343 -0.3119
|
||||||
|
vn 0.9239 0.0000 -0.3827
|
||||||
|
vn 0.8171 0.5712 -0.0783
|
||||||
|
vn 1.0000 0.0000 0.0000
|
||||||
|
vn -1.0000 0.0000 0.0000
|
||||||
|
vn -0.8994 0.3725 -0.2288
|
||||||
|
vn -0.0000 0.3827 -0.9239
|
||||||
|
vn 0.1343 0.9406 -0.3119
|
||||||
|
vn 0.5441 0.6386 -0.5441
|
||||||
|
vn 0.2971 -0.7173 -0.6302
|
||||||
|
vn 0.2971 -0.7173 0.6302
|
||||||
|
vn -0.2971 -0.7173 0.6302
|
||||||
|
vn -0.2970 -0.7174 -0.6302
|
||||||
|
vn 0.7173 -0.2971 -0.6302
|
||||||
|
vn 0.7173 -0.2971 0.6302
|
||||||
|
vn -0.7173 -0.2971 0.6302
|
||||||
|
vn -0.7173 -0.2971 -0.6302
|
||||||
|
vn -0.7173 0.2971 0.6302
|
||||||
|
vn -0.7173 0.2971 -0.6302
|
||||||
|
vn -0.2971 0.7173 0.6302
|
||||||
|
vn -0.2972 0.7173 -0.6302
|
||||||
|
vn 0.2971 0.7173 0.6302
|
||||||
|
vn 0.2971 0.7173 -0.6302
|
||||||
|
vn 0.7173 0.2971 0.6302
|
||||||
|
vn 0.7173 0.2971 -0.6302
|
||||||
|
vn -0.3827 0.0000 0.9239
|
||||||
|
vn -0.5743 -0.5789 0.5789
|
||||||
|
vn -0.9878 -0.1101 0.1101
|
||||||
|
vn -0.9239 0.0000 0.3827
|
||||||
|
vn 0.3827 0.0000 0.9239
|
||||||
|
vn 0.9239 0.0000 0.3827
|
||||||
|
vn 0.9878 -0.1101 0.1101
|
||||||
|
vn 0.5743 -0.5789 0.5789
|
||||||
|
vn -0.9239 -0.3827 0.0000
|
||||||
|
vn -0.9239 0.3827 -0.0000
|
||||||
|
vn -0.3827 -0.9239 0.0000
|
||||||
|
vn 0.9239 0.3827 -0.0000
|
||||||
|
vn 0.9239 -0.3827 0.0000
|
||||||
|
vn -0.3827 0.9239 -0.0000
|
||||||
|
vn 0.3827 -0.9239 0.0000
|
||||||
|
vn 0.3827 0.9239 -0.0000
|
||||||
|
vn 0.7173 -0.6302 0.2971
|
||||||
|
vn 0.7173 0.6302 0.2971
|
||||||
|
vn 0.2971 0.6302 0.7173
|
||||||
|
vn 0.2971 -0.6302 0.7173
|
||||||
|
vn -0.2971 0.6302 0.7173
|
||||||
|
vn -0.2971 -0.6302 0.7173
|
||||||
|
vn -0.7173 0.6302 0.2972
|
||||||
|
vn -0.7174 -0.6302 0.2970
|
||||||
|
vn -0.7173 0.6302 -0.2971
|
||||||
|
vn -0.7173 -0.6302 -0.2971
|
||||||
|
vn -0.2971 0.6302 -0.7173
|
||||||
|
vn -0.2970 -0.6302 -0.7174
|
||||||
|
vn 0.2971 0.6302 -0.7173
|
||||||
|
vn 0.2971 -0.6302 -0.7173
|
||||||
|
vn 0.7172 0.6302 -0.2973
|
||||||
|
vn 0.7174 -0.6302 -0.2969
|
||||||
|
g Cylinder.000_Cylinder.000_None_Cylinder.000_Cylinder.000_No.004_Cylinder.000_Cylinder.000_None_Cylinder.000_Cylinder.000_No.004_pipe
|
||||||
|
s off
|
||||||
|
f 1/1/1 2/2/1 3/3/1 4/4/1 5/5/1 6/6/1 7/7/1 8/8/1
|
||||||
|
f 9/9/2 10/10/2 11/11/2 12/12/2 13/13/2 14/14/2 15/15/2 16/16/2
|
||||||
|
f 17/17/3 18/18/3 19/19/3 20/20/3 21/21/3 22/22/3 23/23/3 24/24/3
|
||||||
|
f 25/25/4 26/26/4 27/27/4 28/28/4 29/29/4 30/30/4 31/31/4 32/32/4
|
||||||
|
s 1
|
||||||
|
f 33/33/5 34/34/6 35/35/7 36/36/8 37/37/9
|
||||||
|
f 38/38/10 39/39/11 40/40/12 41/41/13 42/42/14
|
||||||
|
f 41/41/13 43/43/15 44/44/16 42/42/14
|
||||||
|
f 35/45/7 34/46/6 45/47/17 46/48/18
|
||||||
|
f 39/49/11 38/50/10 47/51/2 48/52/19
|
||||||
|
f 37/53/9 48/52/19 47/51/2 33/54/5
|
||||||
|
f 36/55/8 49/56/20 50/57/21 40/58/12 39/59/11 48/60/19 37/61/9
|
||||||
|
f 10/62/22 1/63/23 8/64/24 11/65/25
|
||||||
|
f 9/66/26 2/67/27 1/63/23 10/62/22
|
||||||
|
f 11/65/25 8/64/24 7/68/28 12/69/29
|
||||||
|
f 12/70/29 7/71/28 6/72/30 13/73/31
|
||||||
|
f 13/73/31 6/72/30 5/74/32 14/75/33
|
||||||
|
f 14/75/33 5/74/32 4/76/34 15/77/35
|
||||||
|
f 15/77/35 4/76/34 3/78/36 16/79/37
|
||||||
|
f 16/79/37 3/78/36 2/67/27 9/66/26
|
||||||
|
f 51/80/38 52/81/39 53/82/40 54/83/41
|
||||||
|
f 55/84/42 56/85/43 57/86/44 58/87/45
|
||||||
|
f 59/88/46 60/89/47 46/48/18 45/47/17 61/90/17 53/91/40
|
||||||
|
f 62/92/48 59/88/46 53/91/40 52/93/39
|
||||||
|
f 57/94/44 63/95/16 44/44/16 43/96/15 64/97/49 65/98/50
|
||||||
|
f 60/89/47 66/99/51 49/100/20 36/101/8 35/45/7 46/48/18
|
||||||
|
f 67/102/52 62/103/48 52/104/39 58/105/45
|
||||||
|
f 66/99/51 68/106/53 50/107/21 49/100/20
|
||||||
|
f 25/108/54 18/109/55 17/110/56 26/111/57
|
||||||
|
f 26/111/57 17/110/56 24/112/58 27/113/59
|
||||||
|
f 27/113/59 24/112/58 23/114/60 28/115/61
|
||||||
|
f 28/116/61 23/117/60 22/118/62 29/119/63
|
||||||
|
f 29/119/63 22/118/62 21/120/64 30/121/65
|
||||||
|
f 30/121/65 21/120/64 20/122/66 31/123/67
|
||||||
|
f 31/123/67 20/122/66 19/124/68 32/125/69
|
||||||
|
f 32/125/69 19/124/68 18/109/55 25/108/54
|
||||||
|
f 38/126/10 42/127/14 69/128/14 70/129/14 71/130/10
|
||||||
|
f 72/131/6 34/132/6 33/133/5 73/134/5 74/135/6
|
||||||
|
f 67/102/52 58/105/45 57/94/44 65/98/50
|
||||||
|
f 73/134/5 33/133/5 47/136/2 38/126/10 71/130/10
|
||||||
|
f 54/83/41 53/82/40 61/137/17 72/131/6 74/135/6
|
||||||
|
f 56/85/43 70/129/14 69/128/14 63/138/16 57/86/44
|
||||||
|
f 55/84/42 58/87/45 52/139/39 51/140/38
|
||||||
|
f 42/127/14 44/44/16 63/138/16 69/128/14
|
||||||
|
f 72/131/6 61/137/17 45/47/17 34/132/6
|
||||||
|
f 64/97/49 43/96/15 41/141/13 40/142/12 50/107/21 68/106/53
|
392
models/pipeworks_spigot_pouring_lowpoly.obj
Normal file
@ -0,0 +1,392 @@
|
|||||||
|
# Blender v2.78 (sub 0) OBJ File: 'pipe-master-lowpoly.blend'
|
||||||
|
# www.blender.org
|
||||||
|
o Cylinder.000_Cylinder.000_None_Cylinder.000_Cylinder.000_No.004
|
||||||
|
v 0.064721 -0.156250 0.500000
|
||||||
|
v 0.156250 -0.064721 0.500000
|
||||||
|
v 0.156250 0.064721 0.500000
|
||||||
|
v 0.064721 0.156250 0.500000
|
||||||
|
v -0.064721 0.156250 0.500000
|
||||||
|
v -0.156250 0.064721 0.500000
|
||||||
|
v -0.156250 -0.064721 0.500000
|
||||||
|
v -0.064721 -0.156250 0.500000
|
||||||
|
v 0.156250 -0.064721 0.468750
|
||||||
|
v 0.064721 -0.156250 0.468750
|
||||||
|
v -0.064721 -0.156250 0.468750
|
||||||
|
v -0.156250 -0.064721 0.468750
|
||||||
|
v -0.156250 0.064721 0.468750
|
||||||
|
v -0.064721 0.156250 0.468750
|
||||||
|
v 0.064721 0.156250 0.468750
|
||||||
|
v 0.156250 0.064721 0.468750
|
||||||
|
v 0.064721 -0.187500 0.156250
|
||||||
|
v 0.156250 -0.187500 0.064721
|
||||||
|
v 0.156250 -0.187500 -0.064721
|
||||||
|
v 0.064721 -0.187500 -0.156250
|
||||||
|
v -0.064721 -0.187500 -0.156250
|
||||||
|
v -0.156250 -0.187500 -0.064721
|
||||||
|
v -0.156250 -0.187500 0.064721
|
||||||
|
v -0.064721 -0.187500 0.156250
|
||||||
|
v 0.156250 -0.250000 0.064721
|
||||||
|
v 0.064721 -0.250000 0.156250
|
||||||
|
v -0.064721 -0.250000 0.156250
|
||||||
|
v -0.156250 -0.250000 0.064721
|
||||||
|
v -0.156250 -0.250000 -0.064721
|
||||||
|
v -0.064721 -0.250000 -0.156250
|
||||||
|
v 0.064721 -0.250000 -0.156250
|
||||||
|
v 0.156250 -0.250000 -0.064721
|
||||||
|
v -0.051777 -0.000000 -0.125000
|
||||||
|
v -0.125000 -0.000000 -0.051777
|
||||||
|
v -0.125000 0.051777 -0.051777
|
||||||
|
v -0.088388 0.088388 -0.088388
|
||||||
|
v -0.051777 0.051777 -0.125000
|
||||||
|
v 0.051777 -0.000000 -0.125000
|
||||||
|
v 0.051777 0.051777 -0.125000
|
||||||
|
v 0.088388 0.088389 -0.088388
|
||||||
|
v 0.125000 0.051777 -0.051777
|
||||||
|
v 0.125000 -0.000000 -0.051777
|
||||||
|
v 0.125000 0.051777 -0.000000
|
||||||
|
v 0.125000 0.000000 0.000000
|
||||||
|
v -0.125000 0.000000 0.000000
|
||||||
|
v -0.125000 0.051777 -0.000000
|
||||||
|
v 0.000000 -0.000000 -0.125000
|
||||||
|
v 0.000000 0.051777 -0.125000
|
||||||
|
v -0.051777 0.125000 -0.051777
|
||||||
|
v 0.051777 0.125000 -0.051777
|
||||||
|
v -0.051777 -0.187500 0.125000
|
||||||
|
v -0.051777 -0.125000 0.125000
|
||||||
|
v -0.125000 -0.051777 0.051777
|
||||||
|
v -0.125000 -0.187500 0.051777
|
||||||
|
v 0.051777 -0.187500 0.125000
|
||||||
|
v 0.125000 -0.187500 0.051777
|
||||||
|
v 0.125000 -0.051777 0.051777
|
||||||
|
v 0.051777 -0.125000 0.125000
|
||||||
|
v -0.125000 -0.051777 0.468750
|
||||||
|
v -0.125000 0.051777 0.468750
|
||||||
|
v -0.125000 -0.051777 0.000000
|
||||||
|
v -0.051777 -0.125000 0.468750
|
||||||
|
v 0.125000 -0.051777 0.000000
|
||||||
|
v 0.125000 0.051777 0.468750
|
||||||
|
v 0.125000 -0.051777 0.468750
|
||||||
|
v -0.051777 0.125000 0.468750
|
||||||
|
v 0.051777 -0.125000 0.468750
|
||||||
|
v 0.051777 0.125000 0.468750
|
||||||
|
v 0.125000 -0.051777 -0.051777
|
||||||
|
v 0.125000 -0.187500 -0.051777
|
||||||
|
v 0.051777 -0.187500 -0.125000
|
||||||
|
v -0.125000 -0.051777 -0.051777
|
||||||
|
v -0.051777 -0.187500 -0.125000
|
||||||
|
v -0.125000 -0.187500 -0.051777
|
||||||
|
v 0.091145 -0.250000 0.037754
|
||||||
|
v 0.037754 -0.250000 0.091145
|
||||||
|
v -0.037754 -0.250000 0.091145
|
||||||
|
v -0.091145 -0.250000 0.037754
|
||||||
|
v -0.091145 -0.250000 -0.037754
|
||||||
|
v -0.037754 -0.250000 -0.091145
|
||||||
|
v 0.037754 -0.250000 -0.091145
|
||||||
|
v 0.091145 -0.250000 -0.037754
|
||||||
|
v 0.037754 -0.562500 0.091145
|
||||||
|
v -0.037754 -0.562500 0.091145
|
||||||
|
v -0.037754 -0.562500 -0.091145
|
||||||
|
v 0.037754 -0.562500 -0.091145
|
||||||
|
v 0.091145 -0.562500 0.037754
|
||||||
|
v 0.091145 -0.562500 -0.037754
|
||||||
|
v -0.091145 -0.562500 0.037754
|
||||||
|
v -0.091145 -0.562500 -0.037754
|
||||||
|
vt 0.3934 0.4559
|
||||||
|
vt 0.4559 0.3934
|
||||||
|
vt 0.5441 0.3934
|
||||||
|
vt 0.6066 0.4559
|
||||||
|
vt 0.6066 0.5441
|
||||||
|
vt 0.5441 0.6066
|
||||||
|
vt 0.4559 0.6066
|
||||||
|
vt 0.3934 0.5441
|
||||||
|
vt 0.2500 0.2500
|
||||||
|
vt 0.1250 0.2500
|
||||||
|
vt 0.1250 -0.0625
|
||||||
|
vt 0.2500 -0.0625
|
||||||
|
vt 1.0000 0.2500
|
||||||
|
vt 0.8750 0.2500
|
||||||
|
vt 0.8750 -0.0625
|
||||||
|
vt 1.0000 -0.0625
|
||||||
|
vt 0.7500 0.2500
|
||||||
|
vt 0.6250 0.2500
|
||||||
|
vt 0.6250 -0.0625
|
||||||
|
vt 0.7500 -0.0625
|
||||||
|
vt 0.5000 0.2500
|
||||||
|
vt 0.5000 -0.0625
|
||||||
|
vt 0.3750 0.2500
|
||||||
|
vt 0.3750 -0.0625
|
||||||
|
vt 0.0000 0.2500
|
||||||
|
vt 0.0000 -0.0625
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 1.0000 0.2656
|
||||||
|
vt 0.8750 0.2656
|
||||||
|
vt 0.8750 0.2344
|
||||||
|
vt 0.9375 0.2188
|
||||||
|
vt 1.0000 0.2344
|
||||||
|
vt 0.1250 0.2656
|
||||||
|
vt 0.1250 0.2344
|
||||||
|
vt 0.1875 0.2188
|
||||||
|
vt 0.2500 0.2344
|
||||||
|
vt 0.2500 0.2656
|
||||||
|
vt 0.3125 0.2344
|
||||||
|
vt 0.3125 0.2656
|
||||||
|
vt 0.7500 0.2344
|
||||||
|
vt 0.8125 0.2344
|
||||||
|
vt 0.8125 0.2656
|
||||||
|
vt 0.7500 0.2656
|
||||||
|
vt -0.0000 0.2344
|
||||||
|
vt 0.0625 0.2344
|
||||||
|
vt 0.0625 0.2656
|
||||||
|
vt -0.0000 0.2656
|
||||||
|
vt -0.0000 0.2969
|
||||||
|
vt 0.0625 0.2969
|
||||||
|
vt 0.9375 0.3125
|
||||||
|
vt 0.8750 0.2969
|
||||||
|
vt 0.8750 0.2344
|
||||||
|
vt 0.9375 0.2188
|
||||||
|
vt 1.0000 0.2344
|
||||||
|
vt 1.0000 0.2656
|
||||||
|
vt 1.0000 0.2969
|
||||||
|
vt 0.3750 0.5938
|
||||||
|
vt 0.3750 0.5625
|
||||||
|
vt 0.4375 0.5625
|
||||||
|
vt 0.4375 0.5938
|
||||||
|
vt 0.3125 0.5938
|
||||||
|
vt 0.3125 0.5625
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.0000 0.5938
|
||||||
|
vt 0.0000 0.5625
|
||||||
|
vt 0.0625 0.5625
|
||||||
|
vt 0.0625 0.5938
|
||||||
|
vt 0.1250 0.5625
|
||||||
|
vt 0.1250 0.5938
|
||||||
|
vt 0.1875 0.5625
|
||||||
|
vt 0.1875 0.5938
|
||||||
|
vt 0.2500 0.5625
|
||||||
|
vt 0.2500 0.5938
|
||||||
|
vt 1.0000 0.0156
|
||||||
|
vt 1.0000 0.2031
|
||||||
|
vt 0.8750 0.2344
|
||||||
|
vt 0.8750 0.0156
|
||||||
|
vt 0.1250 0.0156
|
||||||
|
vt 0.2500 0.0156
|
||||||
|
vt 0.2500 0.2344
|
||||||
|
vt 0.1250 0.2031
|
||||||
|
vt 0.8750 0.5156
|
||||||
|
vt 0.7500 0.5156
|
||||||
|
vt 0.8750 0.2656
|
||||||
|
vt 0.8750 0.2969
|
||||||
|
vt 1.0000 0.5156
|
||||||
|
vt 1.0000 0.3281
|
||||||
|
vt 0.2500 0.2969
|
||||||
|
vt 0.2500 0.2656
|
||||||
|
vt 0.3750 0.2656
|
||||||
|
vt 0.3750 0.5156
|
||||||
|
vt 0.2500 0.5156
|
||||||
|
vt 0.6250 0.5156
|
||||||
|
vt 0.6250 0.2344
|
||||||
|
vt 0.6875 0.2188
|
||||||
|
vt 0.1250 0.5156
|
||||||
|
vt -0.0000 0.5156
|
||||||
|
vt -0.0000 0.3281
|
||||||
|
vt 0.1250 0.3281
|
||||||
|
vt 0.5000 0.5156
|
||||||
|
vt 0.5000 0.2344
|
||||||
|
vt 0.8125 0.6094
|
||||||
|
vt 0.8125 0.5469
|
||||||
|
vt 0.8750 0.5469
|
||||||
|
vt 0.8750 0.6094
|
||||||
|
vt 0.9375 0.5469
|
||||||
|
vt 0.9375 0.6094
|
||||||
|
vt 1.0000 0.5469
|
||||||
|
vt 1.0000 0.6094
|
||||||
|
vt 0.5000 0.6094
|
||||||
|
vt 0.5000 0.5469
|
||||||
|
vt 0.5625 0.5469
|
||||||
|
vt 0.5625 0.6094
|
||||||
|
vt 0.6250 0.5469
|
||||||
|
vt 0.6250 0.6094
|
||||||
|
vt 0.6875 0.5469
|
||||||
|
vt 0.6875 0.6094
|
||||||
|
vt 0.7500 0.5469
|
||||||
|
vt 0.7500 0.6094
|
||||||
|
vt 0.5000 0.2656
|
||||||
|
vt 0.3750 0.2656
|
||||||
|
vt 0.3750 0.2344
|
||||||
|
vt 0.3750 0.0156
|
||||||
|
vt 0.5000 0.0156
|
||||||
|
vt 0.7500 0.2344
|
||||||
|
vt 0.7500 0.2656
|
||||||
|
vt 0.6250 0.2656
|
||||||
|
vt 0.6250 0.0156
|
||||||
|
vt 0.7500 0.0156
|
||||||
|
vt 0.5625 0.2656
|
||||||
|
vt 0.8125 0.2344
|
||||||
|
vt 0.3125 0.2344
|
||||||
|
vt -0.0000 0.2031
|
||||||
|
vt -0.0000 0.0156
|
||||||
|
vt 0.3750 0.2344
|
||||||
|
vt 0.4375 0.2188
|
||||||
|
vn 0.0000 -1.0000 -0.0000
|
||||||
|
vn 1.0000 0.0000 0.0000
|
||||||
|
vn 0.0000 0.0000 1.0000
|
||||||
|
vn -1.0000 0.0000 0.0000
|
||||||
|
vn -0.7071 -0.0000 -0.7071
|
||||||
|
vn -0.7071 0.0000 0.7071
|
||||||
|
vn 0.0000 -0.0000 -1.0000
|
||||||
|
vn 0.7071 -0.0000 -0.7071
|
||||||
|
vn 0.7071 0.0000 0.7071
|
||||||
|
vn 0.0000 1.0000 -0.0000
|
||||||
|
vn -0.3827 0.0000 -0.9239
|
||||||
|
vn -0.9239 0.0000 -0.3827
|
||||||
|
vn -0.6387 0.5441 -0.5441
|
||||||
|
vn -0.3251 0.3251 -0.8881
|
||||||
|
vn -0.3002 0.3002 -0.9054
|
||||||
|
vn 0.3827 0.0000 -0.9239
|
||||||
|
vn 0.3002 0.3002 -0.9054
|
||||||
|
vn 0.8881 0.3251 -0.3251
|
||||||
|
vn 0.9406 -0.1343 -0.3119
|
||||||
|
vn 0.9239 0.0000 -0.3827
|
||||||
|
vn 0.8171 0.5712 -0.0783
|
||||||
|
vn -0.8994 0.3725 -0.2288
|
||||||
|
vn -0.0000 0.3827 -0.9239
|
||||||
|
vn 0.1343 0.9406 -0.3119
|
||||||
|
vn 0.5441 0.6386 -0.5441
|
||||||
|
vn 0.2971 -0.7173 -0.6302
|
||||||
|
vn 0.2971 -0.7173 0.6302
|
||||||
|
vn -0.2971 -0.7173 0.6302
|
||||||
|
vn -0.2970 -0.7174 -0.6302
|
||||||
|
vn 0.7173 -0.2971 -0.6302
|
||||||
|
vn 0.7173 -0.2971 0.6302
|
||||||
|
vn -0.7173 -0.2971 0.6302
|
||||||
|
vn -0.7173 -0.2971 -0.6302
|
||||||
|
vn -0.7173 0.2971 0.6302
|
||||||
|
vn -0.7173 0.2971 -0.6302
|
||||||
|
vn -0.2971 0.7173 0.6302
|
||||||
|
vn -0.2972 0.7173 -0.6302
|
||||||
|
vn 0.2971 0.7173 0.6302
|
||||||
|
vn 0.2971 0.7173 -0.6302
|
||||||
|
vn 0.7173 0.2971 0.6302
|
||||||
|
vn 0.7173 0.2971 -0.6302
|
||||||
|
vn -0.3827 0.0000 0.9239
|
||||||
|
vn -0.5743 -0.5789 0.5789
|
||||||
|
vn -0.9878 -0.1101 0.1101
|
||||||
|
vn -0.9239 0.0000 0.3827
|
||||||
|
vn 0.3827 0.0000 0.9239
|
||||||
|
vn 0.9239 0.0000 0.3827
|
||||||
|
vn 0.9878 -0.1101 0.1101
|
||||||
|
vn 0.5743 -0.5789 0.5789
|
||||||
|
vn -0.9239 -0.3827 0.0000
|
||||||
|
vn -0.9239 0.3827 -0.0000
|
||||||
|
vn -0.3827 -0.9239 0.0000
|
||||||
|
vn 0.9239 0.3827 -0.0000
|
||||||
|
vn 0.9239 -0.3827 0.0000
|
||||||
|
vn -0.3827 0.9239 -0.0000
|
||||||
|
vn 0.3827 -0.9239 0.0000
|
||||||
|
vn 0.3827 0.9239 -0.0000
|
||||||
|
vn 0.7173 -0.6302 0.2971
|
||||||
|
vn 0.7173 0.6302 0.2971
|
||||||
|
vn 0.2971 0.6302 0.7173
|
||||||
|
vn 0.2971 -0.6302 0.7173
|
||||||
|
vn -0.2971 0.6302 0.7173
|
||||||
|
vn -0.2971 -0.6302 0.7173
|
||||||
|
vn -0.7173 0.6302 0.2972
|
||||||
|
vn -0.7174 -0.6302 0.2970
|
||||||
|
vn -0.7173 0.6302 -0.2971
|
||||||
|
vn -0.7173 -0.6302 -0.2971
|
||||||
|
vn -0.2971 0.6302 -0.7173
|
||||||
|
vn -0.2970 -0.6302 -0.7174
|
||||||
|
vn 0.2971 0.6302 -0.7173
|
||||||
|
vn 0.2971 -0.6302 -0.7173
|
||||||
|
vn 0.7172 0.6302 -0.2973
|
||||||
|
vn 0.7174 -0.6302 -0.2969
|
||||||
|
g Cylinder.000_Cylinder.000_None_Cylinder.000_Cylinder.000_No.004_Cylinder.000_Cylinder.000_None_Cylinder.000_Cylinder.000_No.004_pipe
|
||||||
|
s off
|
||||||
|
f 87/1/1 83/2/1 84/3/1 89/4/1 90/5/1 85/6/1 86/7/1 88/8/1
|
||||||
|
f 82/9/2 75/10/2 87/11/2 88/12/2
|
||||||
|
f 76/13/3 77/14/3 84/15/3 83/16/3
|
||||||
|
f 78/17/4 79/18/4 90/19/4 89/20/4
|
||||||
|
f 79/18/5 80/21/5 85/22/5 90/19/5
|
||||||
|
f 77/14/6 78/17/6 89/20/6 84/15/6
|
||||||
|
f 80/21/7 81/23/7 86/24/7 85/22/7
|
||||||
|
f 81/23/8 82/9/8 88/12/8 86/24/8
|
||||||
|
f 75/10/9 76/25/9 83/26/9 87/11/9
|
||||||
|
g Cylinder.000_Cylinder.000_None_Cylinder.000_Cylinder.000_No.004_Cylinder.000_Cylinder.000_None_Cylinder.000_Cylinder.000_No.004_pipe_pipeworks_pipe_plain.png
|
||||||
|
f 1/27/3 2/28/3 3/29/3 4/30/3 5/31/3 6/32/3 7/33/3 8/34/3
|
||||||
|
f 9/35/7 10/36/7 11/37/7 12/38/7 13/39/7 14/40/7 15/41/7 16/42/7
|
||||||
|
f 17/43/10 18/44/10 19/45/10 20/46/10 21/47/10 22/48/10 23/49/10 24/50/10
|
||||||
|
f 25/51/1 26/52/1 27/53/1 28/54/1 29/55/1 30/56/1 31/57/1 32/58/1
|
||||||
|
s 1
|
||||||
|
f 33/59/11 34/60/12 35/61/13 36/62/14 37/63/15
|
||||||
|
f 38/64/16 39/65/17 40/66/18 41/67/19 42/68/20
|
||||||
|
f 41/67/19 43/69/21 44/70/2 42/68/20
|
||||||
|
f 35/71/13 34/72/12 45/73/4 46/74/22
|
||||||
|
f 39/75/17 38/76/16 47/77/7 48/78/23
|
||||||
|
f 37/79/15 48/78/23 47/77/7 33/80/11
|
||||||
|
f 36/81/14 49/82/24 50/83/25 40/84/18 39/85/17 48/86/23 37/87/15
|
||||||
|
f 10/88/26 1/89/27 8/90/28 11/91/29
|
||||||
|
f 9/92/30 2/93/31 1/89/27 10/88/26
|
||||||
|
f 11/91/29 8/90/28 7/94/32 12/95/33
|
||||||
|
f 12/96/33 7/97/32 6/98/34 13/99/35
|
||||||
|
f 13/99/35 6/98/34 5/100/36 14/101/37
|
||||||
|
f 14/101/37 5/100/36 4/102/38 15/103/39
|
||||||
|
f 15/103/39 4/102/38 3/104/40 16/105/41
|
||||||
|
f 16/105/41 3/104/40 2/93/31 9/92/30
|
||||||
|
f 51/106/42 52/107/43 53/108/44 54/109/45
|
||||||
|
f 55/110/46 56/111/47 57/112/48 58/113/49
|
||||||
|
f 59/114/50 60/115/51 46/74/22 45/73/4 61/116/4 53/117/44
|
||||||
|
f 62/118/52 59/114/50 53/117/44 52/119/43
|
||||||
|
f 57/120/48 63/121/2 44/70/2 43/122/21 64/123/53 65/124/54
|
||||||
|
f 60/115/51 66/125/55 49/126/24 36/127/14 35/71/13 46/74/22
|
||||||
|
f 67/128/56 62/129/52 52/130/43 58/131/49
|
||||||
|
f 66/125/55 68/132/57 50/133/25 49/126/24
|
||||||
|
f 25/134/58 18/135/59 17/136/60 26/137/61
|
||||||
|
f 26/137/61 17/136/60 24/138/62 27/139/63
|
||||||
|
f 27/139/63 24/138/62 23/140/64 28/141/65
|
||||||
|
f 28/142/65 23/143/64 22/144/66 29/145/67
|
||||||
|
f 29/145/67 22/144/66 21/146/68 30/147/69
|
||||||
|
f 30/147/69 21/146/68 20/148/70 31/149/71
|
||||||
|
f 31/149/71 20/148/70 19/150/72 32/151/73
|
||||||
|
f 32/151/73 19/150/72 18/135/59 25/134/58
|
||||||
|
f 38/152/16 42/153/20 69/154/20 70/155/20 71/156/16
|
||||||
|
f 72/157/12 34/158/12 33/159/11 73/160/11 74/161/12
|
||||||
|
f 67/128/56 58/131/49 57/120/48 65/124/54
|
||||||
|
f 73/160/11 33/159/11 47/162/7 38/152/16 71/156/16
|
||||||
|
f 54/109/45 53/108/44 61/163/4 72/157/12 74/161/12
|
||||||
|
f 56/111/47 70/155/20 69/154/20 63/164/2 57/112/48
|
||||||
|
f 55/110/46 58/113/49 52/165/43 51/166/42
|
||||||
|
f 42/153/20 44/70/2 63/164/2 69/154/20
|
||||||
|
f 72/157/12 61/163/4 45/73/4 34/158/12
|
||||||
|
f 64/123/53 43/122/21 41/167/19 40/168/18 50/133/25 68/132/57
|
2507
models/pipeworks_straight_pipe.obj
Normal file
194
models/pipeworks_straight_pipe_lowpoly.obj
Normal file
@ -0,0 +1,194 @@
|
|||||||
|
# Blender v2.78 (sub 0) OBJ File: ''
|
||||||
|
# www.blender.org
|
||||||
|
o Cylinder.000_Cylinder.000_None
|
||||||
|
v 0.064721 -0.156250 -0.468750
|
||||||
|
v 0.156250 -0.064721 -0.468750
|
||||||
|
v 0.156250 0.064721 -0.468750
|
||||||
|
v 0.064721 0.156250 -0.468750
|
||||||
|
v -0.064721 0.156250 -0.468750
|
||||||
|
v -0.156250 0.064721 -0.468750
|
||||||
|
v -0.156250 -0.064721 -0.468750
|
||||||
|
v -0.064721 -0.156250 -0.468750
|
||||||
|
v 0.156250 -0.064721 -0.500000
|
||||||
|
v 0.064721 -0.156250 -0.500000
|
||||||
|
v -0.064721 -0.156250 -0.500000
|
||||||
|
v -0.156250 -0.064721 -0.500000
|
||||||
|
v -0.156250 0.064721 -0.500000
|
||||||
|
v -0.064721 0.156250 -0.500000
|
||||||
|
v 0.064721 0.156250 -0.500000
|
||||||
|
v 0.156250 0.064721 -0.500000
|
||||||
|
v 0.064721 -0.156250 0.500000
|
||||||
|
v 0.156250 -0.064721 0.500000
|
||||||
|
v 0.156250 0.064721 0.500000
|
||||||
|
v 0.064721 0.156250 0.500000
|
||||||
|
v -0.064721 0.156250 0.500000
|
||||||
|
v -0.156250 0.064721 0.500000
|
||||||
|
v -0.156250 -0.064721 0.500000
|
||||||
|
v -0.064721 -0.156250 0.500000
|
||||||
|
v 0.156250 -0.064721 0.468750
|
||||||
|
v 0.064721 -0.156250 0.468750
|
||||||
|
v -0.064721 -0.156250 0.468750
|
||||||
|
v -0.156250 -0.064721 0.468750
|
||||||
|
v -0.156250 0.064721 0.468750
|
||||||
|
v -0.064721 0.156250 0.468750
|
||||||
|
v 0.064721 0.156250 0.468750
|
||||||
|
v 0.156250 0.064721 0.468750
|
||||||
|
v -0.125000 -0.051777 0.468750
|
||||||
|
v -0.125000 0.051777 0.468750
|
||||||
|
v -0.125000 0.051777 -0.468750
|
||||||
|
v -0.125000 -0.051777 -0.468750
|
||||||
|
v 0.051777 0.125000 0.468750
|
||||||
|
v 0.125000 0.051777 0.468750
|
||||||
|
v 0.125000 0.051777 -0.468750
|
||||||
|
v 0.051777 0.125000 -0.468750
|
||||||
|
v -0.051777 0.125000 0.468750
|
||||||
|
v -0.051777 0.125000 -0.468750
|
||||||
|
v -0.051777 -0.125000 -0.468750
|
||||||
|
v -0.051777 -0.125000 0.468750
|
||||||
|
v 0.051777 -0.125000 -0.468750
|
||||||
|
v 0.125000 -0.051777 -0.468750
|
||||||
|
v 0.125000 -0.051777 0.468750
|
||||||
|
v 0.051777 -0.125000 0.468750
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.3438 0.8906
|
||||||
|
vt 0.2500 0.9844
|
||||||
|
vt 0.1250 0.9844
|
||||||
|
vt 0.0312 0.8906
|
||||||
|
vt 0.0312 0.7656
|
||||||
|
vt 0.1250 0.6719
|
||||||
|
vt 0.2500 0.6719
|
||||||
|
vt 0.3438 0.7656
|
||||||
|
vt 0.6250 0.9844
|
||||||
|
vt 0.7188 0.8906
|
||||||
|
vt 0.7188 0.7656
|
||||||
|
vt 0.6250 0.6719
|
||||||
|
vt 0.5000 0.6719
|
||||||
|
vt 0.4062 0.7656
|
||||||
|
vt 0.4062 0.8906
|
||||||
|
vt 0.5000 0.9844
|
||||||
|
vt 0.8125 0.5938
|
||||||
|
vt 0.8125 0.5625
|
||||||
|
vt 0.8750 0.5625
|
||||||
|
vt 0.8750 0.5938
|
||||||
|
vt 0.9375 0.5625
|
||||||
|
vt 0.9375 0.5938
|
||||||
|
vt 1.0000 0.5625
|
||||||
|
vt 1.0000 0.5938
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5625 0.5625
|
||||||
|
vt 0.5625 0.5938
|
||||||
|
vt 0.6250 0.5625
|
||||||
|
vt 0.6250 0.5938
|
||||||
|
vt 0.6875 0.5625
|
||||||
|
vt 0.6875 0.5938
|
||||||
|
vt 0.7500 0.5625
|
||||||
|
vt 0.7500 0.5938
|
||||||
|
vt 0.3750 0.5938
|
||||||
|
vt 0.3750 0.5625
|
||||||
|
vt 0.4375 0.5625
|
||||||
|
vt 0.4375 0.5938
|
||||||
|
vt 0.3125 0.5938
|
||||||
|
vt 0.3125 0.5625
|
||||||
|
vt 0.5000 0.5625
|
||||||
|
vt 0.5000 0.5938
|
||||||
|
vt 0.0000 0.5938
|
||||||
|
vt 0.0000 0.5625
|
||||||
|
vt 0.0625 0.5625
|
||||||
|
vt 0.0625 0.5938
|
||||||
|
vt 0.1250 0.5625
|
||||||
|
vt 0.1250 0.5938
|
||||||
|
vt 0.1875 0.5625
|
||||||
|
vt 0.1875 0.5938
|
||||||
|
vt 0.2500 0.5625
|
||||||
|
vt 0.2500 0.5938
|
||||||
|
vt 1.0624 0.5135
|
||||||
|
vt 0.9370 0.5135
|
||||||
|
vt 0.9370 0.0130
|
||||||
|
vt 1.0624 0.0130
|
||||||
|
vt 0.6862 0.5135
|
||||||
|
vt 0.5608 0.5135
|
||||||
|
vt 0.5608 0.0130
|
||||||
|
vt 0.6862 0.0130
|
||||||
|
vt 0.8116 0.5135
|
||||||
|
vt 0.8116 0.0130
|
||||||
|
vt 1.1878 0.0130
|
||||||
|
vt 1.1878 0.5135
|
||||||
|
vt 0.3100 0.0130
|
||||||
|
vt 0.4354 0.0130
|
||||||
|
vt 0.4354 0.5135
|
||||||
|
vt 0.3100 0.5135
|
||||||
|
vt 0.1846 0.0130
|
||||||
|
vt 0.1846 0.5135
|
||||||
|
vn -0.0000 0.0000 1.0000
|
||||||
|
vn 0.0000 0.0000 -1.0000
|
||||||
|
vn 0.7173 -0.2971 -0.6302
|
||||||
|
vn 0.7173 -0.2971 0.6302
|
||||||
|
vn 0.2971 -0.7173 0.6302
|
||||||
|
vn 0.2971 -0.7173 -0.6302
|
||||||
|
vn -0.2971 -0.7173 0.6302
|
||||||
|
vn -0.2971 -0.7173 -0.6302
|
||||||
|
vn -0.7173 -0.2971 0.6302
|
||||||
|
vn -0.7173 -0.2971 -0.6302
|
||||||
|
vn -0.7173 0.2971 0.6302
|
||||||
|
vn -0.7173 0.2971 -0.6302
|
||||||
|
vn -0.2971 0.7173 0.6302
|
||||||
|
vn -0.2971 0.7173 -0.6302
|
||||||
|
vn 0.2971 0.7173 0.6302
|
||||||
|
vn 0.2971 0.7173 -0.6302
|
||||||
|
vn 0.7173 0.2971 0.6302
|
||||||
|
vn 0.7173 0.2971 -0.6302
|
||||||
|
vn -0.9239 -0.3827 -0.0000
|
||||||
|
vn -0.9239 0.3827 -0.0000
|
||||||
|
vn 0.3827 0.9239 0.0000
|
||||||
|
vn 0.9239 0.3827 0.0000
|
||||||
|
vn -0.3827 0.9239 -0.0000
|
||||||
|
vn -0.3827 -0.9239 -0.0000
|
||||||
|
vn 0.3827 -0.9239 0.0000
|
||||||
|
vn 0.9239 -0.3827 0.0000
|
||||||
|
g Cylinder.000_Cylinder.000_None_Cylinder.000_Cylinder.000_None_None
|
||||||
|
s off
|
||||||
|
f 1/1/1 2/2/1 3/3/1 4/4/1 5/5/1 6/6/1 7/7/1 8/8/1
|
||||||
|
f 9/9/2 10/10/2 11/11/2 12/12/2 13/13/2 14/14/2 15/15/2 16/16/2
|
||||||
|
f 17/17/1 18/18/1 19/19/1 20/20/1 21/21/1 22/22/1 23/23/1 24/24/1
|
||||||
|
f 25/25/2 26/26/2 27/27/2 28/28/2 29/29/2 30/30/2 31/31/2 32/32/2
|
||||||
|
s 1
|
||||||
|
f 9/33/3 2/34/4 1/35/5 10/36/6
|
||||||
|
f 10/36/6 1/35/5 8/37/7 11/38/8
|
||||||
|
f 11/38/8 8/37/7 7/39/9 12/40/10
|
||||||
|
f 12/41/10 7/42/9 6/43/11 13/44/12
|
||||||
|
f 13/44/12 6/43/11 5/45/13 14/46/14
|
||||||
|
f 14/46/14 5/45/13 4/47/15 15/48/16
|
||||||
|
f 15/48/16 4/47/15 3/49/17 16/50/18
|
||||||
|
f 16/50/18 3/49/17 2/34/4 9/33/3
|
||||||
|
f 26/51/6 17/52/5 24/53/7 27/54/8
|
||||||
|
f 25/55/3 18/56/4 17/52/5 26/51/6
|
||||||
|
f 27/54/8 24/53/7 23/57/9 28/58/10
|
||||||
|
f 28/59/10 23/60/9 22/61/11 29/62/12
|
||||||
|
f 29/62/12 22/61/11 21/63/13 30/64/14
|
||||||
|
f 30/64/14 21/63/13 20/65/15 31/66/16
|
||||||
|
f 31/66/16 20/65/15 19/67/17 32/68/18
|
||||||
|
f 32/68/18 19/67/17 18/56/4 25/55/3
|
||||||
|
f 33/69/19 34/70/20 35/71/20 36/72/19
|
||||||
|
f 37/73/21 38/74/22 39/75/22 40/76/21
|
||||||
|
f 34/70/20 41/77/23 42/78/23 35/71/20
|
||||||
|
f 33/69/19 36/72/19 43/79/24 44/80/24
|
||||||
|
f 45/81/25 46/82/26 47/83/26 48/84/25
|
||||||
|
f 43/85/24 45/81/25 48/84/25 44/86/24
|
||||||
|
f 37/73/21 40/76/21 42/78/23 41/77/23
|
||||||
|
f 46/82/26 39/75/22 38/74/22 47/83/26
|
286
models/pipeworks_valve_off_lowpoly.obj
Normal file
@ -0,0 +1,286 @@
|
|||||||
|
# Blender v2.78 (sub 0) OBJ File: 'pipe-valve-off.blend'
|
||||||
|
# www.blender.org
|
||||||
|
o Cube.003_Cube.003_None
|
||||||
|
v 0.312500 0.343750 0.062500
|
||||||
|
v -0.093750 0.343750 0.062500
|
||||||
|
v -0.093750 0.281250 0.062500
|
||||||
|
v 0.312500 0.281250 0.062500
|
||||||
|
v -0.093750 0.343750 -0.062500
|
||||||
|
v -0.093750 0.281250 -0.062500
|
||||||
|
v 0.312500 0.343750 -0.062500
|
||||||
|
v 0.312500 0.281250 -0.062500
|
||||||
|
v 0.031250 0.281250 0.031250
|
||||||
|
v -0.031250 0.281250 0.031250
|
||||||
|
v -0.031250 0.250000 0.031250
|
||||||
|
v 0.031250 0.250000 0.031250
|
||||||
|
v -0.031250 0.281250 -0.031250
|
||||||
|
v -0.031250 0.250000 -0.031250
|
||||||
|
v 0.031250 0.281250 -0.031250
|
||||||
|
v 0.031250 0.250000 -0.031250
|
||||||
|
v 0.250000 0.250000 0.250000
|
||||||
|
v -0.250000 0.250000 0.250000
|
||||||
|
v -0.250000 -0.250000 0.250000
|
||||||
|
v 0.250000 -0.250000 0.250000
|
||||||
|
v -0.250000 0.250000 -0.250000
|
||||||
|
v -0.250000 -0.250000 -0.250000
|
||||||
|
v 0.250000 0.250000 -0.250000
|
||||||
|
v 0.250000 -0.250000 -0.250000
|
||||||
|
v -0.156250 -0.064721 0.500000
|
||||||
|
v -0.156250 -0.064721 0.468750
|
||||||
|
v -0.064721 -0.156250 0.500000
|
||||||
|
v -0.064721 -0.156250 0.468750
|
||||||
|
v 0.064721 -0.156250 0.500000
|
||||||
|
v 0.064721 -0.156250 0.468750
|
||||||
|
v 0.156250 -0.064721 0.500000
|
||||||
|
v 0.156250 -0.064721 0.468750
|
||||||
|
v 0.156250 0.064721 0.500000
|
||||||
|
v 0.156250 0.064721 0.468750
|
||||||
|
v 0.064721 0.156250 0.500000
|
||||||
|
v 0.064721 0.156250 0.468750
|
||||||
|
v -0.064721 0.156250 0.500000
|
||||||
|
v -0.064721 0.156250 0.468750
|
||||||
|
v -0.156250 0.064721 0.500000
|
||||||
|
v -0.156250 0.064721 0.468750
|
||||||
|
v -0.125000 -0.051777 0.468750
|
||||||
|
v -0.125000 -0.051777 -0.468750
|
||||||
|
v -0.051777 -0.125000 0.468750
|
||||||
|
v -0.051777 -0.125000 -0.468750
|
||||||
|
v 0.051777 -0.125000 0.468750
|
||||||
|
v 0.051777 -0.125000 -0.468750
|
||||||
|
v 0.125000 -0.051777 0.468750
|
||||||
|
v 0.125000 -0.051777 -0.468750
|
||||||
|
v 0.125000 0.051777 0.468750
|
||||||
|
v 0.125000 0.051777 -0.468750
|
||||||
|
v 0.051777 0.125000 0.468750
|
||||||
|
v 0.051777 0.125000 -0.468750
|
||||||
|
v -0.051777 0.125000 0.468750
|
||||||
|
v -0.051777 0.125000 -0.468750
|
||||||
|
v -0.125000 0.051777 0.468750
|
||||||
|
v -0.125000 0.051777 -0.468750
|
||||||
|
v -0.156250 -0.064721 -0.468750
|
||||||
|
v -0.156250 -0.064721 -0.500000
|
||||||
|
v -0.064721 -0.156250 -0.468750
|
||||||
|
v -0.064721 -0.156250 -0.500000
|
||||||
|
v 0.064721 -0.156250 -0.468750
|
||||||
|
v 0.064721 -0.156250 -0.500000
|
||||||
|
v 0.156250 -0.064721 -0.468750
|
||||||
|
v 0.156250 -0.064721 -0.500000
|
||||||
|
v 0.156250 0.064721 -0.468750
|
||||||
|
v 0.156250 0.064721 -0.500000
|
||||||
|
v 0.064721 0.156250 -0.468750
|
||||||
|
v 0.064721 0.156250 -0.500000
|
||||||
|
v -0.064721 0.156250 -0.468750
|
||||||
|
v -0.064721 0.156250 -0.500000
|
||||||
|
v -0.156250 0.064721 -0.468750
|
||||||
|
v -0.156250 0.064721 -0.500000
|
||||||
|
vt 0.2656 0.2344
|
||||||
|
vt 0.4688 0.2344
|
||||||
|
vt 0.4688 0.2656
|
||||||
|
vt 0.2656 0.2656
|
||||||
|
vt 0.2656 0.1875
|
||||||
|
vt 0.3281 0.1875
|
||||||
|
vt 0.3281 0.2188
|
||||||
|
vt 0.2656 0.2188
|
||||||
|
vt 0.4688 0.3125
|
||||||
|
vt 0.2656 0.3125
|
||||||
|
vt 0.2656 0.2812
|
||||||
|
vt 0.4688 0.2812
|
||||||
|
vt 0.4062 0.2188
|
||||||
|
vt 0.3438 0.2188
|
||||||
|
vt 0.3438 0.1875
|
||||||
|
vt 0.4062 0.1875
|
||||||
|
vt 0.4688 0.4688
|
||||||
|
vt 0.2656 0.4688
|
||||||
|
vt 0.2656 0.4062
|
||||||
|
vt 0.4688 0.4062
|
||||||
|
vt 0.4688 0.3906
|
||||||
|
vt 0.2656 0.3906
|
||||||
|
vt 0.2656 0.3281
|
||||||
|
vt 0.4688 0.3281
|
||||||
|
vt 0.0391 0.2031
|
||||||
|
vt 0.0078 0.2031
|
||||||
|
vt 0.0078 0.1875
|
||||||
|
vt 0.0391 0.1875
|
||||||
|
vt 0.0859 0.2031
|
||||||
|
vt 0.0547 0.2031
|
||||||
|
vt 0.0547 0.1875
|
||||||
|
vt 0.0859 0.1875
|
||||||
|
vt 0.1484 0.1875
|
||||||
|
vt 0.1797 0.1875
|
||||||
|
vt 0.1797 0.2031
|
||||||
|
vt 0.1484 0.2031
|
||||||
|
vt 0.1328 0.2031
|
||||||
|
vt 0.1016 0.2031
|
||||||
|
vt 0.1016 0.1875
|
||||||
|
vt 0.1328 0.1875
|
||||||
|
vt 0.5156 0.4844
|
||||||
|
vt 0.5156 0.7344
|
||||||
|
vt 0.2656 0.7344
|
||||||
|
vt 0.2656 0.4844
|
||||||
|
vt 0.0000 0.4688
|
||||||
|
vt 0.0000 0.2188
|
||||||
|
vt 0.2500 0.2188
|
||||||
|
vt 0.2500 0.4688
|
||||||
|
vt 0.5156 1.0000
|
||||||
|
vt 0.2656 1.0000
|
||||||
|
vt 0.2656 0.7500
|
||||||
|
vt 0.5156 0.7500
|
||||||
|
vt 0.2500 0.7344
|
||||||
|
vt 0.0000 0.7344
|
||||||
|
vt 0.0000 0.4844
|
||||||
|
vt 0.2500 0.4844
|
||||||
|
vt 0.7812 1.0000
|
||||||
|
vt 0.5312 1.0000
|
||||||
|
vt 0.5312 0.7500
|
||||||
|
vt 0.7812 0.7500
|
||||||
|
vt 0.0008 0.7500
|
||||||
|
vt 0.2502 0.7500
|
||||||
|
vt 0.2502 0.9994
|
||||||
|
vt 0.0008 0.9994
|
||||||
|
vt 0.8516 0.4453
|
||||||
|
vt 0.8047 0.4922
|
||||||
|
vt 0.7422 0.4922
|
||||||
|
vt 0.6953 0.4453
|
||||||
|
vt 0.6953 0.3828
|
||||||
|
vt 0.7422 0.3359
|
||||||
|
vt 0.8047 0.3359
|
||||||
|
vt 0.8516 0.3828
|
||||||
|
vt 0.6172 0.4922
|
||||||
|
vt 0.6641 0.4453
|
||||||
|
vt 0.6641 0.3828
|
||||||
|
vt 0.6172 0.3359
|
||||||
|
vt 0.5547 0.3359
|
||||||
|
vt 0.5078 0.3828
|
||||||
|
vt 0.5078 0.4453
|
||||||
|
vt 0.5547 0.4922
|
||||||
|
vt 0.6641 0.4453
|
||||||
|
vt 0.6172 0.4922
|
||||||
|
vt 0.5547 0.4922
|
||||||
|
vt 0.5078 0.4453
|
||||||
|
vt 0.5078 0.3828
|
||||||
|
vt 0.5547 0.3359
|
||||||
|
vt 0.6172 0.3359
|
||||||
|
vt 0.6641 0.3828
|
||||||
|
vt 0.8047 0.4922
|
||||||
|
vt 0.8516 0.4453
|
||||||
|
vt 0.8516 0.3828
|
||||||
|
vt 0.8047 0.3359
|
||||||
|
vt 0.7422 0.3359
|
||||||
|
vt 0.6953 0.3828
|
||||||
|
vt 0.6953 0.4453
|
||||||
|
vt 0.7422 0.4922
|
||||||
|
vt 0.8984 0.2969
|
||||||
|
vt 0.8984 0.2812
|
||||||
|
vt 0.9297 0.2812
|
||||||
|
vt 0.9297 0.2969
|
||||||
|
vt 0.9609 0.2812
|
||||||
|
vt 0.9609 0.2969
|
||||||
|
vt 0.9922 0.2812
|
||||||
|
vt 0.9922 0.2969
|
||||||
|
vt 0.7422 0.2969
|
||||||
|
vt 0.7422 0.2812
|
||||||
|
vt 0.7734 0.2812
|
||||||
|
vt 0.7734 0.2969
|
||||||
|
vt 0.8047 0.2812
|
||||||
|
vt 0.8047 0.2969
|
||||||
|
vt 0.8359 0.2812
|
||||||
|
vt 0.8359 0.2969
|
||||||
|
vt 0.8672 0.2812
|
||||||
|
vt 0.8672 0.2969
|
||||||
|
vt 0.6797 0.2969
|
||||||
|
vt 0.6797 0.2812
|
||||||
|
vt 0.7109 0.2812
|
||||||
|
vt 0.7109 0.2969
|
||||||
|
vt 0.6484 0.2969
|
||||||
|
vt 0.6484 0.2812
|
||||||
|
vt 0.7422 0.2812
|
||||||
|
vt 0.7422 0.2969
|
||||||
|
vt 0.4922 0.2969
|
||||||
|
vt 0.4922 0.2812
|
||||||
|
vt 0.5234 0.2812
|
||||||
|
vt 0.5234 0.2969
|
||||||
|
vt 0.5547 0.2812
|
||||||
|
vt 0.5547 0.2969
|
||||||
|
vt 0.5859 0.2812
|
||||||
|
vt 0.5859 0.2969
|
||||||
|
vt 0.6172 0.2812
|
||||||
|
vt 0.6172 0.2969
|
||||||
|
vt 0.4922 0.1328
|
||||||
|
vt 0.4922 0.1016
|
||||||
|
vt 0.9922 0.1016
|
||||||
|
vt 0.9922 0.1328
|
||||||
|
vt 0.4922 0.1953
|
||||||
|
vt 0.4922 0.1641
|
||||||
|
vt 0.9922 0.1641
|
||||||
|
vt 0.9922 0.1953
|
||||||
|
vt 0.4922 0.2266
|
||||||
|
vt 0.9922 0.2266
|
||||||
|
vt 0.9922 0.2578
|
||||||
|
vt 0.4922 0.2578
|
||||||
|
vt 0.9922 0.0391
|
||||||
|
vt 0.9922 0.0703
|
||||||
|
vt 0.4922 0.0703
|
||||||
|
vt 0.4922 0.0391
|
||||||
|
vt 0.9922 0.0078
|
||||||
|
vt 0.4922 0.0078
|
||||||
|
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
|
||||||
|
vn 0.0000 -1.0000 0.0000
|
||||||
|
vn 0.0000 1.0000 0.0000
|
||||||
|
vn -0.9239 -0.3827 -0.0000
|
||||||
|
vn -0.3827 -0.9239 0.0000
|
||||||
|
vn 0.3827 -0.9239 0.0000
|
||||||
|
vn 0.9239 -0.3827 0.0000
|
||||||
|
vn 0.9239 0.3827 0.0000
|
||||||
|
vn 0.3827 0.9239 0.0000
|
||||||
|
vn -0.3827 0.9239 -0.0000
|
||||||
|
vn -0.9239 0.3827 -0.0000
|
||||||
|
g Cube.003_Cube.003_None_Cube.003_Cube.003_None_None
|
||||||
|
s off
|
||||||
|
f 1/1/1 2/2/1 3/3/1 4/4/1
|
||||||
|
f 2/5/2 5/6/2 6/7/2 3/8/2
|
||||||
|
f 5/9/3 7/10/3 8/11/3 6/12/3
|
||||||
|
f 7/13/4 1/14/4 4/15/4 8/16/4
|
||||||
|
f 4/17/5 3/18/5 6/19/5 8/20/5
|
||||||
|
f 7/21/6 5/22/6 2/23/6 1/24/6
|
||||||
|
f 9/25/1 10/26/1 11/27/1 12/28/1
|
||||||
|
f 10/29/2 13/30/2 14/31/2 11/32/2
|
||||||
|
f 13/33/3 15/34/3 16/35/3 14/36/3
|
||||||
|
f 15/37/4 9/38/4 12/39/4 16/40/4
|
||||||
|
f 17/41/1 18/42/1 19/43/1 20/44/1
|
||||||
|
f 18/45/2 21/46/2 22/47/2 19/48/2
|
||||||
|
f 21/49/3 23/50/3 24/51/3 22/52/3
|
||||||
|
f 23/53/4 17/54/4 20/55/4 24/56/4
|
||||||
|
f 20/57/5 19/58/5 22/59/5 24/60/5
|
||||||
|
f 23/61/6 21/62/6 18/63/6 17/64/6
|
||||||
|
f 28/65/3 26/66/3 40/67/3 38/68/3 36/69/3 34/70/3 32/71/3 30/72/3
|
||||||
|
f 25/73/1 27/74/1 29/75/1 31/76/1 33/77/1 35/78/1 37/79/1 39/80/1
|
||||||
|
f 60/81/3 58/82/3 72/83/3 70/84/3 68/85/3 66/86/3 64/87/3 62/88/3
|
||||||
|
f 57/89/1 59/90/1 61/91/1 63/92/1 65/93/1 67/94/1 69/95/1 71/96/1
|
||||||
|
s 1
|
||||||
|
f 25/97/7 26/98/7 28/99/8 27/100/8
|
||||||
|
f 27/100/8 28/99/8 30/101/9 29/102/9
|
||||||
|
f 29/102/9 30/101/9 32/103/10 31/104/10
|
||||||
|
f 31/105/10 32/106/10 34/107/11 33/108/11
|
||||||
|
f 33/108/11 34/107/11 36/109/12 35/110/12
|
||||||
|
f 35/110/12 36/109/12 38/111/13 37/112/13
|
||||||
|
f 37/112/13 38/111/13 40/113/14 39/114/14
|
||||||
|
f 39/114/14 40/113/14 26/98/7 25/97/7
|
||||||
|
f 59/115/8 60/116/8 62/117/9 61/118/9
|
||||||
|
f 57/119/7 58/120/7 60/116/8 59/115/8
|
||||||
|
f 61/118/9 62/117/9 64/121/10 63/122/10
|
||||||
|
f 63/123/10 64/124/10 66/125/11 65/126/11
|
||||||
|
f 65/126/11 66/125/11 68/127/12 67/128/12
|
||||||
|
f 67/128/12 68/127/12 70/129/13 69/130/13
|
||||||
|
f 69/130/13 70/129/13 72/131/14 71/132/14
|
||||||
|
f 71/132/14 72/131/14 58/120/7 57/119/7
|
||||||
|
f 54/133/13 56/134/14 55/135/14 53/136/13
|
||||||
|
f 50/137/11 52/138/12 51/139/12 49/140/11
|
||||||
|
f 48/141/10 47/142/10 45/143/9 46/144/9
|
||||||
|
f 54/133/13 53/136/13 51/139/12 52/138/12
|
||||||
|
f 43/145/8 41/146/7 42/147/7 44/148/8
|
||||||
|
f 45/149/9 43/145/8 44/148/8 46/150/9
|
||||||
|
f 48/141/10 50/137/11 49/140/11 47/142/10
|
||||||
|
f 41/146/7 55/135/14 56/134/14 42/147/7
|
286
models/pipeworks_valve_on_lowpoly.obj
Normal file
@ -0,0 +1,286 @@
|
|||||||
|
# Blender v2.78 (sub 0) OBJ File: 'pipe-valve-on.blend'
|
||||||
|
# www.blender.org
|
||||||
|
o Cube.003_Cube.003_None
|
||||||
|
v -0.062500 0.343750 0.312500
|
||||||
|
v -0.062500 0.343750 -0.093750
|
||||||
|
v -0.062500 0.281250 -0.093750
|
||||||
|
v -0.062500 0.281250 0.312500
|
||||||
|
v 0.062500 0.343750 -0.093750
|
||||||
|
v 0.062500 0.281250 -0.093750
|
||||||
|
v 0.062500 0.343750 0.312500
|
||||||
|
v 0.062500 0.281250 0.312500
|
||||||
|
v 0.031250 0.281250 0.031250
|
||||||
|
v -0.031250 0.281250 0.031250
|
||||||
|
v -0.031250 0.250000 0.031250
|
||||||
|
v 0.031250 0.250000 0.031250
|
||||||
|
v -0.031250 0.281250 -0.031250
|
||||||
|
v -0.031250 0.250000 -0.031250
|
||||||
|
v 0.031250 0.281250 -0.031250
|
||||||
|
v 0.031250 0.250000 -0.031250
|
||||||
|
v 0.250000 0.250000 0.250000
|
||||||
|
v -0.250000 0.250000 0.250000
|
||||||
|
v -0.250000 -0.250000 0.250000
|
||||||
|
v 0.250000 -0.250000 0.250000
|
||||||
|
v -0.250000 0.250000 -0.250000
|
||||||
|
v -0.250000 -0.250000 -0.250000
|
||||||
|
v 0.250000 0.250000 -0.250000
|
||||||
|
v 0.250000 -0.250000 -0.250000
|
||||||
|
v -0.156250 -0.064721 0.500000
|
||||||
|
v -0.156250 -0.064721 0.468750
|
||||||
|
v -0.064721 -0.156250 0.500000
|
||||||
|
v -0.064721 -0.156250 0.468750
|
||||||
|
v 0.064721 -0.156250 0.500000
|
||||||
|
v 0.064721 -0.156250 0.468750
|
||||||
|
v 0.156250 -0.064721 0.500000
|
||||||
|
v 0.156250 -0.064721 0.468750
|
||||||
|
v 0.156250 0.064721 0.500000
|
||||||
|
v 0.156250 0.064721 0.468750
|
||||||
|
v 0.064721 0.156250 0.500000
|
||||||
|
v 0.064721 0.156250 0.468750
|
||||||
|
v -0.064721 0.156250 0.500000
|
||||||
|
v -0.064721 0.156250 0.468750
|
||||||
|
v -0.156250 0.064721 0.500000
|
||||||
|
v -0.156250 0.064721 0.468750
|
||||||
|
v -0.125000 -0.051777 0.468750
|
||||||
|
v -0.125000 -0.051777 -0.468750
|
||||||
|
v -0.051777 -0.125000 0.468750
|
||||||
|
v -0.051777 -0.125000 -0.468750
|
||||||
|
v 0.051777 -0.125000 0.468750
|
||||||
|
v 0.051777 -0.125000 -0.468750
|
||||||
|
v 0.125000 -0.051777 0.468750
|
||||||
|
v 0.125000 -0.051777 -0.468750
|
||||||
|
v 0.125000 0.051777 0.468750
|
||||||
|
v 0.125000 0.051777 -0.468750
|
||||||
|
v 0.051777 0.125000 0.468750
|
||||||
|
v 0.051777 0.125000 -0.468750
|
||||||
|
v -0.051777 0.125000 0.468750
|
||||||
|
v -0.051777 0.125000 -0.468750
|
||||||
|
v -0.125000 0.051777 0.468750
|
||||||
|
v -0.125000 0.051777 -0.468750
|
||||||
|
v -0.156250 -0.064721 -0.468750
|
||||||
|
v -0.156250 -0.064721 -0.500000
|
||||||
|
v -0.064721 -0.156250 -0.468750
|
||||||
|
v -0.064721 -0.156250 -0.500000
|
||||||
|
v 0.064721 -0.156250 -0.468750
|
||||||
|
v 0.064721 -0.156250 -0.500000
|
||||||
|
v 0.156250 -0.064721 -0.468750
|
||||||
|
v 0.156250 -0.064721 -0.500000
|
||||||
|
v 0.156250 0.064721 -0.468750
|
||||||
|
v 0.156250 0.064721 -0.500000
|
||||||
|
v 0.064721 0.156250 -0.468750
|
||||||
|
v 0.064721 0.156250 -0.500000
|
||||||
|
v -0.064721 0.156250 -0.468750
|
||||||
|
v -0.064721 0.156250 -0.500000
|
||||||
|
v -0.156250 0.064721 -0.468750
|
||||||
|
v -0.156250 0.064721 -0.500000
|
||||||
|
vt 0.2656 0.2344
|
||||||
|
vt 0.4688 0.2344
|
||||||
|
vt 0.4688 0.2656
|
||||||
|
vt 0.2656 0.2656
|
||||||
|
vt 0.2656 0.1875
|
||||||
|
vt 0.3281 0.1875
|
||||||
|
vt 0.3281 0.2188
|
||||||
|
vt 0.2656 0.2188
|
||||||
|
vt 0.4688 0.3125
|
||||||
|
vt 0.2656 0.3125
|
||||||
|
vt 0.2656 0.2812
|
||||||
|
vt 0.4688 0.2812
|
||||||
|
vt 0.4062 0.2188
|
||||||
|
vt 0.3438 0.2188
|
||||||
|
vt 0.3438 0.1875
|
||||||
|
vt 0.4062 0.1875
|
||||||
|
vt 0.4688 0.4688
|
||||||
|
vt 0.2656 0.4688
|
||||||
|
vt 0.2656 0.4062
|
||||||
|
vt 0.4688 0.4062
|
||||||
|
vt 0.4688 0.3906
|
||||||
|
vt 0.2656 0.3906
|
||||||
|
vt 0.2656 0.3281
|
||||||
|
vt 0.4688 0.3281
|
||||||
|
vt 0.0391 0.2031
|
||||||
|
vt 0.0078 0.2031
|
||||||
|
vt 0.0078 0.1875
|
||||||
|
vt 0.0391 0.1875
|
||||||
|
vt 0.0859 0.2031
|
||||||
|
vt 0.0547 0.2031
|
||||||
|
vt 0.0547 0.1875
|
||||||
|
vt 0.0859 0.1875
|
||||||
|
vt 0.1484 0.1875
|
||||||
|
vt 0.1797 0.1875
|
||||||
|
vt 0.1797 0.2031
|
||||||
|
vt 0.1484 0.2031
|
||||||
|
vt 0.1328 0.2031
|
||||||
|
vt 0.1016 0.2031
|
||||||
|
vt 0.1016 0.1875
|
||||||
|
vt 0.1328 0.1875
|
||||||
|
vt 0.5156 0.4844
|
||||||
|
vt 0.5156 0.7344
|
||||||
|
vt 0.2656 0.7344
|
||||||
|
vt 0.2656 0.4844
|
||||||
|
vt 0.0000 0.4688
|
||||||
|
vt 0.0000 0.2188
|
||||||
|
vt 0.2500 0.2188
|
||||||
|
vt 0.2500 0.4688
|
||||||
|
vt 0.5156 1.0000
|
||||||
|
vt 0.2656 1.0000
|
||||||
|
vt 0.2656 0.7500
|
||||||
|
vt 0.5156 0.7500
|
||||||
|
vt 0.2500 0.7344
|
||||||
|
vt 0.0000 0.7344
|
||||||
|
vt 0.0000 0.4844
|
||||||
|
vt 0.2500 0.4844
|
||||||
|
vt 0.7812 1.0000
|
||||||
|
vt 0.5312 1.0000
|
||||||
|
vt 0.5312 0.7500
|
||||||
|
vt 0.7812 0.7500
|
||||||
|
vt 0.0008 0.7500
|
||||||
|
vt 0.2502 0.7500
|
||||||
|
vt 0.2502 0.9994
|
||||||
|
vt 0.0008 0.9994
|
||||||
|
vt 0.8516 0.4453
|
||||||
|
vt 0.8047 0.4922
|
||||||
|
vt 0.7422 0.4922
|
||||||
|
vt 0.6953 0.4453
|
||||||
|
vt 0.6953 0.3828
|
||||||
|
vt 0.7422 0.3359
|
||||||
|
vt 0.8047 0.3359
|
||||||
|
vt 0.8516 0.3828
|
||||||
|
vt 0.6172 0.4922
|
||||||
|
vt 0.6641 0.4453
|
||||||
|
vt 0.6641 0.3828
|
||||||
|
vt 0.6172 0.3359
|
||||||
|
vt 0.5547 0.3359
|
||||||
|
vt 0.5078 0.3828
|
||||||
|
vt 0.5078 0.4453
|
||||||
|
vt 0.5547 0.4922
|
||||||
|
vt 0.6641 0.4453
|
||||||
|
vt 0.6172 0.4922
|
||||||
|
vt 0.5547 0.4922
|
||||||
|
vt 0.5078 0.4453
|
||||||
|
vt 0.5078 0.3828
|
||||||
|
vt 0.5547 0.3359
|
||||||
|
vt 0.6172 0.3359
|
||||||
|
vt 0.6641 0.3828
|
||||||
|
vt 0.8047 0.4922
|
||||||
|
vt 0.8516 0.4453
|
||||||
|
vt 0.8516 0.3828
|
||||||
|
vt 0.8047 0.3359
|
||||||
|
vt 0.7422 0.3359
|
||||||
|
vt 0.6953 0.3828
|
||||||
|
vt 0.6953 0.4453
|
||||||
|
vt 0.7422 0.4922
|
||||||
|
vt 0.8984 0.2969
|
||||||
|
vt 0.8984 0.2812
|
||||||
|
vt 0.9297 0.2812
|
||||||
|
vt 0.9297 0.2969
|
||||||
|
vt 0.9609 0.2812
|
||||||
|
vt 0.9609 0.2969
|
||||||
|
vt 0.9922 0.2812
|
||||||
|
vt 0.9922 0.2969
|
||||||
|
vt 0.7422 0.2969
|
||||||
|
vt 0.7422 0.2812
|
||||||
|
vt 0.7734 0.2812
|
||||||
|
vt 0.7734 0.2969
|
||||||
|
vt 0.8047 0.2812
|
||||||
|
vt 0.8047 0.2969
|
||||||
|
vt 0.8359 0.2812
|
||||||
|
vt 0.8359 0.2969
|
||||||
|
vt 0.8672 0.2812
|
||||||
|
vt 0.8672 0.2969
|
||||||
|
vt 0.6797 0.2969
|
||||||
|
vt 0.6797 0.2812
|
||||||
|
vt 0.7109 0.2812
|
||||||
|
vt 0.7109 0.2969
|
||||||
|
vt 0.6484 0.2969
|
||||||
|
vt 0.6484 0.2812
|
||||||
|
vt 0.7422 0.2812
|
||||||
|
vt 0.7422 0.2969
|
||||||
|
vt 0.4922 0.2969
|
||||||
|
vt 0.4922 0.2812
|
||||||
|
vt 0.5234 0.2812
|
||||||
|
vt 0.5234 0.2969
|
||||||
|
vt 0.5547 0.2812
|
||||||
|
vt 0.5547 0.2969
|
||||||
|
vt 0.5859 0.2812
|
||||||
|
vt 0.5859 0.2969
|
||||||
|
vt 0.6172 0.2812
|
||||||
|
vt 0.6172 0.2969
|
||||||
|
vt 0.4922 0.1328
|
||||||
|
vt 0.4922 0.1016
|
||||||
|
vt 0.9922 0.1016
|
||||||
|
vt 0.9922 0.1328
|
||||||
|
vt 0.4922 0.1953
|
||||||
|
vt 0.4922 0.1641
|
||||||
|
vt 0.9922 0.1641
|
||||||
|
vt 0.9922 0.1953
|
||||||
|
vt 0.4922 0.2266
|
||||||
|
vt 0.9922 0.2266
|
||||||
|
vt 0.9922 0.2578
|
||||||
|
vt 0.4922 0.2578
|
||||||
|
vt 0.9922 0.0391
|
||||||
|
vt 0.9922 0.0703
|
||||||
|
vt 0.4922 0.0703
|
||||||
|
vt 0.4922 0.0391
|
||||||
|
vt 0.9922 0.0078
|
||||||
|
vt 0.4922 0.0078
|
||||||
|
vn -1.0000 0.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 0.0000 -1.0000 -0.0000
|
||||||
|
vn 0.0000 1.0000 -0.0000
|
||||||
|
vn -0.9239 -0.3827 -0.0000
|
||||||
|
vn -0.3827 -0.9239 0.0000
|
||||||
|
vn 0.3827 -0.9239 0.0000
|
||||||
|
vn 0.9239 -0.3827 0.0000
|
||||||
|
vn 0.9239 0.3827 0.0000
|
||||||
|
vn 0.3827 0.9239 0.0000
|
||||||
|
vn -0.3827 0.9239 -0.0000
|
||||||
|
vn -0.9239 0.3827 -0.0000
|
||||||
|
g Cube.003_Cube.003_None_Cube.003_Cube.003_None_None
|
||||||
|
s off
|
||||||
|
f 1/1/1 2/2/1 3/3/1 4/4/1
|
||||||
|
f 2/5/2 5/6/2 6/7/2 3/8/2
|
||||||
|
f 5/9/3 7/10/3 8/11/3 6/12/3
|
||||||
|
f 7/13/4 1/14/4 4/15/4 8/16/4
|
||||||
|
f 4/17/5 3/18/5 6/19/5 8/20/5
|
||||||
|
f 7/21/6 5/22/6 2/23/6 1/24/6
|
||||||
|
f 9/25/4 10/26/4 11/27/4 12/28/4
|
||||||
|
f 10/29/1 13/30/1 14/31/1 11/32/1
|
||||||
|
f 13/33/2 15/34/2 16/35/2 14/36/2
|
||||||
|
f 15/37/3 9/38/3 12/39/3 16/40/3
|
||||||
|
f 17/41/4 18/42/4 19/43/4 20/44/4
|
||||||
|
f 18/45/1 21/46/1 22/47/1 19/48/1
|
||||||
|
f 21/49/2 23/50/2 24/51/2 22/52/2
|
||||||
|
f 23/53/3 17/54/3 20/55/3 24/56/3
|
||||||
|
f 20/57/5 19/58/5 22/59/5 24/60/5
|
||||||
|
f 23/61/6 21/62/6 18/63/6 17/64/6
|
||||||
|
f 28/65/2 26/66/2 40/67/2 38/68/2 36/69/2 34/70/2 32/71/2 30/72/2
|
||||||
|
f 25/73/4 27/74/4 29/75/4 31/76/4 33/77/4 35/78/4 37/79/4 39/80/4
|
||||||
|
f 60/81/2 58/82/2 72/83/2 70/84/2 68/85/2 66/86/2 64/87/2 62/88/2
|
||||||
|
f 57/89/4 59/90/4 61/91/4 63/92/4 65/93/4 67/94/4 69/95/4 71/96/4
|
||||||
|
s 1
|
||||||
|
f 25/97/7 26/98/7 28/99/8 27/100/8
|
||||||
|
f 27/100/8 28/99/8 30/101/9 29/102/9
|
||||||
|
f 29/102/9 30/101/9 32/103/10 31/104/10
|
||||||
|
f 31/105/10 32/106/10 34/107/11 33/108/11
|
||||||
|
f 33/108/11 34/107/11 36/109/12 35/110/12
|
||||||
|
f 35/110/12 36/109/12 38/111/13 37/112/13
|
||||||
|
f 37/112/13 38/111/13 40/113/14 39/114/14
|
||||||
|
f 39/114/14 40/113/14 26/98/7 25/97/7
|
||||||
|
f 59/115/8 60/116/8 62/117/9 61/118/9
|
||||||
|
f 57/119/7 58/120/7 60/116/8 59/115/8
|
||||||
|
f 61/118/9 62/117/9 64/121/10 63/122/10
|
||||||
|
f 63/123/10 64/124/10 66/125/11 65/126/11
|
||||||
|
f 65/126/11 66/125/11 68/127/12 67/128/12
|
||||||
|
f 67/128/12 68/127/12 70/129/13 69/130/13
|
||||||
|
f 69/130/13 70/129/13 72/131/14 71/132/14
|
||||||
|
f 71/132/14 72/131/14 58/120/7 57/119/7
|
||||||
|
f 54/133/13 56/134/14 55/135/14 53/136/13
|
||||||
|
f 50/137/11 52/138/12 51/139/12 49/140/11
|
||||||
|
f 48/141/10 47/142/10 45/143/9 46/144/9
|
||||||
|
f 54/133/13 53/136/13 51/139/12 52/138/12
|
||||||
|
f 43/145/8 41/146/7 42/147/7 44/148/8
|
||||||
|
f 45/149/9 43/145/8 44/148/8 46/150/9
|
||||||
|
f 48/141/10 50/137/11 49/140/11 47/142/10
|
||||||
|
f 41/146/7 55/135/14 56/134/14 42/147/7
|
58
pipes.lua
@ -5,6 +5,11 @@ local REGISTER_COMPATIBILITY = true
|
|||||||
local pipes_empty_nodenames = {}
|
local pipes_empty_nodenames = {}
|
||||||
local pipes_full_nodenames = {}
|
local pipes_full_nodenames = {}
|
||||||
|
|
||||||
|
local new_flow_logic_register = pipeworks.flowables.register
|
||||||
|
|
||||||
|
local polys = ""
|
||||||
|
if pipeworks.enable_lowpoly then polys = "_lowpoly" end
|
||||||
|
|
||||||
local vti = {4, 3, 2, 1, 6, 5}
|
local vti = {4, 3, 2, 1, 6, 5}
|
||||||
local cconnects = {{}, {1}, {1, 2}, {1, 3}, {1, 3, 5}, {1, 2, 3}, {1, 2, 3, 5}, {1, 2, 3, 4}, {1, 2, 3, 4, 5}, {1, 2, 3, 4, 5, 6}}
|
local cconnects = {{}, {1}, {1, 2}, {1, 3}, {1, 3, 5}, {1, 2, 3}, {1, 2, 3, 5}, {1, 2, 3, 4}, {1, 2, 3, 4, 5}, {1, 2, 3, 4, 5, 6}}
|
||||||
for index, connects in ipairs(cconnects) do
|
for index, connects in ipairs(cconnects) do
|
||||||
@ -31,12 +36,10 @@ for index, connects in ipairs(cconnects) do
|
|||||||
|
|
||||||
local pgroups = {snappy = 3, pipe = 1, not_in_creative_inventory = 1}
|
local pgroups = {snappy = 3, pipe = 1, not_in_creative_inventory = 1}
|
||||||
local pipedesc = "Pipe segement".." "..dump(connects).."... You hacker, you."
|
local pipedesc = "Pipe segement".." "..dump(connects).."... You hacker, you."
|
||||||
local image = nil
|
|
||||||
|
|
||||||
if #connects == 0 then
|
if #connects == 0 then
|
||||||
pgroups = {snappy = 3, tube = 1}
|
pgroups = {snappy = 3, tube = 1}
|
||||||
pipedesc = "Pipe segment"
|
pipedesc = "Pipe segment"
|
||||||
image = "pipeworks_pipe_inv.png"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local outimg_e = { "pipeworks_pipe_plain.png" }
|
local outimg_e = { "pipeworks_pipe_plain.png" }
|
||||||
@ -47,10 +50,10 @@ for index, connects in ipairs(cconnects) do
|
|||||||
outimg_l = { "pipeworks_pipe_3_loaded.png" }
|
outimg_l = { "pipeworks_pipe_3_loaded.png" }
|
||||||
end
|
end
|
||||||
|
|
||||||
local mesh = "pipeworks_pipe_"..index..".obj"
|
local mesh = "pipeworks_pipe_"..index..polys..".obj"
|
||||||
|
|
||||||
if index == 1 then
|
if index == 1 then
|
||||||
mesh = "pipeworks_pipe_3.obj"
|
mesh = "pipeworks_pipe_3"..polys..".obj"
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_node("pipeworks:pipe_"..index.."_empty", {
|
minetest.register_node("pipeworks:pipe_"..index.."_empty", {
|
||||||
@ -59,8 +62,6 @@ for index, connects in ipairs(cconnects) do
|
|||||||
mesh = mesh,
|
mesh = mesh,
|
||||||
tiles = outimg_e,
|
tiles = outimg_e,
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
inventory_image = image,
|
|
||||||
wield_image = image,
|
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
selection_box = {
|
selection_box = {
|
||||||
@ -116,8 +117,12 @@ for index, connects in ipairs(cconnects) do
|
|||||||
on_rotate = false
|
on_rotate = false
|
||||||
})
|
})
|
||||||
|
|
||||||
table.insert(pipes_empty_nodenames, "pipeworks:pipe_"..index.."_empty")
|
local emptypipe = "pipeworks:pipe_"..index.."_empty"
|
||||||
table.insert(pipes_full_nodenames, "pipeworks:pipe_"..index.."_loaded")
|
local fullpipe = "pipeworks:pipe_"..index.."_loaded"
|
||||||
|
table.insert(pipes_empty_nodenames, emptypipe)
|
||||||
|
table.insert(pipes_full_nodenames, fullpipe)
|
||||||
|
new_flow_logic_register.simple(emptypipe)
|
||||||
|
new_flow_logic_register.simple(fullpipe)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -129,8 +134,6 @@ if REGISTER_COMPATIBILITY then
|
|||||||
drawtype = "airlike",
|
drawtype = "airlike",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
inventory_image = "pipeworks_pipe_inv.png",
|
|
||||||
wield_image = "pipeworks_pipe_inv.png",
|
|
||||||
description = "Pipe Segment (legacy)",
|
description = "Pipe Segment (legacy)",
|
||||||
groups = {not_in_creative_inventory = 1, pipe_to_update = 1},
|
groups = {not_in_creative_inventory = 1, pipe_to_update = 1},
|
||||||
drop = "pipeworks:pipe_1_empty",
|
drop = "pipeworks:pipe_1_empty",
|
||||||
@ -144,7 +147,6 @@ if REGISTER_COMPATIBILITY then
|
|||||||
drawtype = "airlike",
|
drawtype = "airlike",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
inventory_image = "pipeworks_pipe_inv.png",
|
|
||||||
groups = {not_in_creative_inventory = 1, pipe_to_update = 1},
|
groups = {not_in_creative_inventory = 1, pipe_to_update = 1},
|
||||||
drop = "pipeworks:pipe_1_empty",
|
drop = "pipeworks:pipe_1_empty",
|
||||||
after_place_node = function(pos)
|
after_place_node = function(pos)
|
||||||
@ -182,14 +184,31 @@ if REGISTER_COMPATIBILITY then
|
|||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
table.insert(pipes_empty_nodenames,"pipeworks:valve_on_empty")
|
local valve_on = "pipeworks:valve_on_empty"
|
||||||
table.insert(pipes_empty_nodenames,"pipeworks:valve_off_empty")
|
local valve_off = "pipeworks:valve_off_empty"
|
||||||
table.insert(pipes_empty_nodenames,"pipeworks:entry_panel_empty")
|
local entry_panel_empty = "pipeworks:entry_panel_empty"
|
||||||
table.insert(pipes_empty_nodenames,"pipeworks:flow_sensor_empty")
|
local flow_sensor_empty = "pipeworks:flow_sensor_empty"
|
||||||
|
local sp_empty = "pipeworks:straight_pipe_empty"
|
||||||
|
-- XXX: why aren't these in devices.lua!?
|
||||||
|
table.insert(pipes_empty_nodenames, valve_on)
|
||||||
|
table.insert(pipes_empty_nodenames, valve_off)
|
||||||
|
table.insert(pipes_empty_nodenames, entry_panel_empty)
|
||||||
|
table.insert(pipes_empty_nodenames, flow_sensor_empty)
|
||||||
|
table.insert(pipes_empty_nodenames, sp_empty)
|
||||||
|
|
||||||
table.insert(pipes_full_nodenames,"pipeworks:valve_on_loaded")
|
local valve_on_loaded = "pipeworks:valve_on_loaded"
|
||||||
table.insert(pipes_full_nodenames,"pipeworks:entry_panel_loaded")
|
local entry_panel_loaded = "pipeworks:entry_panel_loaded"
|
||||||
table.insert(pipes_full_nodenames,"pipeworks:flow_sensor_loaded")
|
local flow_sensor_loaded = "pipeworks:flow_sensor_loaded"
|
||||||
|
local sp_loaded = "pipeworks:straight_pipe_loaded"
|
||||||
|
table.insert(pipes_full_nodenames, valve_on_loaded)
|
||||||
|
table.insert(pipes_full_nodenames, entry_panel_loaded)
|
||||||
|
table.insert(pipes_full_nodenames, flow_sensor_loaded)
|
||||||
|
table.insert(pipes_full_nodenames, sp_loaded)
|
||||||
|
|
||||||
|
pipeworks.pipes_full_nodenames = pipes_full_nodenames
|
||||||
|
pipeworks.pipes_empty_nodenames = pipes_empty_nodenames
|
||||||
|
|
||||||
|
if pipeworks.toggles.pipe_mode == "classic" then
|
||||||
|
|
||||||
minetest.register_abm({
|
minetest.register_abm({
|
||||||
nodenames = pipes_empty_nodenames,
|
nodenames = pipes_empty_nodenames,
|
||||||
@ -227,3 +246,6 @@ minetest.register_abm({
|
|||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
end
|
||||||
|
27
pressure_logic/abm_register.lua
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
-- register new flow logic ABMs
|
||||||
|
-- written 2017 by thetaepsilon
|
||||||
|
|
||||||
|
local register = {}
|
||||||
|
pipeworks.flowlogic.abmregister = register
|
||||||
|
|
||||||
|
local flowlogic = pipeworks.flowlogic
|
||||||
|
|
||||||
|
-- register node list for the main logic function.
|
||||||
|
-- see flowlogic.run() in abms.lua.
|
||||||
|
|
||||||
|
local register_flowlogic_abm = function(nodename)
|
||||||
|
if pipeworks.toggles.pipe_mode == "pressure" then
|
||||||
|
minetest.register_abm({
|
||||||
|
label = "pipeworks new_flow_logic run",
|
||||||
|
nodenames = { nodename },
|
||||||
|
interval = 1,
|
||||||
|
chance = 1,
|
||||||
|
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||||
|
flowlogic.run(pos, node)
|
||||||
|
end
|
||||||
|
})
|
||||||
|
else
|
||||||
|
minetest.log("warning", "pipeworks pressure_logic not enabled but register.flowlogic() requested")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
register.flowlogic = register_flowlogic_abm
|
368
pressure_logic/abms.lua
Normal file
@ -0,0 +1,368 @@
|
|||||||
|
-- reimplementation of new_flow_logic branch: processing functions
|
||||||
|
-- written 2017 by thetaepsilon
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
local flowlogic = {}
|
||||||
|
flowlogic.helpers = {}
|
||||||
|
pipeworks.flowlogic = flowlogic
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- borrowed from above: might be useable to replace the above coords tables
|
||||||
|
local make_coords_offsets = function(pos, include_base)
|
||||||
|
local coords = {
|
||||||
|
{x=pos.x,y=pos.y-1,z=pos.z},
|
||||||
|
{x=pos.x,y=pos.y+1,z=pos.z},
|
||||||
|
{x=pos.x-1,y=pos.y,z=pos.z},
|
||||||
|
{x=pos.x+1,y=pos.y,z=pos.z},
|
||||||
|
{x=pos.x,y=pos.y,z=pos.z-1},
|
||||||
|
{x=pos.x,y=pos.y,z=pos.z+1},
|
||||||
|
}
|
||||||
|
if include_base then table.insert(coords, pos) end
|
||||||
|
return coords
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- local debuglog = function(msg) print("## "..msg) end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
local formatvec = function(vec) local sep="," return "("..tostring(vec.x)..sep..tostring(vec.y)..sep..tostring(vec.z)..")" end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- new version of liquid check
|
||||||
|
-- accepts a limit parameter to only delete water blocks that the receptacle can accept,
|
||||||
|
-- and returns it so that the receptacle can update it's pressure values.
|
||||||
|
local check_for_liquids_v2 = function(pos, limit)
|
||||||
|
local coords = make_coords_offsets(pos, false)
|
||||||
|
local total = 0
|
||||||
|
for index, tpos in ipairs(coords) do
|
||||||
|
if total >= limit then break end
|
||||||
|
local name = minetest.get_node(tpos).name
|
||||||
|
if name == "default:water_source" then
|
||||||
|
minetest.remove_node(tpos)
|
||||||
|
total = total + 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
--pipeworks.logger("check_for_liquids_v2@"..formatvec(pos).." total "..total)
|
||||||
|
return total
|
||||||
|
end
|
||||||
|
flowlogic.check_for_liquids_v2 = check_for_liquids_v2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
local label_pressure = "pipeworks.water_pressure"
|
||||||
|
local get_pressure_access = function(pos)
|
||||||
|
local metaref = minetest.get_meta(pos)
|
||||||
|
return {
|
||||||
|
get = function()
|
||||||
|
return metaref:get_float(label_pressure)
|
||||||
|
end,
|
||||||
|
set = function(v)
|
||||||
|
metaref:set_float(label_pressure, v)
|
||||||
|
end
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
-- logging is unreliable when something is crashing...
|
||||||
|
local nilexplode = function(caller, label, value)
|
||||||
|
if value == nil then
|
||||||
|
error(caller..": "..label.." was nil")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
local finitemode = pipeworks.toggles.finite_water
|
||||||
|
flowlogic.run = function(pos, node)
|
||||||
|
local nodename = node.name
|
||||||
|
-- get the current pressure value.
|
||||||
|
local nodepressure = get_pressure_access(pos)
|
||||||
|
local currentpressure = nodepressure.get()
|
||||||
|
local oldpressure = currentpressure
|
||||||
|
|
||||||
|
-- if node is an input: run intake phase
|
||||||
|
local inputdef = pipeworks.flowables.inputs.list[nodename]
|
||||||
|
if inputdef then
|
||||||
|
currentpressure = flowlogic.run_input(pos, node, currentpressure, inputdef)
|
||||||
|
--debuglog("post-intake currentpressure is "..currentpressure)
|
||||||
|
--nilexplode("run()", "currentpressure", currentpressure)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- balance pressure with neighbours
|
||||||
|
currentpressure = flowlogic.balance_pressure(pos, node, currentpressure)
|
||||||
|
|
||||||
|
-- if node is an output: run output phase
|
||||||
|
local outputdef = pipeworks.flowables.outputs.list[nodename]
|
||||||
|
if outputdef then
|
||||||
|
currentpressure = flowlogic.run_output(
|
||||||
|
pos,
|
||||||
|
node,
|
||||||
|
currentpressure,
|
||||||
|
oldpressure,
|
||||||
|
outputdef,
|
||||||
|
finitemode)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- if node has pressure transitions: determine new node
|
||||||
|
if pipeworks.flowables.transitions.list[nodename] then
|
||||||
|
local newnode = flowlogic.run_transition(node, currentpressure)
|
||||||
|
--pipeworks.logger("flowlogic.run()@"..formatvec(pos).." transition, new node name = "..dump(newnode).." pressure "..tostring(currentpressure))
|
||||||
|
minetest.swap_node(pos, newnode)
|
||||||
|
flowlogic.run_transition_post(pos, newnode)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- set the new pressure
|
||||||
|
nodepressure.set(currentpressure)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
local simple_neighbour_offsets = {
|
||||||
|
{x=0, y=-1,z= 0},
|
||||||
|
{x=0, y= 1,z= 0},
|
||||||
|
{x=-1,y= 0,z= 0},
|
||||||
|
{x= 1,y= 0,z= 0},
|
||||||
|
{x= 0,y= 0,z=-1},
|
||||||
|
{x= 0,y= 0,z= 1},
|
||||||
|
}
|
||||||
|
local get_neighbour_positions = function(pos, node)
|
||||||
|
-- local dname = "get_neighbour_positions@"..formatvec(pos).." "
|
||||||
|
-- get list of node neighbours.
|
||||||
|
-- if this node is directional and only flows on certain sides,
|
||||||
|
-- invoke the callback to retrieve the set.
|
||||||
|
-- for simple flowables this is just an auto-gen'd list of all six possible neighbours.
|
||||||
|
local candidates = {}
|
||||||
|
if pipeworks.flowables.list.simple[node.name] then
|
||||||
|
candidates = simple_neighbour_offsets
|
||||||
|
else
|
||||||
|
-- directional flowables: call the callback to get the list
|
||||||
|
local directional = pipeworks.flowables.list.directional[node.name]
|
||||||
|
if directional then
|
||||||
|
--pipeworks.logger(dname.."invoking neighbourfn")
|
||||||
|
local offsets = directional.neighbourfn(node)
|
||||||
|
candidates = offsets
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- then, check each possible neighbour to see if they can be reached from this node.
|
||||||
|
local connections = {}
|
||||||
|
for index, offset in ipairs(candidates) do
|
||||||
|
local npos = vector.add(pos, offset)
|
||||||
|
local neighbour = minetest.get_node(npos)
|
||||||
|
local nodename = neighbour.name
|
||||||
|
local is_simple = (pipeworks.flowables.list.simple[nodename])
|
||||||
|
if is_simple then
|
||||||
|
local n = get_pressure_access(npos)
|
||||||
|
table.insert(connections, n)
|
||||||
|
else
|
||||||
|
-- if target node is also directional, check if it agrees it can flow in that direction
|
||||||
|
local directional = pipeworks.flowables.list.directional[nodename]
|
||||||
|
if directional then
|
||||||
|
--pipeworks.logger(dname.."directionality test for offset "..formatvec(offset))
|
||||||
|
local towards_origin = vector.multiply(offset, -1)
|
||||||
|
--pipeworks.logger(dname.."vector passed to directionfn: "..formatvec(towards_origin))
|
||||||
|
local result = directional.directionfn(neighbour, towards_origin)
|
||||||
|
--pipeworks.logger(dname.."result: "..tostring(result))
|
||||||
|
if result then
|
||||||
|
local n = get_pressure_access(npos)
|
||||||
|
table.insert(connections, n)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return connections
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
flowlogic.balance_pressure = function(pos, node, currentpressure)
|
||||||
|
-- local dname = "flowlogic.balance_pressure()@"..formatvec(pos).." "
|
||||||
|
-- check the pressure of all nearby flowable nodes, and average it out.
|
||||||
|
|
||||||
|
-- pressure handles to average over
|
||||||
|
local connections = {}
|
||||||
|
-- unconditionally include self in nodes to average over.
|
||||||
|
-- result of averaging will be returned as new pressure for main flow logic callback
|
||||||
|
local totalv = currentpressure
|
||||||
|
local totalc = 1
|
||||||
|
|
||||||
|
local connections = get_neighbour_positions(pos, node)
|
||||||
|
|
||||||
|
-- for each neighbour, add neighbour's pressure to the total to balance out
|
||||||
|
for _, neighbour in ipairs(connections) do
|
||||||
|
local n = neighbour.get()
|
||||||
|
totalv = totalv + n
|
||||||
|
totalc = totalc + 1
|
||||||
|
end
|
||||||
|
local average = totalv / totalc
|
||||||
|
for _, target in ipairs(connections) do
|
||||||
|
target.set(average)
|
||||||
|
end
|
||||||
|
|
||||||
|
return average
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
flowlogic.run_input = function(pos, node, currentpressure, inputdef)
|
||||||
|
-- intakefn allows a given input node to define it's own intake logic.
|
||||||
|
-- this function will calculate the maximum amount of water that can be taken in;
|
||||||
|
-- the intakefn will be given this and is expected to return the actual absorption amount.
|
||||||
|
|
||||||
|
local maxpressure = inputdef.maxpressure
|
||||||
|
local intake_limit = maxpressure - currentpressure
|
||||||
|
if intake_limit <= 0 then return currentpressure end
|
||||||
|
|
||||||
|
local actual_intake = inputdef.intakefn(pos, intake_limit)
|
||||||
|
--pipeworks.logger("run_input@"..formatvec(pos).." oldpressure "..currentpressure.." intake_limit "..intake_limit.." actual_intake "..actual_intake)
|
||||||
|
if actual_intake <= 0 then return currentpressure end
|
||||||
|
|
||||||
|
local newpressure = actual_intake + currentpressure
|
||||||
|
--debuglog("run_input() end, oldpressure "..currentpressure.." intake_limit "..intake_limit.." actual_intake "..actual_intake.." newpressure "..newpressure)
|
||||||
|
return newpressure
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- flowlogic output helper implementation:
|
||||||
|
-- outputs water by trying to place water nodes nearby in the world.
|
||||||
|
-- neighbours is a list of node offsets to try placing water in.
|
||||||
|
-- this is a constructor function, returning another function which satisfies the output helper requirements.
|
||||||
|
-- note that this does *not* take rotation into account.
|
||||||
|
flowlogic.helpers.make_neighbour_output_fixed = function(neighbours)
|
||||||
|
return function(pos, node, currentpressure, finitemode)
|
||||||
|
local taken = 0
|
||||||
|
for _, offset in pairs(neighbours) do
|
||||||
|
local npos = vector.add(pos, offset)
|
||||||
|
local name = minetest.get_node(npos).name
|
||||||
|
if currentpressure < 1 then break end
|
||||||
|
-- take pressure anyway in non-finite mode, even if node is water source already.
|
||||||
|
-- in non-finite mode, pressure has to be sustained to keep the sources there.
|
||||||
|
-- so in non-finite mode, placing water is dependent on the target node;
|
||||||
|
-- draining pressure is not.
|
||||||
|
local canplace = (name == "air") or (name == "default:water_flowing")
|
||||||
|
if canplace then
|
||||||
|
minetest.swap_node(npos, {name="default:water_source"})
|
||||||
|
end
|
||||||
|
if (not finitemode) or canplace then
|
||||||
|
taken = taken + 1
|
||||||
|
currentpressure = currentpressure - 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return taken
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- complementary function to the above when using non-finite mode:
|
||||||
|
-- removes water sources from neighbor positions when the output is "off" due to lack of pressure.
|
||||||
|
flowlogic.helpers.make_neighbour_cleanup_fixed = function(neighbours)
|
||||||
|
return function(pos, node, currentpressure)
|
||||||
|
--pipeworks.logger("neighbour_cleanup_fixed@"..formatvec(pos))
|
||||||
|
for _, offset in pairs(neighbours) do
|
||||||
|
local npos = vector.add(pos, offset)
|
||||||
|
local name = minetest.get_node(npos).name
|
||||||
|
if (name == "default:water_source") then
|
||||||
|
--pipeworks.logger("neighbour_cleanup_fixed removing "..formatvec(npos))
|
||||||
|
minetest.remove_node(npos)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
flowlogic.run_output = function(pos, node, currentpressure, oldpressure, outputdef, finitemode)
|
||||||
|
-- processing step for water output devices.
|
||||||
|
-- takes care of checking a minimum pressure value and updating the resulting pressure level
|
||||||
|
-- the outputfn is provided the current pressure and returns the pressure "taken".
|
||||||
|
-- as an example, using this with the above spigot function,
|
||||||
|
-- the spigot function tries to output a water source if it will fit in the world.
|
||||||
|
--pipeworks.logger("flowlogic.run_output() pos "..formatvec(pos).." old -> currentpressure "..tostring(oldpressure).." "..tostring(currentpressure).." finitemode "..tostring(finitemode))
|
||||||
|
local upper = outputdef.upper
|
||||||
|
local lower = outputdef.lower
|
||||||
|
local result = currentpressure
|
||||||
|
local threshold = nil
|
||||||
|
if finitemode then threshold = lower else threshold = upper end
|
||||||
|
if currentpressure > threshold then
|
||||||
|
local takenpressure = outputdef.outputfn(pos, node, currentpressure, finitemode)
|
||||||
|
local newpressure = currentpressure - takenpressure
|
||||||
|
if newpressure < 0 then newpressure = 0 end
|
||||||
|
result = newpressure
|
||||||
|
end
|
||||||
|
if (not finitemode) and (currentpressure < lower) and (oldpressure < lower) then
|
||||||
|
--pipeworks.logger("flowlogic.run_output() invoking cleanup currentpressure="..tostring(currentpressure))
|
||||||
|
outputdef.cleanupfn(pos, node, currentpressure)
|
||||||
|
end
|
||||||
|
return result
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- determine which node to switch to based on current pressure
|
||||||
|
flowlogic.run_transition = function(node, currentpressure)
|
||||||
|
local simplesetdef = pipeworks.flowables.transitions.simple[node.name]
|
||||||
|
local result = node
|
||||||
|
local found = false
|
||||||
|
|
||||||
|
-- simple transition sets: assumes all nodes in the set share param values.
|
||||||
|
if simplesetdef then
|
||||||
|
-- assumes that the set has been checked to contain at least one element...
|
||||||
|
local nodename_prev = simplesetdef[1].nodename
|
||||||
|
local result_nodename = node.name
|
||||||
|
|
||||||
|
for index, element in ipairs(simplesetdef) do
|
||||||
|
-- find the highest element that is below the current pressure.
|
||||||
|
local threshold = element.threshold
|
||||||
|
if threshold > currentpressure then
|
||||||
|
result_nodename = nodename_prev
|
||||||
|
found = true
|
||||||
|
break
|
||||||
|
end
|
||||||
|
nodename_prev = element.nodename
|
||||||
|
end
|
||||||
|
|
||||||
|
-- use last element if no threshold is greater than current pressure
|
||||||
|
if not found then
|
||||||
|
result_nodename = nodename_prev
|
||||||
|
found = true
|
||||||
|
end
|
||||||
|
|
||||||
|
-- preserve param1/param2 values
|
||||||
|
result = { name=result_nodename, param1=node.param1, param2=node.param2 }
|
||||||
|
end
|
||||||
|
|
||||||
|
if not found then
|
||||||
|
pipeworks.logger("flowlogic.run_transition() BUG no transition definitions found! nodename="..nodename.." currentpressure="..tostring(currentpressure))
|
||||||
|
end
|
||||||
|
|
||||||
|
return result
|
||||||
|
end
|
||||||
|
|
||||||
|
-- post-update hook for run_transition
|
||||||
|
-- among other things, updates mesecons if present.
|
||||||
|
-- node here means the new node, returned from run_transition() above
|
||||||
|
flowlogic.run_transition_post = function(pos, node)
|
||||||
|
local mesecons_def = minetest.registered_nodes[node.name].mesecons
|
||||||
|
local mesecons_rules = pipeworks.flowables.transitions.mesecons[node.name]
|
||||||
|
if minetest.global_exists("mesecon") and (mesecons_def ~= nil) and mesecons_rules then
|
||||||
|
if type(mesecons_def) ~= "table" then
|
||||||
|
pipeworks.logger("flowlogic.run_transition_post() BUG mesecons def for "..node.name.."not a table: got "..tostring(mesecons_def))
|
||||||
|
else
|
||||||
|
local receptor = mesecons_def.receptor
|
||||||
|
if receptor then
|
||||||
|
local state = receptor.state
|
||||||
|
if state == mesecon.state.on then
|
||||||
|
mesecon.receptor_on(pos, mesecons_rules)
|
||||||
|
elseif state == mesecon.state.off then
|
||||||
|
mesecon.receptor_off(pos, mesecons_rules)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
53
pressure_logic/flowable_node_registry.lua
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
-- registry of flowable node behaviours in new flow logic
|
||||||
|
-- written 2017 by thetaepsilon
|
||||||
|
|
||||||
|
-- the actual registration functions which edit these tables can be found in flowable_node_registry_install.lua
|
||||||
|
-- this is because the ABM code needs to inspect these tables,
|
||||||
|
-- but the registration code needs to reference said ABM code.
|
||||||
|
-- so those functions were split out to resolve a circular dependency.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
pipeworks.flowables = {}
|
||||||
|
pipeworks.flowables.list = {}
|
||||||
|
pipeworks.flowables.list.all = {}
|
||||||
|
-- pipeworks.flowables.list.nodenames = {}
|
||||||
|
|
||||||
|
-- simple flowables - balance pressure in any direction
|
||||||
|
pipeworks.flowables.list.simple = {}
|
||||||
|
pipeworks.flowables.list.simple_nodenames = {}
|
||||||
|
|
||||||
|
-- directional flowables - can only flow on certain sides
|
||||||
|
-- format per entry is a table with the following fields:
|
||||||
|
-- neighbourfn: function(node),
|
||||||
|
-- called to determine which nodes to consider as neighbours.
|
||||||
|
-- can be used to e.g. inspect the node's param values for facedir etc.
|
||||||
|
-- returns: array of vector offsets to look for possible neighbours in
|
||||||
|
-- directionfn: function(node, vector):
|
||||||
|
-- can this node flow in this direction?
|
||||||
|
-- called in the context of another node to check the matching entry returned by neighbourfn.
|
||||||
|
-- for every offset vector returned by neighbourfn,
|
||||||
|
-- the node at that absolute position is checked.
|
||||||
|
-- if that node is also a directional flowable,
|
||||||
|
-- then that node's vector is passed to that node's directionfn
|
||||||
|
-- (inverted, so that directionfn sees a vector pointing out from it back to the origin node).
|
||||||
|
-- if directionfn agrees that the neighbour node can currently flow in that direction,
|
||||||
|
-- the neighbour is to participate in pressure balancing.
|
||||||
|
pipeworks.flowables.list.directional = {}
|
||||||
|
|
||||||
|
-- simple intakes - try to absorb any adjacent water nodes
|
||||||
|
pipeworks.flowables.inputs = {}
|
||||||
|
pipeworks.flowables.inputs.list = {}
|
||||||
|
pipeworks.flowables.inputs.nodenames = {}
|
||||||
|
|
||||||
|
-- outputs - takes pressure from pipes and update world to do something with it
|
||||||
|
pipeworks.flowables.outputs = {}
|
||||||
|
pipeworks.flowables.outputs.list = {}
|
||||||
|
-- not currently any nodenames arraylist for this one as it's not currently needed.
|
||||||
|
|
||||||
|
-- nodes with registered node transitions
|
||||||
|
-- nodes will be switched depending on pressure level
|
||||||
|
pipeworks.flowables.transitions = {}
|
||||||
|
pipeworks.flowables.transitions.list = {} -- master list
|
||||||
|
pipeworks.flowables.transitions.simple = {} -- nodes that change based purely on pressure
|
||||||
|
pipeworks.flowables.transitions.mesecons = {} -- table of mesecons rules to apply on transition
|
263
pressure_logic/flowable_node_registry_install.lua
Normal file
@ -0,0 +1,263 @@
|
|||||||
|
-- flowable node registry: add entries and install ABMs if new flow logic is enabled
|
||||||
|
-- written 2017 by thetaepsilon
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- use for hooking up ABMs as nodes are registered
|
||||||
|
local abmregister = pipeworks.flowlogic.abmregister
|
||||||
|
|
||||||
|
-- registration functions
|
||||||
|
pipeworks.flowables.register = {}
|
||||||
|
local register = pipeworks.flowables.register
|
||||||
|
|
||||||
|
-- some sanity checking for passed args, as this could potentially be made an external API eventually
|
||||||
|
local checkexists = function(nodename)
|
||||||
|
if type(nodename) ~= "string" then error("pipeworks.flowables nodename must be a string!") end
|
||||||
|
return pipeworks.flowables.list.all[nodename]
|
||||||
|
end
|
||||||
|
|
||||||
|
local insertbase = function(nodename)
|
||||||
|
if checkexists(nodename) then error("pipeworks.flowables duplicate registration!") end
|
||||||
|
pipeworks.flowables.list.all[nodename] = true
|
||||||
|
-- table.insert(pipeworks.flowables.list.nodenames, nodename)
|
||||||
|
if pipeworks.toggles.pipe_mode == "pressure" then
|
||||||
|
abmregister.flowlogic(nodename)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local regwarning = function(kind, nodename)
|
||||||
|
local tail = ""
|
||||||
|
if pipeworks.toggles.pipe_mode ~= "pressure" then tail = " but pressure logic not enabled" end
|
||||||
|
--pipeworks.logger(kind.." flow logic registry requested for "..nodename..tail)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Register a node as a simple flowable.
|
||||||
|
-- Simple flowable nodes have no considerations for direction of flow;
|
||||||
|
-- A cluster of adjacent simple flowables will happily average out in any direction.
|
||||||
|
register.simple = function(nodename)
|
||||||
|
insertbase(nodename)
|
||||||
|
pipeworks.flowables.list.simple[nodename] = true
|
||||||
|
table.insert(pipeworks.flowables.list.simple_nodenames, nodename)
|
||||||
|
regwarning("simple", nodename)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Register a node as a directional flowable:
|
||||||
|
-- has a helper function which determines which nodes to consider valid neighbours.
|
||||||
|
register.directional = function(nodename, neighbourfn, directionfn)
|
||||||
|
insertbase(nodename)
|
||||||
|
pipeworks.flowables.list.directional[nodename] = {
|
||||||
|
neighbourfn = neighbourfn,
|
||||||
|
directionfn = directionfn
|
||||||
|
}
|
||||||
|
regwarning("directional", nodename)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- register a node as a directional flowable that can only flow through either the top or bottom side.
|
||||||
|
-- used for fountainheads (bottom side) and pumps (top side).
|
||||||
|
-- this is in world terms, not facedir relative!
|
||||||
|
register.directional_vertical_fixed = function(nodename, topside)
|
||||||
|
local y
|
||||||
|
if topside then y = 1 else y = -1 end
|
||||||
|
local side = { x=0, y=y, z=0 }
|
||||||
|
local neighbourfn = function(node) return { side } end
|
||||||
|
local directionfn = function(node, direction)
|
||||||
|
return vector.equals(direction, side)
|
||||||
|
end
|
||||||
|
register.directional(nodename, neighbourfn, directionfn)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- register a node as a directional flowable whose accepting sides depends upon param2 rotation.
|
||||||
|
-- used for entry panels, valves, flow sensors and spigots.
|
||||||
|
-- this is mostly for legacy reasons and SHOULD NOT BE USED IN NEW CODE.
|
||||||
|
register.directional_horizonal_rotate = function(nodename, doubleended)
|
||||||
|
local rotations = {
|
||||||
|
{x= 0,y= 0,z= 1},
|
||||||
|
{x= 1,y= 0,z= 0},
|
||||||
|
{x= 0,y= 0,z=-1},
|
||||||
|
{x=-1,y= 0,z= 0},
|
||||||
|
}
|
||||||
|
local getends = function(node)
|
||||||
|
--local dname = "horizontal rotate getends() "
|
||||||
|
local param2 = node.param2
|
||||||
|
-- the pipeworks nodes use a fixed value for vertical facing nodes
|
||||||
|
-- if that is detected, just return that directly.
|
||||||
|
if param2 == 17 then
|
||||||
|
return {{x=0,y=1,z=0}, {x=0,y=-1,z=0}}
|
||||||
|
end
|
||||||
|
|
||||||
|
-- the sole end of the spigot points in the direction the rotation bits suggest
|
||||||
|
-- also note to self: lua arrays start at one...
|
||||||
|
local mainend = (param2 % 4) + 1
|
||||||
|
-- use modulus wrap-around to find other end for straight-run devices like the valve
|
||||||
|
local otherend = ((param2 + 2) % 4) + 1
|
||||||
|
local mainrot = rotations[mainend]
|
||||||
|
--pipeworks.logger(dname.."mainrot: "..dump(mainrot))
|
||||||
|
local result
|
||||||
|
if doubleended then
|
||||||
|
result = { mainrot, rotations[otherend] }
|
||||||
|
else
|
||||||
|
result = { mainrot }
|
||||||
|
end
|
||||||
|
--pipeworks.logger(dname.."result: "..dump(result))
|
||||||
|
return result
|
||||||
|
end
|
||||||
|
local neighbourfn = function(node)
|
||||||
|
return getends(node)
|
||||||
|
end
|
||||||
|
local directionfn = function(node, direction)
|
||||||
|
local result = false
|
||||||
|
for index, endvec in ipairs(getends(node)) do
|
||||||
|
if vector.equals(direction, endvec) then result = true end
|
||||||
|
end
|
||||||
|
return result
|
||||||
|
end
|
||||||
|
register.directional(nodename, neighbourfn, directionfn)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
local checkbase = function(nodename)
|
||||||
|
if not checkexists(nodename) then error("pipeworks.flowables node doesn't exist as a flowable!") end
|
||||||
|
end
|
||||||
|
|
||||||
|
local duplicateerr = function(kind, nodename) error(kind.." duplicate registration for "..nodename) end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Registers a node as a fluid intake.
|
||||||
|
-- intakefn is used to determine the water that can be taken in a node-specific way.
|
||||||
|
-- Expects node to be registered as a flowable (is present in flowables.list.all),
|
||||||
|
-- so that water can move out of it.
|
||||||
|
-- maxpressure is the maximum pipeline pressure that this node can drive;
|
||||||
|
-- if the input's node exceeds this the callback is not run.
|
||||||
|
-- possible WISHME here: technic-driven high-pressure pumps
|
||||||
|
register.intake = function(nodename, maxpressure, intakefn)
|
||||||
|
-- check for duplicate registration of this node
|
||||||
|
local list = pipeworks.flowables.inputs.list
|
||||||
|
checkbase(nodename)
|
||||||
|
if list[nodename] then duplicateerr("pipeworks.flowables.inputs", nodename) end
|
||||||
|
list[nodename] = { maxpressure=maxpressure, intakefn=intakefn }
|
||||||
|
regwarning("intake", nodename)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Register a node as a simple intake:
|
||||||
|
-- tries to absorb water source nodes from it's surroundings.
|
||||||
|
-- may exceed limit slightly due to needing to absorb whole nodes.
|
||||||
|
register.intake_simple = function(nodename, maxpressure)
|
||||||
|
register.intake(nodename, maxpressure, pipeworks.flowlogic.check_for_liquids_v2)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Register a node as an output.
|
||||||
|
-- Expects node to already be a flowable.
|
||||||
|
-- upper and lower thresholds have different meanings depending on whether finite liquid mode is in effect.
|
||||||
|
-- if not (the default unless auto-detected),
|
||||||
|
-- nodes above their upper threshold have their outputfn invoked (and pressure deducted),
|
||||||
|
-- nodes between upper and lower are left idle,
|
||||||
|
-- and nodes below lower have their cleanup fn invoked (to say remove water sources).
|
||||||
|
-- the upper and lower difference acts as a hysteresis to try and avoid "gaps" in the flow.
|
||||||
|
-- if finite mode is on, upper is ignored and lower is used to determine whether to run outputfn;
|
||||||
|
-- cleanupfn is ignored in this mode as finite mode assumes something causes water to move itself.
|
||||||
|
register.output = function(nodename, upper, lower, outputfn, cleanupfn)
|
||||||
|
if pipeworks.flowables.outputs.list[nodename] then
|
||||||
|
error("pipeworks.flowables.outputs duplicate registration!")
|
||||||
|
end
|
||||||
|
checkbase(nodename)
|
||||||
|
pipeworks.flowables.outputs.list[nodename] = {
|
||||||
|
upper=upper,
|
||||||
|
lower=lower,
|
||||||
|
outputfn=outputfn,
|
||||||
|
cleanupfn=cleanupfn,
|
||||||
|
}
|
||||||
|
-- output ABM now part of main flow logic ABM to preserve ordering.
|
||||||
|
-- note that because outputs have to be a flowable first
|
||||||
|
-- (and the installation of the flow logic ABM is conditional),
|
||||||
|
-- registered output nodes for new_flow_logic is also still conditional on the enable flag.
|
||||||
|
regwarning("output node", nodename)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- register a simple output:
|
||||||
|
-- drains pressure by attempting to place water in nearby nodes,
|
||||||
|
-- which can be set by passing a list of offset vectors.
|
||||||
|
-- will attempt to drain as many whole nodes as there are positions in the offset list.
|
||||||
|
-- for meanings of upper and lower, see register.output() above.
|
||||||
|
-- non-finite mode:
|
||||||
|
-- above upper pressure: places water sources as appropriate, keeps draining pressure.
|
||||||
|
-- below lower presssure: removes it's neighbour water sources.
|
||||||
|
-- finite mode:
|
||||||
|
-- same as for above pressure in non-finite mode,
|
||||||
|
-- but only drains pressure when water source nodes are actually placed.
|
||||||
|
register.output_simple = function(nodename, upper, lower, neighbours)
|
||||||
|
local outputfn = pipeworks.flowlogic.helpers.make_neighbour_output_fixed(neighbours)
|
||||||
|
local cleanupfn = pipeworks.flowlogic.helpers.make_neighbour_cleanup_fixed(neighbours)
|
||||||
|
register.output(nodename, upper, lower, outputfn, cleanupfn)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- common base checking for transition nodes
|
||||||
|
-- ensures the node has only been registered once as a transition.
|
||||||
|
local transition_list = pipeworks.flowables.transitions.list
|
||||||
|
local insert_transition_base = function(nodename)
|
||||||
|
checkbase(nodename)
|
||||||
|
if transition_list[nodename] then duplicateerr("base transition", nodename) end
|
||||||
|
transition_list[nodename] = true
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- register a simple transition set.
|
||||||
|
-- expects a table with nodenames as keys and threshold pressures as values.
|
||||||
|
-- internally, the table is sorted by value, and when one of these nodes needs to transition,
|
||||||
|
-- the table is searched starting from the lowest (even if it's value is non-zero),
|
||||||
|
-- until a value is found which is higher than or equal to the current node pressure.
|
||||||
|
-- ex. nodeset = { ["mod:level_0"] = 0, ["mod:level_1"] = 1, --[[ ... ]] }
|
||||||
|
local simpleseterror = function(msg)
|
||||||
|
error("register.transition_simple_set(): "..msg)
|
||||||
|
end
|
||||||
|
local simple_transitions = pipeworks.flowables.transitions.simple
|
||||||
|
|
||||||
|
register.transition_simple_set = function(nodeset, extras)
|
||||||
|
local set = {}
|
||||||
|
if extras == nil then extras = {} end
|
||||||
|
|
||||||
|
local length = #nodeset
|
||||||
|
if length < 2 then simpleseterror("nodeset needs at least two elements!") end
|
||||||
|
for index, element in ipairs(nodeset) do
|
||||||
|
if type(element) ~= "table" then simpleseterror("element "..tostring(index).." in nodeset was not table!") end
|
||||||
|
local nodename = element[1]
|
||||||
|
local value = element[2]
|
||||||
|
if type(nodename) ~= "string" then simpleseterror("nodename "..tostring(nodename).."was not a string!") end
|
||||||
|
if type(value) ~= "number" then simpleseterror("pressure value "..tostring(value).."was not a number!") end
|
||||||
|
insert_transition_base(nodename)
|
||||||
|
if simple_transitions[nodename] then duplicateerr("simple transition set", nodename) end
|
||||||
|
-- assigning set to table is done separately below
|
||||||
|
|
||||||
|
table.insert(set, { nodename=nodename, threshold=value })
|
||||||
|
end
|
||||||
|
|
||||||
|
-- sort pressure values, smallest first
|
||||||
|
local smallest_first = function(a, b)
|
||||||
|
return a.threshold < b.threshold
|
||||||
|
end
|
||||||
|
table.sort(set, smallest_first)
|
||||||
|
|
||||||
|
-- individual registration of each node, all sharing this set,
|
||||||
|
-- so each node in the set will transition to the correct target node.
|
||||||
|
for _, element in ipairs(set) do
|
||||||
|
--pipeworks.logger("register.transition_simple_set() after sort: nodename "..element.nodename.." value "..tostring(element.threshold))
|
||||||
|
simple_transitions[element.nodename] = set
|
||||||
|
end
|
||||||
|
|
||||||
|
-- handle extra options
|
||||||
|
-- if mesecons rules table was passed, set for each node
|
||||||
|
if extras.mesecons then
|
||||||
|
local mesecons_rules = pipeworks.flowables.transitions.mesecons
|
||||||
|
for _, element in ipairs(set) do
|
||||||
|
mesecons_rules[element.nodename] = extras.mesecons
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -4,9 +4,9 @@ pipeworks.register_tube("pipeworks:tube", "Pneumatic tube segment")
|
|||||||
minetest.register_craft( {
|
minetest.register_craft( {
|
||||||
output = "pipeworks:tube_1 6",
|
output = "pipeworks:tube_1 6",
|
||||||
recipe = {
|
recipe = {
|
||||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
|
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
|
||||||
{ "", "", "" },
|
{ "", "", "" },
|
||||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }
|
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -82,9 +82,9 @@ if pipeworks.enable_priority_tube then
|
|||||||
minetest.register_craft( {
|
minetest.register_craft( {
|
||||||
output = "pipeworks:priority_tube_1 6",
|
output = "pipeworks:priority_tube_1 6",
|
||||||
recipe = {
|
recipe = {
|
||||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
|
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
|
||||||
{ "default:gold_ingot", "", "default:gold_ingot" },
|
{ "default:gold_ingot", "", "default:gold_ingot" },
|
||||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }
|
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
@ -107,9 +107,9 @@ if pipeworks.enable_accelerator_tube then
|
|||||||
minetest.register_craft( {
|
minetest.register_craft( {
|
||||||
output = "pipeworks:accelerator_tube_1 2",
|
output = "pipeworks:accelerator_tube_1 2",
|
||||||
recipe = {
|
recipe = {
|
||||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
|
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
|
||||||
{ "default:mese_crystal_fragment", "default:steel_ingot", "default:mese_crystal_fragment" },
|
{ "default:mese_crystal_fragment", "default:steel_ingot", "default:mese_crystal_fragment" },
|
||||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }
|
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
@ -161,13 +161,14 @@ if pipeworks.enable_one_way_tube then
|
|||||||
},
|
},
|
||||||
after_place_node = pipeworks.after_place,
|
after_place_node = pipeworks.after_place,
|
||||||
after_dig_node = pipeworks.after_dig,
|
after_dig_node = pipeworks.after_dig,
|
||||||
|
on_rotate = pipeworks.on_rotate,
|
||||||
})
|
})
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = "pipeworks:one_way_tube 2",
|
output = "pipeworks:one_way_tube 2",
|
||||||
recipe = {
|
recipe = {
|
||||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
|
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
|
||||||
{ "group:stick", "default:mese_crystal", "homedecor:plastic_sheeting" },
|
{ "group:stick", "default:mese_crystal", "basic_materials:plastic_sheet" },
|
||||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }
|
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
@ -34,6 +34,9 @@ pipeworks_enable_digiline_detector_tube (Enable Digiline Detector Tube) bool tru
|
|||||||
#Enable mesecon signal conducting tube.
|
#Enable mesecon signal conducting tube.
|
||||||
pipeworks_enable_conductor_tube (Enable Conductor Tube) bool true
|
pipeworks_enable_conductor_tube (Enable Conductor Tube) bool true
|
||||||
|
|
||||||
|
#Enable digiline signal conducting tube.
|
||||||
|
pipeworks_enable_digiline_conductor_tube (Enable Digiline Conductor Tube) bool true
|
||||||
|
|
||||||
#Enable accelerator tube.
|
#Enable accelerator tube.
|
||||||
pipeworks_enable_accelerator_tube (Enable Accelerator Tube) bool true
|
pipeworks_enable_accelerator_tube (Enable Accelerator Tube) bool true
|
||||||
|
|
||||||
@ -60,6 +63,10 @@ pipeworks_enable_one_way_tube (Enable One Way Tube) bool true
|
|||||||
#always go to it if there are multible ways.
|
#always go to it if there are multible ways.
|
||||||
pipeworks_enable_priority_tube (Enable High Priority Tube) bool true
|
pipeworks_enable_priority_tube (Enable High Priority Tube) bool true
|
||||||
|
|
||||||
|
#Enable lua controlled tube.
|
||||||
|
#It is comparable with mesecons luacontroller.
|
||||||
|
pipeworks_enable_lua_tube (Enable Lua controlled Tube) bool true
|
||||||
|
|
||||||
#Enable cyclic mode.
|
#Enable cyclic mode.
|
||||||
pipeworks_enable_cyclic_mode (Enable Cyclic Mode) bool true
|
pipeworks_enable_cyclic_mode (Enable Cyclic Mode) bool true
|
||||||
|
|
||||||
|
@ -60,14 +60,15 @@ if pipeworks.enable_detector_tube then
|
|||||||
minetest.register_craft( {
|
minetest.register_craft( {
|
||||||
output = "pipeworks:detector_tube_off_1 2",
|
output = "pipeworks:detector_tube_off_1 2",
|
||||||
recipe = {
|
recipe = {
|
||||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
|
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
|
||||||
{ "mesecons:mesecon", "mesecons_materials:silicon", "mesecons:mesecon" },
|
{ "mesecons:mesecon", "mesecons_materials:silicon", "mesecons:mesecon" },
|
||||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }
|
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
if minetest.get_modpath("digilines") and pipeworks.enable_digiline_detector_tube then
|
local digiline_enabled = minetest.get_modpath("digilines") ~= nil
|
||||||
|
if digiline_enabled and pipeworks.enable_digiline_detector_tube then
|
||||||
pipeworks.register_tube("pipeworks:digiline_detector_tube", {
|
pipeworks.register_tube("pipeworks:digiline_detector_tube", {
|
||||||
description = "Digiline Detecting Pneumatic Tube Segment",
|
description = "Digiline Detecting Pneumatic Tube Segment",
|
||||||
inventory_image = "pipeworks_digiline_detector_tube_inv.png",
|
inventory_image = "pipeworks_digiline_detector_tube_inv.png",
|
||||||
@ -101,7 +102,10 @@ if minetest.get_modpath("digilines") and pipeworks.enable_digiline_detector_tube
|
|||||||
receptor = {},
|
receptor = {},
|
||||||
effector = {
|
effector = {
|
||||||
action = function(pos,node,channel,msg) end
|
action = function(pos,node,channel,msg) end
|
||||||
}
|
},
|
||||||
|
wire = {
|
||||||
|
rules = pipeworks.digilines_rules
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@ -109,9 +113,9 @@ if minetest.get_modpath("digilines") and pipeworks.enable_digiline_detector_tube
|
|||||||
minetest.register_craft( {
|
minetest.register_craft( {
|
||||||
output = "pipeworks:digiline_detector_tube_1 2",
|
output = "pipeworks:digiline_detector_tube_1 2",
|
||||||
recipe = {
|
recipe = {
|
||||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
|
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
|
||||||
{ "digilines:wire_std_00000000", "mesecons_materials:silicon", "digilines:wire_std_00000000" },
|
{ "digilines:wire_std_00000000", "mesecons_materials:silicon", "digilines:wire_std_00000000" },
|
||||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }
|
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
@ -147,14 +151,80 @@ if pipeworks.enable_conductor_tube then
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft( {
|
minetest.register_craft({
|
||||||
output = "pipeworks:conductor_tube_off_1 6",
|
type = "shapeless",
|
||||||
recipe = {
|
output = "pipeworks:conductor_tube_off_1",
|
||||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
|
recipe = {"pipeworks:tube_1", "mesecons:mesecon"}
|
||||||
{ "mesecons:mesecon", "mesecons:mesecon", "mesecons:mesecon" },
|
|
||||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if digiline_enabled and pipeworks.enable_digiline_conductor_tube then
|
||||||
|
pipeworks.register_tube("pipeworks:digiline_conductor_tube", {
|
||||||
|
description = "Digiline Conducting Pneumatic Tube Segment",
|
||||||
|
inventory_image = "pipeworks_tube_inv.png^pipeworks_digiline_conductor_tube_inv.png",
|
||||||
|
short = "pipeworks_tube_short.png^pipeworks_digiline_conductor_tube_short.png",
|
||||||
|
plain = {"pipeworks_tube_plain.png^pipeworks_digiline_conductor_tube_plain.png"},
|
||||||
|
noctr = {"pipeworks_tube_noctr.png^pipeworks_digiline_conductor_tube_noctr.png"},
|
||||||
|
ends = {"pipeworks_tube_end.png^pipeworks_digiline_conductor_tube_end.png"},
|
||||||
|
node_def = {digiline = {wire = {rules = pipeworks.digilines_rules}}},
|
||||||
|
})
|
||||||
|
minetest.register_craft({
|
||||||
|
type = "shapeless",
|
||||||
|
output = "pipeworks:digiline_conductor_tube_1",
|
||||||
|
recipe = {"pipeworks:tube_1", "digilines:wire_std_00000000"}
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
if digiline_enabled and pipeworks.enable_digiline_conductor_tube and
|
||||||
|
pipeworks.enable_conductor_tube then
|
||||||
|
pipeworks.register_tube("pipeworks:mesecon_and_digiline_conductor_tube_off", {
|
||||||
|
description = "Mesecon and Digiline Conducting Pneumatic Tube Segment",
|
||||||
|
inventory_image = "pipeworks_conductor_tube_inv.png^pipeworks_digiline_conductor_tube_inv.png",
|
||||||
|
short = "pipeworks_conductor_tube_short.png^pipeworks_digiline_conductor_tube_short.png",
|
||||||
|
plain = {"pipeworks_conductor_tube_plain.png^pipeworks_digiline_conductor_tube_plain.png"},
|
||||||
|
noctr = {"pipeworks_conductor_tube_noctr.png^pipeworks_digiline_conductor_tube_noctr.png"},
|
||||||
|
ends = {"pipeworks_conductor_tube_end.png^pipeworks_digiline_conductor_tube_end.png"},
|
||||||
|
node_def = {
|
||||||
|
digiline = {wire = {rules = pipeworks.digilines_rules}},
|
||||||
|
groups = {mesecon = 2},
|
||||||
|
mesecons = {conductor = {
|
||||||
|
state = "off",
|
||||||
|
rules = pipeworks.mesecons_rules,
|
||||||
|
onstate = "pipeworks:mesecon_and_digiline_conductor_tube_on_#id"
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
pipeworks.register_tube("pipeworks:mesecon_and_digiline_conductor_tube_on", {
|
||||||
|
description = "Mesecon and Digiline Conducting Pneumatic Tube Segment on (you hacker you)",
|
||||||
|
inventory_image = "pipeworks_conductor_tube_inv.png^pipeworks_digiline_conductor_tube_inv.png",
|
||||||
|
short = "pipeworks_conductor_tube_short.png^pipeworks_digiline_conductor_tube_short.png",
|
||||||
|
plain = {"pipeworks_conductor_tube_on_plain.png^pipeworks_digiline_conductor_tube_plain.png"},
|
||||||
|
noctr = {"pipeworks_conductor_tube_on_noctr.png^pipeworks_digiline_conductor_tube_noctr.png"},
|
||||||
|
ends = {"pipeworks_conductor_tube_on_end.png^pipeworks_digiline_conductor_tube_end.png"},
|
||||||
|
node_def = {
|
||||||
|
digiline = {wire = {rules = pipeworks.digilines_rules}},
|
||||||
|
groups = {mesecon = 2, not_in_creative_inventory = 1},
|
||||||
|
drop = "pipeworks:mesecon_and_digiline_conductor_tube_off_1",
|
||||||
|
mesecons = {conductor = {
|
||||||
|
state = "on",
|
||||||
|
rules = pipeworks.mesecons_rules,
|
||||||
|
offstate = "pipeworks:mesecon_and_digiline_conductor_tube_off_#id"}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
minetest.register_craft({
|
||||||
|
type = "shapeless",
|
||||||
|
output = "pipeworks:mesecon_and_digiline_conductor_tube_off_1",
|
||||||
|
recipe = {"pipeworks:tube_1", "mesecons:mesecon", "digilines:wire_std_00000000"}
|
||||||
|
})
|
||||||
|
minetest.register_craft({
|
||||||
|
type = "shapeless",
|
||||||
|
output = "pipeworks:mesecon_and_digiline_conductor_tube_off_1",
|
||||||
|
recipe = {"pipeworks:conductor_tube_off_1", "digilines:wire_std_00000000"}
|
||||||
|
})
|
||||||
|
minetest.register_craft({
|
||||||
|
type = "shapeless",
|
||||||
|
output = "pipeworks:mesecon_and_digiline_conductor_tube_off_1",
|
||||||
|
recipe = {"pipeworks:digiline_conductor_tube_1", "mesecons:mesecon"}
|
||||||
|
})
|
||||||
|
end
|
||||||
|
@ -153,9 +153,9 @@ if pipeworks.enable_mese_tube then
|
|||||||
minetest.register_craft( {
|
minetest.register_craft( {
|
||||||
output = "pipeworks:mese_tube_000000 2",
|
output = "pipeworks:mese_tube_000000 2",
|
||||||
recipe = {
|
recipe = {
|
||||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
|
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
|
||||||
{ "", "default:mese_crystal", "" },
|
{ "", "default:mese_crystal", "" },
|
||||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }
|
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ local tp_tube_db = nil -- nil forces a read
|
|||||||
local tp_tube_db_version = 2.0
|
local tp_tube_db_version = 2.0
|
||||||
|
|
||||||
local function hash(pos)
|
local function hash(pos)
|
||||||
return string.format("%d", minetest.hash_node_position(pos))
|
return string.format("%.30g", minetest.hash_node_position(pos))
|
||||||
end
|
end
|
||||||
|
|
||||||
local function save_tube_db()
|
local function save_tube_db()
|
||||||
@ -50,6 +50,11 @@ local function read_tube_db()
|
|||||||
return tp_tube_db
|
return tp_tube_db
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- debug formatter for coordinates used below
|
||||||
|
local fmt = function(pos)
|
||||||
|
return pos.x..", "..pos.y..", "..pos.z
|
||||||
|
end
|
||||||
|
|
||||||
-- updates or adds a tube
|
-- updates or adds a tube
|
||||||
local function set_tube(pos, channel, can_receive)
|
local function set_tube(pos, channel, can_receive)
|
||||||
local tubes = tp_tube_db or read_tube_db()
|
local tubes = tp_tube_db or read_tube_db()
|
||||||
@ -63,6 +68,19 @@ local function set_tube(pos, channel, can_receive)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- we haven't found any tp tube to update, so lets add it
|
-- we haven't found any tp tube to update, so lets add it
|
||||||
|
-- but sanity check that the hash has not already been inserted.
|
||||||
|
-- if so, complain very loudly and refuse the update so the player knows something is amiss.
|
||||||
|
-- to catch regressions of https://github.com/minetest-mods/pipeworks/issues/166
|
||||||
|
local existing = tp_tube_db[hash]
|
||||||
|
if existing ~= nil then
|
||||||
|
local e = "error"
|
||||||
|
minetest.log(e, "pipeworks teleport tube update refused due to position hash collision")
|
||||||
|
minetest.log(e, "collided hash: "..hash)
|
||||||
|
minetest.log(e, "tried-to-place tube: "..fmt(pos))
|
||||||
|
minetest.log(e, "existing tube: "..fmt(existing))
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
tp_tube_db[hash] = {x=pos.x,y=pos.y,z=pos.z,channel=channel,cr=can_receive}
|
tp_tube_db[hash] = {x=pos.x,y=pos.y,z=pos.z,channel=channel,cr=can_receive}
|
||||||
save_tube_db()
|
save_tube_db()
|
||||||
end
|
end
|
||||||
@ -224,9 +242,9 @@ pipeworks.register_tube("pipeworks:teleport_tube", {
|
|||||||
minetest.register_craft( {
|
minetest.register_craft( {
|
||||||
output = "pipeworks:teleport_tube_1 2",
|
output = "pipeworks:teleport_tube_1 2",
|
||||||
recipe = {
|
recipe = {
|
||||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
|
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
|
||||||
{ "default:desert_stone", "default:mese", "default:desert_stone" },
|
{ "default:desert_stone", "default:mese", "default:desert_stone" },
|
||||||
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }
|
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" }
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
BIN
textures/pipeworks_digiline_conductor_tube_end.png
Normal file
After Width: | Height: | Size: 174 B |
BIN
textures/pipeworks_digiline_conductor_tube_inv.png
Normal file
After Width: | Height: | Size: 337 B |
BIN
textures/pipeworks_digiline_conductor_tube_noctr.png
Normal file
After Width: | Height: | Size: 179 B |
BIN
textures/pipeworks_digiline_conductor_tube_plain.png
Normal file
After Width: | Height: | Size: 169 B |
BIN
textures/pipeworks_digiline_conductor_tube_short.png
Normal file
After Width: | Height: | Size: 162 B |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 5.5 KiB |
BIN
textures/pipeworks_lua_tube_port_burnt.png
Normal file
After Width: | Height: | Size: 178 B |
BIN
textures/pipeworks_lua_tube_port_off.png
Normal file
After Width: | Height: | Size: 178 B |
BIN
textures/pipeworks_lua_tube_port_on.png
Normal file
After Width: | Height: | Size: 178 B |
Before Width: | Height: | Size: 587 B After Width: | Height: | Size: 507 B |
Before Width: | Height: | Size: 588 B After Width: | Height: | Size: 493 B |
Before Width: | Height: | Size: 581 B After Width: | Height: | Size: 581 B |
Before Width: | Height: | Size: 581 B After Width: | Height: | Size: 582 B |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 4.0 KiB |
BIN
textures/pipeworks_pressure_gauge.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
textures/pipeworks_pressure_gauge_0.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
textures/pipeworks_pressure_gauge_1.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
textures/pipeworks_pressure_gauge_2.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
textures/pipeworks_pressure_gauge_3.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
textures/pipeworks_pressure_gauge_4.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
textures/pipeworks_pressure_gauge_5.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
textures/pipeworks_pressure_gauge_6.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 49 KiB |
BIN
textures/pipeworks_straight_pipe_empty.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
textures/pipeworks_straight_pipe_loaded.png
Normal file
After Width: | Height: | Size: 2.8 KiB |