diffCheck.df-b_geometries modules#
This page contains 2 modules for the geometries:
diffCheck.df_geometriesmodule contains all the objects and functions to handle geometries of a structure in the DiffCheck library.diffCheck.diffcheck_bindings.dfb_geometrymodule contains all the objects and functions to handle mesh and point cloud geometries in diffCheck.
diffCheck.df_geometries module#
This module represent the geometry of a structure in the DiffCheck library. It contains the following classes:
This is how these geometris are related:
stateDiagram-v2
DFAssembly
state DFAssembly {
[*] --> DFBeam
state DFBeam {
[*] --> DFJoint
DFJoint --> DFFace
state DFFace {
[*] --> DFVertex
}
}
}
Caution
The diffCheck.df_geometries.DFJoint is only generated when accessed from the diffCheck.df_geometries.DFAssembly or diffCheck.df_geometries.DFBeam objects. It exists only as a convinience container for the joints.
- class diffCheck.df_geometries.DFAssembly(beams, name)#
Bases:
objectThis class represents an assembly of beams
- property all_joint_faces#
- property all_joints#
- property all_side_faces#
- property all_vertices#
- deepcopy()#
Create a deep copy of the assembly
- dump_xml(pretty_xml, dir)#
Dump the pretty XML to a file
- property mass_center#
- remove_beam(beam_assembly_index)#
Remove a beam from the assembly
- Parameters:
beam_assembly_index (int)
- to_xml()#
Dump the assembly’s meshes to an XML file. On top of the DiffCheck datatypes and structure, we export the underlaying beams’s meshes from Rhino as vertices and faces.
- Return xml_string:
The pretty XML string
- property total_number_joints#
- property uuid#
- class diffCheck.df_geometries.DFBeam(name, faces)#
Bases:
objectThis class represents a beam, in diffCheck, a beam is a collection of faces
- property center#
- deepcopy()#
- classmethod from_brep_face(brep, is_roundwood=False)#
Create a DFBeam from a RhinoBrep object. It also removes duplicates and creates a list of unique faces.
- property index_assembly#
- property joint_faces#
- property joints#
- property number_joints#
- property side_faces#
- to_brep()#
Convert the beam to a Rhino Brep object
- to_mesh(max_edge_length)#
Convert the beam to a Rhino Mesh object
- property uuid#
- property vertices#
- class diffCheck.df_geometries.DFFace(all_loops, joint_id=None)#
Bases:
objectThis class represents a face, in diffCheck, a face is a collection of vertices.
- deepcopy()#
- classmethod from_brep_face(brep_face, joint_id=None)#
Create a DFFace from a Rhino Brep face
- property is_joint#
- to_brep_face()#
Convert the face to a Rhino Brep planar face
- Return brep_face:
The Rhino Brep planar face
- to_mesh()#
Convert the face to a Rhino Mesh
- Return mesh:
The Rhino Mesh object
- property uuid#
- class diffCheck.df_geometries.DFJoint(id, faces)#
Bases:
objectThis class represents a joint, in diffCheck, a joint is a collection of faces For convenience, this is used only as a return type from the DFBeam class’s property for retrieveing joints
- deepcopy()#
- to_brep()#
Convert the joint to a Rhino Brep object
- to_mesh(max_edge_length)#
Convert the joint to a Rhino Mesh object
- property uuid#
It retrives the automatic identifier, not the one of the joint in the beam
- class diffCheck.df_geometries.DFVertex(x, y, z)#
Bases:
objectThis class represents a vertex, a simple container with 3 coordinates
- deepcopy()#
- classmethod from_rg_point3d(point)#
Create a DFVertex from a Rhino Point3d object
- Parameters:
point (
Point3d) – The Rhino Point3d object- Return vertex:
The DFVertex object
- to_rg_point3d()#
Convert the vertex to a Rhino Point3d object
- Return point:
The Rhino Point3d object
- property uuid#
diffCheck.diffcheck_bindings.dfb_geometry module#
A submodule for wrap geometries in df.
- class diffCheck.diffcheck_bindings.dfb_geometry.DFMesh#
Bases:
pybind11_objectA class for the triangle mesh representation.
- property colors_face#
- property colors_vertex#
- compute_distance(self: diffCheck.diffcheck_bindings.dfb_geometry.DFMesh, target_cloud: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud, is_abs: bool = True) list[float]#
- property faces#
- get_num_faces(self: diffCheck.diffcheck_bindings.dfb_geometry.DFMesh) int#
- get_num_vertices(self: diffCheck.diffcheck_bindings.dfb_geometry.DFMesh) int#
- get_tight_bounding_box(self: diffCheck.diffcheck_bindings.dfb_geometry.DFMesh) list[numpy.ndarray[numpy.float64[3, 1]]]#
- load_from_PLY(self: diffCheck.diffcheck_bindings.dfb_geometry.DFMesh, arg0: str) None#
- property normals_face#
- property normals_vertex#
- sample_points_uniformly(self: diffCheck.diffcheck_bindings.dfb_geometry.DFMesh, arg0: int) diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud#
- property vertices#
- class diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud#
Bases:
pybind11_objectA class for the point cloud representation.
- add_points(self: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud, arg0: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud) None#
- apply_color(self: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud, r: int, g: int, b: int) None#
- apply_transformation(self: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud, transformation: diffCheck::transformation::DFTransformation) None#
- property colors#
- compute_distance(self: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud, target_cloud: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud) list[float]#
- downsample_by_size(self: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud, target_size: int) None#
- estimate_normals(self: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud, use_cilantro_evaluator: bool = False, knn: int | None = 100, search_radius: float | None = None) None#
- get_axis_aligned_bounding_box(self: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud) list[numpy.ndarray[numpy.float64[3, 1]]]#
- get_center_point(self: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud) numpy.ndarray[numpy.float64[3, 1]]#
- get_num_colors(self: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud) int#
- get_num_normals(self: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud) int#
- get_num_points(self: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud) int#
Get the number of points in the point cloud.
- get_tight_bounding_box(self: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud) list[numpy.ndarray[numpy.float64[3, 1]]]#
- has_colors(self: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud) bool#
- has_normals(self: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud) bool#
- has_points(self: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud) bool#
- load_from_PLY(self: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud, arg0: str) None#
- property normals#
- property points#
- remove_statistical_outliers(self: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud, nb_neighbors: int, std_ratio: float) None#
- uniform_downsample(self: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud, every_k_points: int) None#
- voxel_downsample(self: diffCheck.diffcheck_bindings.dfb_geometry.DFPointCloud, voxel_size: float) None#