ddg package
Subpackages
- ddg.conversion package
- Subpackages
- ddg.conversion.blender package
- ddg.conversion.halfedge package
- ddg.conversion.indexedfaceset package
- ddg.conversion.nets package
- ddg.conversion.obj namespace
- Submodules
- Module contents
- Subpackages
- ddg.datastructures package
- Subpackages
- ddg.datastructures.halfedge package
- Submodules
- ddg.datastructures.halfedge.copy module
- ddg.datastructures.halfedge.delaunay module
calculate_angle()opp_halfangle_tan()opp_angle_cot()euclidean_cotan_weight()evaluate_cotan_weight()is_delaunay()update_edgelength()intrinsic_lengthfunction()extrinsic_lengthfunction()flip()delaunay_flip_algorithm()update_crossings()init_crossings_attr()init_overlay_structure()SurfaceWithOverlayadd_parser()execute_flip_algo()
- ddg.datastructures.halfedge.get module
in_edges()out_edges()get_edge_loop()count_edges_in_loop()get_opposite_edge_in_face()get_opposite_edge_at_head()get_length_from_co()get_vertices()get_edges()get_number_of_edges()complement()get_vertex()get_edge()get_face()is_triangulation()is_connected()single_edges()boundary_vertices()boundary_edges()interior_vertices()interior_edges()is_boundary_vertex()is_boundary_edge()
- ddg.datastructures.halfedge.grid module
- ddg.datastructures.halfedge.io module
- ddg.datastructures.halfedge.math module
- ddg.datastructures.halfedge.modify module
- ddg.datastructures.halfedge.set module
- ddg.datastructures.halfedge.surface module
- ddg.datastructures.halfedge.surface_generator module
- Module contents
- Submodules
- ddg.datastructures.indexedfaceset package
- Submodules
- ddg.datastructures.indexedfaceset.ifs module
GeneralizedIndexedFaceSetGeneralizedIndexedFaceSet.get_vertex_set()GeneralizedIndexedFaceSet.set_attribute()GeneralizedIndexedFaceSet.delete_attribute()GeneralizedIndexedFaceSet.get_attribute()GeneralizedIndexedFaceSet.adjacent_faces_with_orientation()GeneralizedIndexedFaceSet.adjacent_faces()GeneralizedIndexedFaceSet.opposite_face()GeneralizedIndexedFaceSet.opposite_face_with_orientation()GeneralizedIndexedFaceSet.neighboring_faces()GeneralizedIndexedFaceSet.neighboring_faces_with_orientation()GeneralizedIndexedFaceSet.face_list()GeneralizedIndexedFaceSet.number_of_faces()GeneralizedIndexedFaceSet.edge_set()GeneralizedIndexedFaceSet.face_boundary()GeneralizedIndexedFaceSet.add_face()
OrientedIndexedFaceSetOrientedIndexedFaceSet.adjacent_faces()OrientedIndexedFaceSet.add_face()OrientedIndexedFaceSet.adjacent_faces_with_orientation()OrientedIndexedFaceSet.delete_attribute()OrientedIndexedFaceSet.edge_set()OrientedIndexedFaceSet.face_boundary()OrientedIndexedFaceSet.face_list()OrientedIndexedFaceSet.get_attribute()OrientedIndexedFaceSet.get_vertex_set()OrientedIndexedFaceSet.neighboring_faces()OrientedIndexedFaceSet.neighboring_faces_with_orientation()OrientedIndexedFaceSet.number_of_faces()OrientedIndexedFaceSet.opposite_face()OrientedIndexedFaceSet.opposite_face_with_orientation()OrientedIndexedFaceSet.set_attribute()
OrientedFaceIndexedFaceSetIndexedFaceSet.cell_index()IndexedFaceSet.get_attribute()IndexedFaceSet.set_attribute()IndexedFaceSet.edge_vertex_list()IndexedFaceSet.face_vertex_list()IndexedFaceSet.face_vertex_dict()IndexedFaceSet.face_edge_list()IndexedFaceSet.is_boundary_vertex()IndexedFaceSet.boundary_verticesIndexedFaceSet.add_face()IndexedFaceSet.adjacent_faces()IndexedFaceSet.adjacent_faces_with_orientation()IndexedFaceSet.delete_attribute()IndexedFaceSet.edge_set()IndexedFaceSet.face_boundary()IndexedFaceSet.face_list()IndexedFaceSet.get_vertex_set()IndexedFaceSet.neighboring_faces()IndexedFaceSet.neighboring_faces_with_orientation()IndexedFaceSet.number_of_faces()IndexedFaceSet.opposite_face()IndexedFaceSet.opposite_face_with_orientation()
NgonalIndexedFaceSetNgonalIndexedFaceSet.face_vertex_array()NgonalIndexedFaceSet.face_vertex_incidence()NgonalIndexedFaceSet.face_edge_incidence()NgonalIndexedFaceSet.add_face()NgonalIndexedFaceSet.adjacent_faces()NgonalIndexedFaceSet.adjacent_faces_with_orientation()NgonalIndexedFaceSet.boundary_verticesNgonalIndexedFaceSet.cell_index()NgonalIndexedFaceSet.delete_attribute()NgonalIndexedFaceSet.edge_set()NgonalIndexedFaceSet.edge_vertex_list()NgonalIndexedFaceSet.face_boundary()NgonalIndexedFaceSet.face_edge_list()NgonalIndexedFaceSet.face_list()NgonalIndexedFaceSet.face_vertex_dict()NgonalIndexedFaceSet.face_vertex_list()NgonalIndexedFaceSet.get_attribute()NgonalIndexedFaceSet.get_vertex_set()NgonalIndexedFaceSet.is_boundary_vertex()NgonalIndexedFaceSet.neighboring_faces()NgonalIndexedFaceSet.neighboring_faces_with_orientation()NgonalIndexedFaceSet.number_of_faces()NgonalIndexedFaceSet.opposite_face()NgonalIndexedFaceSet.opposite_face_with_orientation()NgonalIndexedFaceSet.set_attribute()
GridGrid.add_face()Grid.adjacent_faces()Grid.adjacent_faces_with_orientation()Grid.boundary_verticesGrid.cell_index()Grid.delete_attribute()Grid.edge_set()Grid.edge_vertex_list()Grid.face_boundary()Grid.face_edge_incidence()Grid.face_edge_list()Grid.face_list()Grid.face_vertex_array()Grid.face_vertex_dict()Grid.face_vertex_incidence()Grid.face_vertex_list()Grid.get_attribute()Grid.get_vertex_set()Grid.is_boundary_vertex()Grid.neighboring_faces()Grid.neighboring_faces_with_orientation()Grid.number_of_faces()Grid.opposite_face()Grid.opposite_face_with_orientation()Grid.set_attribute()
NoneFace
- ddg.datastructures.indexedfaceset.ifs_generator module
- ddg.datastructures.indexedfaceset.utils module
- ddg.datastructures.indexedfaceset.ifs module
- Module contents
- Submodules
- ddg.datastructures.nets package
- Subpackages
- ddg.datastructures.nets.net_generators package
- Submodules
- ddg.datastructures.nets.net_generators.confocal_quadrics module
- ddg.datastructures.nets.net_generators.jacobi_elliptic_curve module
- ddg.datastructures.nets.net_generators.quadrics module
two_points()circle()hyperbola()linepair()interline()cline()parabola()sphere()hyperboloid_one_sheeted()hyperboloid_two_sheeted()paraboloid_elliptic()paraboloid_hyperbolic()cylinder_elliptic()cylinder_hyperbolic()cylinder_parabolic()cone()line()planes_intersecting()planes_parallel()plane()
- ddg.datastructures.nets.net_generators.spheres_and_circles module
- Module contents
- Submodules
- ddg.datastructures.nets.net_generators package
- Submodules
- ddg.datastructures.nets.conversion module
- ddg.datastructures.nets.domain module
is_bounded_interval()domain_decomposer()DomainEmptyDomainSmoothDomainSmoothRectangularDomainSmoothRectangularDomain.intervalsSmoothRectangularDomain.periodicitySmoothRectangularDomain.boundedSmoothRectangularDomain.dimensionSmoothRectangularDomain.recover()SmoothRectangularDomain.unbounded_directionsSmoothRectangularDomain.bounded_directionsSmoothRectangularDomain.count()SmoothRectangularDomain.index()
SmoothIntervalDiscreteDomainDiscreteRectangularDomainDiscreteRectangularDomain.edge_dataDiscreteRectangularDomain.face_dataDiscreteRectangularDomain.dimensionDiscreteRectangularDomain.double_edgedDiscreteRectangularDomain.intervalsDiscreteRectangularDomain.periodicityDiscreteRectangularDomain.traverserDiscreteRectangularDomain.boundedDiscreteRectangularDomain.recover()DiscreteRectangularDomain.unbounded_directionsDiscreteRectangularDomain.bounded_directionsDiscreteRectangularDomain.count()DiscreteRectangularDomain.index()
DiscreteIntervalDiscreteInterval.intervalDiscreteInterval.periodicDiscreteInterval.recover()DiscreteInterval.boundedDiscreteInterval.bounded_directionsDiscreteInterval.count()DiscreteInterval.dimensionDiscreteInterval.double_edgedDiscreteInterval.edge_dataDiscreteInterval.face_dataDiscreteInterval.index()DiscreteInterval.intervalsDiscreteInterval.periodicityDiscreteInterval.traverserDiscreteInterval.unbounded_directions
DiscreteTriangularDomainDiscreteDiagonalDomain
- ddg.datastructures.nets.net module
- ddg.datastructures.nets.traverser module
- ddg.datastructures.nets.utils module
domain_util()net_util()compose()homogenize()dehomogenize()embed()vertices()applicable_to_netcollection()surface_of_revolution()cylinder()cone()sample_interval()coordinate_hypersurface()coordinate_line()coordinate_lines()coordinate_grid()diagonal_lines()octahedral_grid()shrink_domain()bound_domain()create_subdomain()continue_by_reflection()concatenate()evaluate()delete_direction()modify_direction()cut_bounding_box()
- Module contents
- Subpackages
- ddg.datastructures.halfedge package
- Module contents
- Subpackages
- ddg.geometry package
- Submodules
- ddg.geometry.abc module
- ddg.geometry.conversion module
- ddg.geometry.elliptic_models module
ProjectiveModelProjectiveModel.absoluteProjectiveModel.metric_to_cayley_klein_distance()ProjectiveModel.cayley_klein_distance_to_metric()ProjectiveModel.ambient_dimensionProjectiveModel.cayley_klein_distance()ProjectiveModel.cayley_klein_sphere()ProjectiveModel.d()ProjectiveModel.generalized_cayley_klein_sphere()ProjectiveModel.inner_product()ProjectiveModel.sphere()
- ddg.geometry.euclidean_models module
ProjectiveModelProjectiveModel.absoluteProjectiveModel.d()ProjectiveModel.angle()ProjectiveModel.ellipse_from_foci()ProjectiveModel.sphere()ProjectiveModel.sphere_from_affine_point_and_normals()ProjectiveModel.sphere_to_quadric()ProjectiveModel.quadric_to_sphere()ProjectiveModel.ambient_dimensionProjectiveModel.cayley_klein_distance()ProjectiveModel.cayley_klein_sphere()ProjectiveModel.generalized_cayley_klein_sphere()ProjectiveModel.inner_product()
DualProjectiveModelMoebiusModelprojective_to_moebius()moebius_to_projective()
- ddg.geometry.geometry_model_templates module
MetricGeometryCayleyKleinGeometryMetricCayleyKleinGeometryMetricCayleyKleinGeometry.metric_to_cayley_klein_distance()MetricCayleyKleinGeometry.cayley_klein_distance_to_metric()MetricCayleyKleinGeometry.d()MetricCayleyKleinGeometry.sphere()MetricCayleyKleinGeometry.ambient_dimensionMetricCayleyKleinGeometry.cayley_klein_distance()MetricCayleyKleinGeometry.cayley_klein_sphere()MetricCayleyKleinGeometry.generalized_cayley_klein_sphere()MetricCayleyKleinGeometry.inner_product()MetricCayleyKleinGeometry.absolute
- ddg.geometry.hyperbolic_models module
ProjectiveModelProjectiveModel.absoluteProjectiveModel.metric_to_cayley_klein_distance()ProjectiveModel.cayley_klein_distance_to_metric()ProjectiveModel.geodesic()ProjectiveModel.perpendicular_subspace()ProjectiveModel.common_perpendicular()ProjectiveModel.d_point_hyperplane()ProjectiveModel.d_hyperplanes()ProjectiveModel.angle()ProjectiveModel.ambient_dimensionProjectiveModel.cayley_klein_distance()ProjectiveModel.cayley_klein_sphere()ProjectiveModel.d()ProjectiveModel.generalized_cayley_klein_sphere()ProjectiveModel.inner_product()ProjectiveModel.sphere()
PoincareDiskModelHalfSpaceModelHemisphereModelprojective_to_poincare()poincare_to_projective()projective_to_hemisphere()hemisphere_to_projective()hemisphere_to_poincare()poincare_to_hemisphere()hemisphere_to_half_space()half_space_to_hemisphere()
- ddg.geometry.intersection module
- ddg.geometry.laguerre_models module
- ddg.geometry.lie_models module
- ddg.geometry.moebius_models module
ProjectiveModelProjectiveModel.absoluteProjectiveModel.ambient_dimensionProjectiveModel.angle()ProjectiveModel.cayley_klein_distance()ProjectiveModel.cayley_klein_sphere()ProjectiveModel.generalized_cayley_klein_sphere()ProjectiveModel.inner_product()ProjectiveModel.pole_of_sphere()ProjectiveModel.sphere_from_pole()
ParaboloidModelParaboloidModel.absoluteParaboloidModel.ambient_dimensionParaboloidModel.angle()ParaboloidModel.cayley_klein_distance()ParaboloidModel.cayley_klein_sphere()ParaboloidModel.generalized_cayley_klein_sphere()ParaboloidModel.inner_product()ParaboloidModel.pole_of_sphere()ParaboloidModel.sphere_from_pole()
EuclideanModeleuclidean_to_projective()projective_to_euclidean()paraboloid_to_projective_and_back()
- ddg.geometry.projections module
central_project_subspace_onto_subspace()central_project_quadric_onto_subspace()central_project_subspace_onto_quadric()central_project()central_project_subspace_onto_subspace_contour()central_project_quadric_onto_subspace_contour()central_project_subspace_onto_quadric_contour()central_project_contour()central_project_quadric_onto_subspace_complex()central_project_complex()stereographic_project()stereographic_project_subspace()stereographic_project_quadric()inverse_stereographic_project()inverse_stereographic_project_point()inverse_stereographic_project_subspace()inverse_stereographic_project_sphere()lift_sphere_to_quadric()north_pole()
- ddg.geometry.quadrics module
QuadricQuadric.ambient_dimensionQuadric.dimensionQuadric.dimension_complexQuadric.at_infinity()Quadric.embed()Quadric.unembed()Quadric.inner_product()Quadric.cayley_klein_distance()Quadric.conjugate()Quadric.polarize()Quadric.signature()Quadric.normalize()Quadric.rankQuadric.corankQuadric.singular_subspaceQuadric.non_degenerate_subspaceQuadric.is_degenerateQuadric.dualize()Quadric.dual_transformation()Quadric.transform()Quadric.change_affine_picture()
Penciltouching_cone()cayley_klein_sphere()generalized_cayley_klein_sphere()axis()normalization()intersect_quadric_subspace()join_quadric_subspace()intersect_quadrics()polarize()signature()
- ddg.geometry.spheres module
SphereLikeCayleyKleinSphereLikeCayleyKleinSphereLike.absoluteCayleyKleinSphereLike.metric_radius()CayleyKleinSphereLike.cayley_klein_radius()CayleyKleinSphereLike.generalized_radius()CayleyKleinSphereLike.at_infinity()CayleyKleinSphereLike.embed()CayleyKleinSphereLike.is_circle()CayleyKleinSphereLike.is_hypersphere()CayleyKleinSphereLike.quadric()CayleyKleinSphereLike.unembed()CayleyKleinSphereLike.centerCayleyKleinSphereLike.radiusCayleyKleinSphereLike.subspaceCayleyKleinSphereLike.geometryCayleyKleinSphereLike.dimensionCayleyKleinSphereLike.ambient_dimension
QuadricSphereCayleyKleinSphereCayleyKleinSphere.metric_radius()CayleyKleinSphere.cayley_klein_radius()CayleyKleinSphere.generalized_radius()CayleyKleinSphere.absoluteCayleyKleinSphere.ambient_dimensionCayleyKleinSphere.at_infinity()CayleyKleinSphere.dimensionCayleyKleinSphere.embed()CayleyKleinSphere.geometryCayleyKleinSphere.is_circle()CayleyKleinSphere.is_hypersphere()CayleyKleinSphere.quadric()CayleyKleinSphere.unembed()CayleyKleinSphere.centerCayleyKleinSphere.radiusCayleyKleinSphere.subspace
MetricCayleyKleinSphereMetricCayleyKleinSphere.metric_radius()MetricCayleyKleinSphere.absoluteMetricCayleyKleinSphere.ambient_dimensionMetricCayleyKleinSphere.at_infinity()MetricCayleyKleinSphere.cayley_klein_radius()MetricCayleyKleinSphere.dimensionMetricCayleyKleinSphere.embed()MetricCayleyKleinSphere.geometryMetricCayleyKleinSphere.is_circle()MetricCayleyKleinSphere.is_hypersphere()MetricCayleyKleinSphere.quadric()MetricCayleyKleinSphere.unembed()MetricCayleyKleinSphere.centerMetricCayleyKleinSphere.radiusMetricCayleyKleinSphere.subspaceMetricCayleyKleinSphere.generalized_radius()
GeneralizedCayleyKleinSphereGeneralizedCayleyKleinSphere.absoluteGeneralizedCayleyKleinSphere.ambient_dimensionGeneralizedCayleyKleinSphere.at_infinity()GeneralizedCayleyKleinSphere.dimensionGeneralizedCayleyKleinSphere.embed()GeneralizedCayleyKleinSphere.geometryGeneralizedCayleyKleinSphere.is_circle()GeneralizedCayleyKleinSphere.is_hypersphere()GeneralizedCayleyKleinSphere.quadric()GeneralizedCayleyKleinSphere.unembed()GeneralizedCayleyKleinSphere.centerGeneralizedCayleyKleinSphere.radiusGeneralizedCayleyKleinSphere.subspaceGeneralizedCayleyKleinSphere.metric_radius()GeneralizedCayleyKleinSphere.cayley_klein_radius()GeneralizedCayleyKleinSphere.generalized_radius()
- ddg.geometry.spherical_models module
- ddg.geometry.subspaces module
SubspaceSubspace.pointsSubspace.embed()Subspace.unembed()Subspace.affine_pointsSubspace.affine_matrixSubspace.affine_point_and_directionsSubspace.at_infinity()Subspace.dimensionSubspace.ambient_dimensionSubspace.codimensionSubspace.transform()Subspace.dualize()Subspace.orthonormalize()Subspace.center()Subspace.orthonormalize_and_center()Subspace.dehomogenize()Subspace.change_affine_picture()
PointPoint.pointPoint.affine_pointPoint.affine_matrixPoint.affine_point_and_directionsPoint.affine_pointsPoint.ambient_dimensionPoint.at_infinity()Point.center()Point.change_affine_picture()Point.codimensionPoint.dehomogenize()Point.dimensionPoint.dualize()Point.embed()Point.orthonormalize()Point.orthonormalize_and_center()Point.pointsPoint.transform()Point.unembed()
subspace_from_rows()subspace_from_columns()hyperplane_from_normal()normals()normal_with_level()normal()level()angle_bisectors()angle_bisector_orientation_preserving()angle_bisector_orientation_reversing()perpendicular_bisector()subspace_from_affine_points()subspace_from_affine_rows()subspace_from_affine_columns()subspace_from_affine_points_and_directions()random_subspace()random_contained_subspace()orthonormalize_subspace()center_subspace()orthonormalize_and_center_subspace()dehomogenize_subspace()whole_space()coordinate_hyperplane()join_subspaces()intersect_subspaces()least_square_subspace()least_square_subspace_from_affine_points()reflect_in_hyperplane()
- Module contents
- Submodules
- ddg.math package
- Submodules
- ddg.math.complex module
- ddg.math.confocal2d module
confocal_conics_sqrt()confocal_conics_trigonometric()confocal_conics_concentric()confocal_conics_ic()confocal_conics_ic_hyperbolic()confocal_conics_hyperbolic_pencil()discrete_confocal_conics_gamma()discrete_confocal_conics_gamma_u1_of_corresponding_continuous()discrete_confocal_conics_gamma_u2_of_corresponding_continuous()discrete_confocal_conics_trigonometric()discrete_confocal_conics_trigonometric_u1_of_corresponding_continuous()discrete_confocal_conics_trigonometric_u2_of_corresponding_continuous()discrete_confocal_conics_concentric()discrete_confocal_conics_concentric_u1_of_corresponding_continuous()discrete_confocal_conics_concentric_u2_of_corresponding_continuous()discrete_confocal_conics_ic()discrete_confocal_conics_ic_u1_of_corresponding_continuous()discrete_confocal_conics_ic_u2_of_corresponding_continuous()discrete_confocal_conics_ic_hyperbolic()discrete_confocal_conics_hyperbolic_pencil()discrete_confocal_conics_hyperbolic_pencil_u1_of_corresponding_continuous()discrete_confocal_conics_hyperbolic_pencil_u2_of_corresponding_continuous()sampled_confocal_conic()
- ddg.math.discrete_objects module
tetrahedron_faces()tetrahedron_coordinates()cube_faces()cube_coordinates()octahedron_faces()octahedron_coordinates()dodecahedron_faces()dodecahedron_coordinates()icosahedron_faces()icosahedron_coordinates()disc_face()disc_coordinates()cone_faces()cone_coordinates()cylinder_faces()cylinder_coordinates()arrow_faces()arrow_coordinates()
- ddg.math.euclidean module
torus_parametrization()mobius_strip_parametrization()intersect_diags()intersect_edges()christoffel_dual_quad()focal_points()diagonal_triangle()circle_fct()sphere_fct()circumcenter()circle_through_three_points()sphere_through_four_points()rotation_2d()rotation_from_to()scale_rotation_from_to()rotation_angle_axis()scaleXYZ()translation_to()reflection_in_a_hyperplane()catmull_rom_spline()catmull_rom_curve()extend_to_onb()distance()distance_lines()skew_symmetric_matrix()normalize()embed()angle_bisector_orientation_preserving()angle_bisector_orientation_reversing()
- ddg.math.euclidean2d module
- ddg.math.functions module
- ddg.math.grids module
- ddg.math.inner_product module
- ddg.math.linalg module
- ddg.math.nets2d module
- ddg.math.projective module
- ddg.math.quaternion module
- ddg.math.random module
- ddg.math.symmetric_matrices module
SignatureSignature.plusSignature.minusSignature.zeroSignature.matrixSignature.is_degenerateSignature.rankSignature.is_positive_definiteSignature.is_negative_definiteSignature.is_positive_semi_definiteSignature.is_negative_semi_definiteSignature.is_indefiniteSignature.is_definiteSignature.is_semi_definite
AffineSignatureAffineSignature.plusAffineSignature.minusAffineSignature.zeroAffineSignature.last_entryAffineSignature.matrixAffineSignature.is_definiteAffineSignature.is_degenerateAffineSignature.is_indefiniteAffineSignature.is_negative_definiteAffineSignature.is_negative_semi_definiteAffineSignature.is_positive_definiteAffineSignature.is_positive_semi_definiteAffineSignature.is_semi_definiteAffineSignature.rank
signature_from_diagonal()affine_signature_from_diagonal()projective_normalization()affine_normalization()signature_sort_key()diagonalize()symmetrize()is_symmetric()symmetric_matrix_from_diagonal()
- Module contents
- Submodules
- ddg.optimize package
- ddg.visualization package
- Subpackages
- ddg.visualization.blender package
- Submodules
- ddg.visualization.blender.animation module
- ddg.visualization.blender.bmesh module
- ddg.visualization.blender.camera module
- ddg.visualization.blender.collection module
- ddg.visualization.blender.context module
- ddg.visualization.blender.curve module
- ddg.visualization.blender.light module
- ddg.visualization.blender.material module
- ddg.visualization.blender.mesh module
- ddg.visualization.blender.object module
- ddg.visualization.blender.props module
- ddg.visualization.blender.render module
ImageFormatExtensionImageFormatExtension.BMPImageFormatExtension.PNGImageFormatExtension.IRISImageFormatExtension.JPEGImageFormatExtension.JPEG2000ImageFormatExtension.TARGAImageFormatExtension.TARGA_RAWImageFormatExtension.DPXImageFormatExtension.CINEONImageFormatExtension.OPEN_EXRImageFormatExtension.OPEN_EXR_MULTILAYERImageFormatExtension.HDRImageFormatExtension.TIFFImageFormatExtension.WEBP
set_world_background()set_film_transparency()setup_eevee_renderer()setup_cycles_renderer()set_render_stamp_note()set_render_output_images()render_frame()render_animation()
- ddg.visualization.blender.scene module
- Module contents
- Submodules
- ddg.visualization.blender package
- Module contents
- Subpackages
Submodules
Module contents
- class ddg.DiscreteCurve(*args, **kwargs)[source]
Bases:
DiscreteRecursiveNet- property dimension
- evaluate()
- property fct
- property traverser
Get the traverser of the Domain.
- Returns:
- ddg.datastructures.nets.traverser.Traverser
- class ddg.DiscreteNet(fct, domain, hint=None, **kwargs)[source]
Bases:
Net,IterableStore and manage data of a discrete net.
- Parameters:
- fctfunction
Function defining the net.
- domainddg.datastructures.nets.domain.DiscreteDomain or list of intervals
Domain of ‘fct’.
- periodicityset, optional
Set containing indices of periodic coordinate directions.
- traverserddg.datastructures.nets.traverser.Traverser, optional
Traversing scheme of the dicrete net.
- namestr, optional
Name of the net (mostly used for blender conversion).
- inititerable or ddg.datastructures.nets.domain.DiscreteDomain, optional
Preset initial data or generate all data in the given domain.
- hintfunction, optional
Function returning the net points needed to compute the value for a given net point (by default there is no hint function). If specified the values are calculated iteratively.
See also
Net,NetCollection
Notes
The
hintfunction has to return an empty list for all net points which are initialized byfct.The function
fctwill be called repeatedly to calculate the value for the given index. It has to guarantee that the calculation will stop, i.e. that it will hit initial data.:E.g.: Suppose the missing vertex has the index (i,j). Then `fct` could use the values at vertices ((i-1,j-1), (i,j-1), (i-1, j)) to calculate the missing value (i-1,j) (i,j) input -> o--------o <- missing | | | | | | input -> o--------o <- input (i-1,j-1) (i,j-1) If the standard axis {(i,0) | i int} and {(0,i) | i int} are initial data (either given by `fct` itself or previously set) this definition is well defined.If
hintis not given the calculations are made recursively. So it may easyly generateRecursionErrorfor exeeding recursition depth. Thus it is important to take the search pattern offctinto account for choosing the traverser.:E.g.: Suppose the inital data is given in a zick-zack pattern in the fourth quadrant like (0,0) o--o | (-1,-1) o--o | (-2,-2) o--o If we suppose `fct` to use the search pattern from the comment above a (finite) linear traverser will generate `RecursitionError` for a relatively small search box (about 80x80). However a diagonal traverser will guarantee a small recursition depth. 1-->2-->3-->4 1 5 8 10 \ \ \ 5-->6-->7 2 6 9 \ \ 8-->9 3 7 \ 10 4 (lin. trav.) (diag. trav.)
- Attributes:
traverserddg.datastructures.nets.traverser.TraverserGet the traverser of the Domain.
- property traverser
Get the traverser of the Domain.
- Returns:
- ddg.datastructures.nets.traverser.Traverser
- property dimension
- property fct
- class ddg.NetCollection(nets=[], name='NetCollection')[source]
Bases:
Sized,Iterable,ContainerCollection of Nets
- Parameters:
- netsList of nets
Nets to be contained in the collection.
- namestr (default=’NetCollection’)
Name of the collection.
- Attributes:
- namestring
Name of the collection
dimensionintDimension of the collection.
- property dimension
Dimension of the collection.
Only works if all nets in the collection have the same dimension.
- Returns:
- int
- Raises:
- AttributeError
If collection is empty
If nets in collection have different dimensions.
- class ddg.SmoothNet(fct, domain, *args, **kwargs)[source]
Bases:
NetStore and manage data of a smooth net.
- Parameters:
- fctfunction
Function defining the net.
- domainddg.datastructures.nets.domain.SmoothDomain or list of intervals
Domain of
fct.- periodicityset, optional
Set containing indices of periodic coordinate directions.
- periodicbool
Alternative way of specifying periodicity for one dimensional net. It precedes periodicity if set.
- namestr, optional
Name of the net (mostly used for blender conversion).
See also
Net,NetCollection
- property dimension
- property fct
- ddg.sample_smooth_net(net, sampling, anchor=None, atol=1e-08, name=None)[source]
Samples a smooth net.
- Parameters:
- netddg.datastructures.nets.net.SmoothNet
Smooth net to sample.
- samplinglist, int or float
See sample_smooth_domain.
- anchorlist or None
Anchor point for sampling process.
- atollist, int or float
Tolerance(s) for sampling process.
- namestring
Name of the sampled net. If None, uses net.name instead.
- Returns:
- ddg.datastructures.nets.net.DiscreteNet
See also
sample_smooth_domain
- ddg.to_halfedge(object_, **kwargs)[source]
Converts an object to a primitive halfedge surface depending to its type.
- ddg.to_smooth_net(object_, domain=None, **kwargs)[source]
Convert an object to a smooth net.
- Parameters:
- object_Subspace, Point, Quadric, Intersection or Join
Object to be converted. Currently supported:
Quadriccontained in 1D, 2D and 3D subspaces in any ambient space,IntersectionandJoin. These will be resolved and converted if resolving produces an object of a different, supported type.
- domainlist or SmoothDomain (default=None)
Optionally a domain to assign to the net. If
domainis not contained in the default domain, they are intersected and a warning is raised. Usesddg.datastructures.nets.utils.create_subdomain().- **kwargsdict
Keyword arguments to be passed to the type-specific conversion. See submodules for available options.
- Returns:
- SmoothNet, SmoothCurve, PointNet or EmptyNet
- Raises:
- TypeError
If object has a type for which conversion is not possible.
- Warns:
- RuntimeWarning
If
domainis not contained in the default domain of the object.
- ddg.to_blender_object_helper(obj, name=None, location=None, hide_viewport=None, hide_render=None, scale=None, shade_smooth=False, bounding_box=None, accept_all=False, material=None, collection=None, **kwargs)[source]
Fast conversion function for ddg objects to be converted to blender.
It combines the following two utilities:
converting Subspaces and Quadrics to SmoothNets, SmoothNets to DiscreteNets and DiscreteNets and half-edge objects to blender objects
simplifies the input of commonly used arguments for the Blender object creation.
Notes for the conversion:
each conversion that uses a DiscreteNet at some point requires a sampling keyword, see Options for SmoothNet, respectively ddg.nets.conversion.sample_smooth_domain.
each ddg object may have specific conversion arguments, see below. Note that e.g. for a Quadric one can use specific arguments for the conversion from a Quadric to a SmoothNet, from a SmoothNet to a DiscreteNet and from a DiscreteNet to a Blender object.
conversion from 1d Subspaces or Conics use options for DiscreteCurves
Notes for the commonly used arguments:
All the keyword arguments of this function will be converted to a form that is readable for
to_blender_object().in **kwargs further keyword arguments can be given in a form required by
to_blender_object().
- Parameters:
- objddg object
Any object of the ddg library except some types of nets with depth (see warning).
- namestr (default=None)
Name of the resulting Blender object
- locationiterable of shape (3,) (default=(0,0,0))
Location of the resulting Blender object.
- hide_viewportbool (default=False)
Boolean to set to blender_object.hide_viewport.
- hide_renderbool (default=False)
Boolean to set to blender_object.hide_render.
- scale: iterable of shape (3,) (default=(1,1,1))
Scaling of the resulting Blender object set as blender_object.scale.
- shade_smoothbool (default=False)
Boolean to decide whether to apply
ddg.visualization.blender.mesh.shade_smooth()to the mesh of the resulting Blender object.- bounding_boxiterable of shape (3,) (default=(1,1,1))
Boolean to decide weather to apply
ddg.visualization.blender.bmesh.cut_bounding_box()(respectivelyddg.datastructures.nets.utils.cut_bounding_box()if blender_object.data will be of type bpy.Curves).- accept_allbool (optional default=False)
When True all options are accepted, but no warning will be given when the conversion does not support one of them.
- materialstring or bpy.types.Material (optional, default=None)
Material of the created Blender object
- collectionbpy.types.Collection (default=None)
Collection to link the blender object to. If set to None the object will be linked to bpy.context.scene.collection.
- **kwargs
Keyword arguments to use in the conversion. Available options depend on the type of the given object (see below). All other keyword arguments (that are not type specific) will be handed over to
to_blender_object(). For example this can be further (lists of) transformations of the mesh/bmesh or Blender object or attributes of the resulting objects.Options for Subspaces:
- convexbool (default=True)
Whether to use convex parametrization (see
subspace_to_smooth_net()).- affinebool (default=True)
Whether the resulting smooth net should return homogeneous or affine coordinates (see
subspace_to_smooth_net()).- domainlist or SmoothDomain (default=None)
Optionally a domain to assign to the SmoothNet (see
ddg.datastructures.nets.utils.create_subdomain(),to_smooth_net()).
As well as all options for SmoothNet and DiscreteNet.
Options for Quadrics:
- affinebool (default=False)
Whether the resulting SmoothNet should return affine or homogeneous coordinates (see
quadric_to_smooth_net()).- domainlist or SmoothDomain (default=None)
Optionally a domain to assign to the SmoothNet (see
ddg.datastructures.nets.utils.create_subdomain(),to_smooth_net()).
As well as all options for SmoothNet and DiscreteNet.
Options for Spheres:
No options.
Options for SmoothNet:
- samplinglist, int or float
See
ddg.datastructures.nets.conversion.sample_smooth_domain().- anchorlist or None
Anchor point for sampling process.
- atollist, int or float
Tolerance(s) for sampling process.
Options for DiscreteNet:
- boundingint (default=10)
Used to bound unbounded domains of nets.
- only_wirebool (default=False)
When True, only the wireframe of the net will be created.
Options for DiscreteCurve:
- boundingint (default=10)
Used to bound unbounded domains of nets.
- curve_typestring (default=’POLY’)
Blender curve type. See the Blender docs for all available types.
- curve_propertiesdictionary (default={‘bevel_depth’: 0.015})
Dictionary containing Blender curve properties. See the Blender docs for all available properties.
Options for PointNet:
- sphere_radiusfloat (default=0)
Radius of the sphere representing a point.
- sphere_subdivisionint (default=3)
How many subdivisions will be applied to the sphere.
Options for Half-Edge:
- co_attrstr (default=’co’)
Name of the vertex attribute that stores the coordinates.
- Returns:
- Blender object
Blender object associated with the ddg object.
Warning
This function can only handle DiscreteNets and DiscreteCurves as nets with depth. Not supported for SmoothNets and SmoothCurves. Also in the case of DiscreteNets and DiscreteCurves the net must consist of either
EmptyNets
PointNets
DiscreteNets
Half-edge Objects
Collections of either
See also
- ddg.to_blender_object(obj, accept_all=False, depth_bounding=10, attributes={}, material=None, collection=None, mesh_transformations=[], bmesh_transformations=[], obj_transformations=[], link=True, **options)[source]
Create and link a Blender object from a given DDG object.
- Parameters:
- objddg.datastructure
DDG datastructure to convert into a Blender object.
- accept_allbool (optional default=False)
When True all options are accepted, but no warning will be given when the conversion does not support one of them.
- depth_boundingint (optional, default=10)
Bounding used for the highest layer of Nets with depth
- attributesdict (optional, default={})
Attributes that will be assigned to the resulting Blender object such as name, parent, matrix_world, location, hide_viewport etc. in a dictionary as {‘attribute’: value}
- materialstring or bpy.types.Material (optional, default=None)
Material of the created Blender object
- collectionbpy.types.Collection (optional, default=None)
Collection to link the blender object to. If set to None the object will be linked to bpy.context.scene.collection.
- mesh_transformationsfunction or list of functions (optional, default=[])
Functions which should be applied to the mesh of the object. The transformation functions need to be defined such that they only take one (required) parameter, namely the mesh.
- bmesh_transformationsfunction or list of functions (optional, default=[])
Functions which should be applied to the bmesh of the object. The transformation functions need to be defined such that they only take one (required) parameter, namely the bmesh.
- obj_transformationsfunction or list of functions (optional, default=[])
Functions which should be applied to the object. The transformation functions need to be defined such that they only take one (required) parameter, namely the object.
- link: bool (optional, default=True)
If set to True, the object will be linked to the given collection. If set to False, the object will be created but not linked to any collection.
- **options
Options to use in the conversion. Available options depend on the type of the given object.
Options for DiscreteNet:
- boundingint (default=10)
Used to bound unbounded domains of nets.
- only_wirebool (default=False)
When True, only the wireframe of the net will be created.
Options for DiscreteCurve:
- boundingint (default=10)
Used to bound unbounded domains of nets.
- curve_typestring (default=’POLY’)
Blender curve type. See the Blender docs for all available types.
- curve_propertiesdictionary (default={‘bevel_depth’: 0.015})
Dictionary containing Blender curve properties. See the Blender docs for all available properties.
options for PointNet:
- sphere_radiusfloat (default=0)
Radius of the sphere representing a point.
- sphere_subdivisionint (default=3)
How many subdivisions will be applied to the sphere.
Options for HalfEdge surfaces:
- co_attrstr (default=’co’)
The name of the vertex attribute that contains the coordinates.
- Returns:
- Blender object
Blender object associated with the DDG object.
- Raises:
- TypeError
if object is not convertible.