Skip to content

Commit

Permalink
update examples
Browse files Browse the repository at this point in the history
  • Loading branch information
tomvanmele committed May 14, 2024
1 parent 6ed0954 commit 33548b6
Show file tree
Hide file tree
Showing 4 changed files with 72 additions and 49 deletions.
18 changes: 9 additions & 9 deletions docs/examples/extrusion_occ.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from compas_occ.brep import OCCBrepEdge
from compas_occ.brep import OCCBrepFace
from compas_occ.brep import OCCBrepLoop
from compas_view2.app import App
from compas_viewer import Viewer

circle1 = Circle(1.0, frame=Frame([2, 2, 0]))
circle2 = Circle(2.0, frame=Frame([-2, -2, 0]))
Expand Down Expand Up @@ -51,20 +51,20 @@
# Visualization
# =============================================================================

viewer = App(width=1600, height=900)
viewer.view.camera.position = [0, -12, 10]
viewer.view.camera.look_at([0, 2, 0])
viewer = Viewer()
viewer.renderer.camera.position = [0, -12, 10]
viewer.renderer.camera.target = [0, 2, 0])

# viewer.add(brep, linewidth=2, opacity=0.5)
# viewer.scene.add(brep, linewidth=2, opacity=0.5)

# for surface in model.surfaces:
# viewer.add(model.surface_mesh(surface))
# viewer.scene.add(model.surface_mesh(surface))

for curve in model.curves:
viewer.add(model.curve_to_polyline(curve), linewidth=2)
viewer.scene.add(model.curve_to_polyline(curve), linewidth=2)

for point in model.points:
viewer.add(model.point_to_point(point), pointsize=10)
viewer.scene.add(model.point_to_point(point), pointsize=10)

viewer.add(mesh, opacity=0.7)
viewer.scene.add(mesh, opacity=0.7)
viewer.show()
25 changes: 13 additions & 12 deletions docs/examples/plate.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
from compas.colors import Color
from compas.datastructures import Mesh
from compas.datastructures import mesh_thicken
from compas.geometry import Line
from compas.geometry import Point
from compas.geometry import Vector
from compas_gmsh.models import MeshModel
from compas_view2.app import App
from compas_view2.shapes import Arrow
from compas_viewer import Viewer

# ==============================================================================
# Make a plate mesh
# ==============================================================================

mesh = Mesh.from_meshgrid(dx=10, nx=5)
plate = mesh_thicken(mesh, 0.3)
plate = mesh.thickened(0.3)

# ==============================================================================
# GMSH model
Expand Down Expand Up @@ -46,18 +46,19 @@
# Viz
# ==============================================================================

viewer = App(width=1600, height=900)
viewer.view.camera.position = [5, -6, 7]
viewer.view.camera.look_at([5, 5, 0])
viewer = Viewer()

viewer.add(mesh)
viewer.renderer.camera.target = [5, 5, 0]
viewer.renderer.camera.position = [5, -6, 7]

viewer.scene.add(mesh, show_points=False)

poa = Point(*plate.vertex_coordinates(poa))
start = poa + Vector(0, 0, 1)
vector = Vector(0, 0, -1)
load = Arrow(start, vector, body_width=0.03)
load = Line.from_point_and_vector(start, vector)

viewer.add(poa, pointsize=20)
viewer.add(load, facecolor=(1, 0, 0))
viewer.scene.add(poa, pointsize=20)
viewer.scene.add(load, linecolor=Color.red(), lineswidth=5, show_points=False)

viewer.run()
viewer.show()
15 changes: 8 additions & 7 deletions docs/examples/remeshing.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from compas.topology import astar_shortest_path
from compas_gmsh.models import MeshModel
from compas_gmsh.options import MeshAlgorithm
from compas_view2.app import App
from compas_viewer import Viewer

# ==============================================================================
# Input
Expand All @@ -19,7 +19,7 @@

targetlength = {vertex: 1.0 for vertex in mesh.vertices()}

corners = list(mesh.vertices_where({"vertex_degree": 2}))
corners = list(mesh.vertices_where(vertex_degree=2))

start = choice(list(set(mesh.vertices()) - set(mesh.vertices_on_boundary())))
end = choice(corners)
Expand All @@ -46,9 +46,10 @@
# Visualize
# ==============================================================================

viewer = App(width=1600, height=900)
viewer.view.camera.position = [1, -5, 1]
viewer.view.camera.look_at([1, 5, 0])
viewer = Viewer()

viewer.add(mesh)
viewer.run()
viewer.renderer.camera.target = [1, 5, 0]
viewer.renderer.camera.position = [1, -5, 1]

viewer.scene.add(mesh, show_points=False)
viewer.show()
63 changes: 42 additions & 21 deletions docs/examples/tets.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
from compas.colors import Color
from compas.datastructures import Mesh
from compas.geometry import Sphere
from compas.geometry import Translation
from compas.geometry import centroid_points
from compas.utilities import geometric_key
from compas.tolerance import Tolerance
from compas_gmsh.models import ShapeModel
from compas_view2.app import App
from compas_view2.objects import Collection
from compas_viewer import Viewer

# ==============================================================================
# Geometry
Expand Down Expand Up @@ -35,9 +36,11 @@

# replace by model method

tol = Tolerance()

centroid_face = {}
for face in shell.faces():
centroid_face[geometric_key(shell.face_centroid(face))] = face
centroid_face[tol.geometric_key(shell.face_centroid(face))] = face

bottom_exterior = []
bottom_interior = []
Expand All @@ -54,39 +57,57 @@
top.append(tet)

for tet in bottom:
if any(geometric_key(centroid_points([tet.vertices[index] for index in face])) in centroid_face for face in tet.faces):
if any(tol.geometric_key(centroid_points([tet.vertices[index] for index in face])) in centroid_face for face in tet.faces):
bottom_exterior.append(tet)
else:
bottom_interior.append(tet)

for tet in top:
if any(geometric_key(centroid_points([tet.vertices[index] for index in face])) in centroid_face for face in tet.faces):
if any(tol.geometric_key(centroid_points([tet.vertices[index] for index in face])) in centroid_face for face in tet.faces):
top_exterior.append(tet)
else:
top_interior.append(tet)

# ==============================================================================
# This is a temp hack
# ==============================================================================

bottom_ext = Mesh()
for tet in bottom_exterior:
bottom_ext.join(Mesh.from_vertices_and_faces(tet.vertices, tet.faces), weld=False)

bottom_int = Mesh()
for tet in bottom_interior:
bottom_int.join(Mesh.from_vertices_and_faces(tet.vertices, tet.faces), weld=False)

top_ext = Mesh()
for tet in top_exterior:
top_ext.join(Mesh.from_vertices_and_faces(tet.vertices, tet.faces), weld=False)

top_int = Mesh()
for tet in top_interior:
top_int.join(Mesh.from_vertices_and_faces(tet.vertices, tet.faces), weld=False)

# ==============================================================================
# Visualization with viewer
# ==============================================================================

viewer = App(width=1600, height=900)
viewer.view.camera.position = [0, -8, 0]
viewer.view.camera.look_at([0, 0, 0])
viewer = Viewer()

viewer.renderer.camera.target = [0, 0, 0]
viewer.renderer.camera.position = [0, -8, 0]

T = Translation.from_vector([0, 0, 0.5])
for tet in top:
tet.transform(T)
top_ext.transform(T)
top_int.transform(T)

T = Translation.from_vector([0, 0, -0.5])
for tet in bottom:
tet.transform(T)

viewer.add(Collection(bottom_exterior), facecolor=(1, 0, 0))
viewer.add(Collection(bottom_interior))

viewer.add(Collection(top_exterior), facecolor=(0, 1, 0))
viewer.add(Collection(top_interior))
bottom_ext.transform(T)
bottom_int.transform(T)

# viewer.add(shell)
viewer.scene.add(bottom_ext, facecolor=Color.red(), show_points=False)
viewer.scene.add(bottom_int, show_points=False)
viewer.scene.add(top_ext, facecolor=Color.green(), show_points=False)
viewer.scene.add(top_int, show_points=False)

viewer.run()
viewer.show()

0 comments on commit 33548b6

Please sign in to comment.