All Classes and Interfaces
Class
Description
A common code for OpenGL buffers registered in an OpenGL context under a name.
This class represents a group of registered buffers in an OpenGL context.
The ability to being used in animations and transitions.
Animation direction.
A buffer for
GL_ATOMIC_COUNTER
target.A buffer for
GL_ATOMIC_COUNTER
target.Strategies of the average mesh computation.
Stateless services for average face calculation.
An interface declaring the ability to deform a template mesh into an average mesh based on visiting other meshes.
Visitor capable to create an average face by deforming given face template
so that its vertices are in the "average position" with respect to the visited faces.
Visitor capable to create an average face by deforming main face template so
that its vertices are in the "average position" with respect to the visited
faces.
GPU accelerated
AvgMeshVisitorRC
.Action listener for manipulation with cutting planes.
Control panel for analysis via cutting planes.
Action listener for batch registration phase.
A control panel for bath (N:N) processing.
A task that computes distance-based similarity of the set of faces.
A class for testing the efficiency of batch Ray tracing algorithm.
A class for testing the correctness of batch Ray tracing algorithm.
Action listener for batch registration phase.
A control panel for bath (N:N) processing.
A concurrent task that registers multiple faces to selected template face.
A class for testing the efficiency of batch processing algorithms.
This visitor throws a beam towards octree and finds closest intersections
ray with facets.
Visitor providing methods to ray cast
OctreeOpenCL
in parallel utilizing GPU.Convenience methods for loading
MeshModel
filesConfiguration for the computation of bounding box from inspected meshes.
Stateless services for bounding box calculation.
Stateful computation of a bounding box.
Visitor that computes a 3D bounding box (cube).
Represents a 2D bounding box in an image.
A 3D box (e.g., a bounding box) of
MeshPoint
s.Every buffer must have defined an uniques name here.
Factory for OpenCL buffers with additional functionality
Buffer in GPU memory.
Names for predefined buffer groups used together by GLSL programs and their shaders.
OpenGL code related to the camera.
A symmetry plane extends standard plane with functions related to the
similarity of planes and the measure of their quality (symmetry precision).
Symmetry plane with votes used for the decision about the best symmetry estimates of 3D mesh models.
A symmetry plane extends standard plane with functions related to the
similarity of planes and the measure of their quality (symmetry precision).
This symmetry plane changes the behavior so that similarity of Gaussian
curvature values and the symmetry of normal vectors are used to check the
quality of the symmetry plane.
OpenGL canvas.
Listener invoked when the OpenGL canvas is initiated, shown, or resized.
A copy of the internal state of the
Canvas
instance.This visitor finds the minimal distance between the given 3D point and points
(e.g., mesh vertices) stored in visited k-d trees.
For a given 3D point, this visitor returns the closest node(s) and its/their distance to the point.
This visitor finds the minimal distance between a given 3D point and triangular meshes
The minimal distance is computed between the 3D point and triangles of the mesh facets,
i.e., the closest point at the triangle surface is found.
A CL program, which links multiple source files together
Definitions of CL programs, i.e., their dependencies on source files
This object deals with programs of a single OpenCL context.
Interface to allow release of GPU resources held by this object
Definitions of OpenCl source files
Source codes (.c files) must be located in the "/opencl" subdirectory of resources.
Generic kernel operations on GPU data
A proxy object storing the information about a CL program compiled on GPU.
A proxy object storing the information about a GLSL program compiled on GPU.
A proxy object storing the information about a shader compiled on GPU.
A listener responsible for selecting an enabled combo box item
when a disabled item is selected.
A combo box renderer adapted for displaying disabled items in gray color.
A combo box item with "is enabled" state.
The control panel inside the canvas.
Action listener for
ControlButtons
.An abstract class for control panels that can be docked in the
TaskControlPane
.Default action listener (controller) used to connect specific control panel
with the canvas.
Representation of mesh in memory using corner table.
Single row in corner table.
A 2D cross-section curve computed from
CrossSection3D
.A 3D poly-line consisting of multiple segments produced, e.g., by cutting planes.
Configuration for cross-section calculations of inspected meshes.
Stateless services for the calculation of cross-sections.
Stateful computation of a cross-sections.
A visitor that calculates the cross-section of a face and a cutting plane by
splitting the mesh edges.
Curvature of a single mesh point.
Action listener for the curvature computation.
Configuration for the curvature computation.
Control panel for curvature analysis.
A relevance-based point sampling using the highest curvature
(see this paper).
Curvature algorithm used for the selection of the top X significant points.
Stateless services for curvature calculation.
A utility class that computes principal curvatures and min/max direction of any point on a mesh.
Stateful computation of curvature.
A visitor that computes and sets curvatures to vertices of all visited meshes.
Panel for drawing 2D cutting curves.
Action listener for manipulation with cutting planes.
Control panel for analysis via cutting planes.
Deprecated.
A bounding cylinder.
This renderer disables/disables cells depending on the state of
the
ProjectTableModel.Column.FILTERED_OUT
cell.Action listener for computation of the Hausdorff distance.
Control panel for Hausdorff distance.
This objects stores data about the distance from a single facet's vertex to another surface.
Canvas toolbox for scenes with two faces.
A single line input field that lets the user show and select real number
from an ordered sequence.
A drawable object, i.e., an object with drawing state and capable to
render itself into an OpenGL context.
Comparator for Drawable objects based on transparency.
Drawable plane with the possibility to shift it along the normal and,
moreover, to show a "mirror" plane (a plane shifted in the opposite direction).
Drawable human face.
Drawable feature points.
A drawable feature point skeleton consisting of drawable lines.
Spherical surrounding of feature points that represent their weights.
Drawable interactive mask drawn as points connected by lines.
A line to be shown in the scene, e.g., to show a ray.
A drawable triangular mesh, i.e., a mesh model with drawing information like
material, transparency, color, relative transformations in the scene etc.
A plane to be shown as a rectangular mesh facet.
Points rendered as small spheres.
Interface for implementing the drawables of SurfaceMask2D
Class representing a 2D drawable surface mask ellipse
Class representing a 2D drawable surface mask line
Class representing a 2D drawable surface mask line
Eigenvalues and eigenvectors of a real matrix.
Class used to export feature points to file of csv format
Class used to export feature points to file of fp format
Services related to cutting planes and cross-section curves of a human faces.
Implementation of cutting services.
Represents information about a face detected in an image.
An IA-based detector of faces and their landmarks from 2D images.
Services for the computation of distance (similarity) between faces.
Implementation of distance services.
A common component for showing information about a face.
Action listener for face info.
A control panel wrapper for the
FaceInfoPanel
Services for registering (mutually align) faces.
A utility functions for the registration of whole human faces.
Action listener for panel showing face details.
A proxy over the
HumanFaceFactory
.Types of files associated with a single human face
In contrast to the
FacesProxy
, which deals with faces that are the subject of batch processing,
this class add handling of the (optionally computed) average face.Services for managing a state (internal elements) of a single human face.
Update strategy.
Services for a single human face.
This buffer encapsulates loading of
MeshFacet
instances to GPU memory.The result of the surface-to-surface distance measurement (i.e., multiple facets towards multiple facets).
Addition layers above the basic distance measurements.
A popup toolbox for per-face settings.
Types of menu faces
A standard anthropometric feature point with predefined (i.e., fixed) name, code, and description
shared by all instances.
Action listener for the FeaturePointsPanel
Utility class for holding information about the correct pairing of points in the feature point skeleton.
Control panel for feature points.
A singleton providing information about standard anthropometric feature points,
i.e., their name, description, or code.
A singleton data access object providing information about standard anthropometric feature points.
History of filtering, holds information of each filtering (which faces were filtered)
Canvas toolbox for the selection fog version.
Generic class for a list of feature points.
A list of feature points with weights.
Frame buffer used for the
GL_FRAMEBUFFER
OpenGL target.Frame buffer used for the
GL_FRAMEBUFFER
OpenGL target.A GLSL buffer.
This interface represents a group of registered (not necessarily allocated or bound) buffers.
A GLSL program, which links multiple shaders together, for example vertex shader and a fragment shader.
Defined GLSL programs, i.e., their dependencies on defined shaders and optional unified variables
used inside the program code.
Stateless services for compiling vertex and fragment shaders and composing them into GLSL programs.
Definitions of defined GLSL shaders.
Information about a point selected to be a glyph.
Configuration object for glyphs.
Stateless services for glyphs.
Visitor, which calculate suitable position and orientation of glyphs from visited meshes.
The implementation of glyphs visitor interface.
A 3D meat map with a saturation "layer".
Heatmap rendering.
A single human face consisting of a mesh, feature points, space partitioning structures, and other data structures.
The root type for events fired by the
HumanFace
.Changes in the human face and its data structures (e.g., mesh model, etc.)
This interface provides services that instantiates a human face.
A human face implementation.
Objects implementing this interface can be registered with
a
HumanFace
object
and then be informed when the human face (some of its internal data structures) changes.A flyweight factory that creates and caches human faces.
Dumping strategies.
A flyweight factory that creates and caches human faces.
A human face has been selected
A copy of the internal state of the
HumanFace
instance.A human face all its components (mesh, symmetry plane, feature points, etc.)
ICP strategies and their configuration.
This class evaluates efficiency (time) and precision of the ICP registration if different
sub-sampling algorithms with different strength are used.
Stateless services for IPC registration.
IcpTransformation class is holding computed data for transformation.
Visitor applying the Iterative Closest Point (ICP) algorithm to register two meshes.
The implementation of the ICP visitor.
A texture buffer storing an image.
A texture buffer storing an image.
An info button/icon providing a link into some web page.
GUI initialization class.
Simple resizable buffer to store integers
Action listener for interactive mask panel
Task to handle asynchronous projection of points from SurfaceMaskPanel onto HumanFace
Implementation of InteractiveMaskTask without extending SwingWorker and parallelism
Interface for working with position in classes that contain the
Point3d
.A single node of a KD-tree.
Implementation of k-D node.
k-D tree for storing vertices (
MeshPoint
s) of triangular (MeshFacet
s).The root type for events relate to the changes in k-d tree.
Implementation of k-D trees.
When instantiated, the object can be gradually applied to multiple k-d trees.
Either user-defined or standard anthropometric feature point.
Generic class for landmarks and feature points.
User-defined landmark with variable name, description, etc.
Services for detecting faces and their landmarks from 2D images captured from the canvas.
The implementation of landmarks detector.
Public stateless services dealing with landmarks.
A factory that instantiates either user defined landmarks or standard anthropometric feature points.
Some landmarks were added, removed, or shifted.
IO services for landmarks and feature points.
A subclass of
ActionEvent
extended to carry additional data as payload.Class used to import feature points from file of CSV format
Class used to import feature points from file of fp format
A logging class that can be used from anywhere to display debugging or other
messages.
Visits meshes and returns intersections with projection of SurfaceMask2D
Configuration for MaskProjector
Material.
New mesh distance metric has been computed.
Mesh-to-mesh distance strategies and their configuration.
Wrapper with data for GPU computing.
Sampling method.
This visitor searches for the closest points of the primary mesh (provided to the constructor)
and inspected meshes using nearest neighbor (NN) search , then provides these closest points, their distances, etc.
This visitor searches for the closest points of the primary mesh (provided to the constructor)
and inspected meshes by casting rays (RC) in the direction of normal vectors on the inspected mesh.
This visitor searches for the closest points of the primary mesh (provided to the constructor)
and inspected meshes by casting rays (RC) in the direction of normal vectors on the inspected mesh.
The result of the surface-to-surface distance measurement (i.e., multiple facets towards multiple facets).
Stateless services for mesh-to-mesh distance measurement.
The implementation of mesh distances.
Interface for visitors that search for the distance between inspected meshes (their vertices)
to the given primary mesh, which is provided to the visitor's constructor.
An abstract class for distance visitors that search for the distances of inspected meshes (their vertices)
to the primary mesh, which is provided to the visitor's constructor.
An encapsulated mesh plate, i.e., multiple triangles sharing vertices.
Mash facet is a compact triangular mesh without duplicated vertices.
This interface provides services that instantiates objects related to meshes.
Reading and writing mesh models from/to files.
The main object for triangular meshes.
The main object for triangular meshes.
Utility class for exporting model to .obj file (vertices, normals and triangles)
Utility class for loading human face from OBJ data format.
MeshPoint represents a point with position, normal, and texture coordinates
MeshPoint represents a point with position, normal, and texture coordinates.
A rectangular mesh facet consisted of two triangles.
Adapter for the corner table representing a single triangle of
MeshFacet
.Interpolation of the triangle surface points.
Class providing readable conversion of
MeshTriangle
data to reside in OpenCL buffers
Each triangle is represented by 3 points and 3 vectors.Adapter for the corner table representing a single triangle of
MeshFacet
.Relationship between the landmark and the close vicinity of its mesh.
Required interface for stateful inspection of meshes.
A mouse adapter that handles clicking in canvas and then casts the ray into
the scene.
This object is invoked when the mouse interacts with the OpenGL canvas.
A task that computes similarity of a set of faces by computing
the distance of faces to an average face and then combining these values
to get mutual similarity for all pairs.
The strategy of distance measurement.
A "new project" button in the application toolbox
No point sampling.
A single node of an Octree.
Implementation of an Octree node.
An inner node of an Octree.
A leaf node of an Octree.
Octree
for storing vertices (MeshPoint
s) of triangular meshes
(MeshFacet
s).Benchmark comparing the speed of GPU-based and CPU-based Octree construction.
The root type for events relate to the changes in octree.
OctTree implementation.
Creates octree in OpenCL memory
Octree is static - Does not support modifications after creation
The implementation is thread-safe
Builds Octree on GPU in top-down direction.
When instantiated, the object can be gradually applied to multiple octrees.
Stateless services for compiling OpenCL programs.
Opens an existing project.
A worker for opening multiple task tabs for a single-face analysis
Wrapper of the default Java Netbeans Platform output window.
A task that computes similarity of a set of faces by applying two-way (from A to B and vice versa)
distance measurement to all pairs A and B if the set.
A buffer for
GL_PIXEL_UNPACK_BUFFER
target.A buffer for
GL_PIXEL_UNPACK_BUFFER
target.Immutable symmetry plane.
A GUI element grouping three main elements for manipulation with a single cutting plane
A special facet consisting of mesh points only, without mesh topology (edges).
Point sampling strategies and their configuration.
Sampling method.
Stateless services for point sampling.
Stateful sub-sampling.
An abstract class for point sampling methods.
Point sampling strategies and their configuration.
Sampling method.
Stateless services for point-to-mesh distance measurement.
Classes implementing this interface can compute minimal distance between a 3D point (set in a constructor)
to a mesh facets.
Benchmark comparing performance between CPU-based and GPU-based Poisson sub-sampling implementations.
This downsampling algorithm evenly distributes samples over the mesh surface
while preserving at least a minimal distance d between samples.
Represents uncovered region of plane, octree node
This implementation overrides
PoissonDiskSubSampling
sample generation
to use GPU-based Ray Casting algorithm implemented in OpenCl.Benchmark comparing performance between CPU-based and GPU-based Poisson sub-sampling implementations
Given a sphere, this decorator increases weight of measurements inside the sphere proportionally to their
distance to sphere's center.
Procrustes superimposition algorithm
that computes transformation of faces from their feature points.
This object deals with shaders and programs of a single OpenGL context.
A dialog window that shows the progress of a long-running task.
A FIDENTIS project.
Action listener for panel used to filter faces in the project window.
This class determine the structure of the JSON project configuration file.
The left-hand part of the project dashboard consisting of a project toolbar and
a table of faces.
Default action listener (controller) used to connect specific control panel
of the project window with the project itself.
A table-based view of the list of project's faces
Table model for the project's table.
Names of columns and their order
The main panel enabling analysts to select the primary and secondary faces,
and to perform basic batch processing.
Class used to store information about transformation that needs to be applied
to a second face when computing Procrustes analysis.
This class represents ICP rotation in the form of a quaternion.
Random sampling when vertices are selected randomly.
The result of the facet-to-surface distance measurement, i.e.,
distances and nearest neighbors of all vertices of a single mesh facet.
A ray with origin, unit direction, and length.
Benchmark comparing performance between ray-casting implementations on CPU and GPU.
A task that computes similarity of a set of faces by casting rays
in the diction of template face normals.
This class implements a collection of buffers used by the
MeshDistanceRCGPU
visitor.This interface provides services that instantiates objects related to ray intersections.
A single ray intersection.
Buffer to hold results of ray intersections on GPU
Each intersection is aligned to 8 continuous values
0,1,2 --> Intersection Point
3 --> Triangle index --> in GPU memory - needed if we want to recreate the
RayIntersection
on CPU side
Triangle index is positive if the HIT is direct, Negative, if the hit is indirect, and 0 if no HIT happened
4,5,6 --> Intersection Normal
7 --> Ray Intersection distanceConfiguration of ray casting
The implementation of a ray intersection.
Configuration of ray casting
Provides Ray Intersection Services implemented on GPU
Stateless services for ray casting.
Stateful ray casting.
This visitor throws a ray from origin point and finds all intersections of the
ray with facets.
Class for testing the performance of GPU ray-casting vs CPU ray-casting.
A worker for loading multiple task tabs (faces and cameras) of a project from dumped files.
Action listener for the ICP and Procrustes registration.
Panel used to interactively visualize two face and adjust their registration.
Rendering modes.
Canvas popup toolbox for the selection of rendering mode.
Animates rotation and zooming of objects, e.g., a camera in a GLCanvas
or 3D shapes in the scene.
A "save project" button in the application toolbox.
A worker for saving the state of task tabs into the disk.
A simple 3D scene.
Handles
DrawableMesh
s - objects to be drawn, and (re-)renders them on demand.Deprecated, for removal: This API element is subject to removal in a future version.
A combobox adapted to show enabled/disabled items.
Handles GLSL
Program
s for 3D scene.Represents a significant point in an image.
Types of 2D landmarks that we are able to identify.
Canvas toolbar for scenes with a single faces.
A singleton object managing with OpenGL contexts and their GLSL programs, shaders and buffers.
A singleton object managing with OpenCL contexts and their CL programs.
SpinSlider implements a combination of horizontal slider and input text field (Spinner).
SpinSlider type
Shader Storage Buffer Object (SSBO) buffer, i.e., the
GL_SHADER_STORAGE_BUFFER
OpenGL target.Shader storage buffer objects (SSBO) for the
GL_SHADER_STORAGE_BUFFER
target.Stopwatch.
Class representing the Interactive Mask, it is defined as a list of points
lines between them and bounding cylinders.
Class representing a single point of Interactive Mask.
An interface specifying the needed operations for 2D representations of Surface mask
A class representing point to be projected
Base class for SurfaceMask2D classes
Interface defining specific functionality for 2D surface mask ellipse
Class representing a surface mask in the shape of an ellipse
This interface provides services that instantiates surface masks.
Types of masks
Interface defining the specific functionality of 2D surface mask line
A class representing the node in a mask point list
Class representing the mask by a set of points connected by edges.
Class representing surface mask as a sequence of points in 2D for operations in GUI
A panel to draw an interacitve mask on.
Interface defining specific functionality for 2D surface mask rectangle
A class representing a 2D surface mask in the shape of a rectangle
Action listener for the manipulation with the symmetry plane.
Precomputed values for the symmetry plane estimation.
Symmetry estimation strategies and their configuration.
Symmetry method.
Control panel for symmetry plane.
A new symmetry plane has been added or the previous one has been recomputed.
Stateless services for symmetry estimation.
Stateful symmetry estimation visitor.
A old implementation of the symmetry plane estimator taken from the old FIDENTIS.
A robust implementation of symmetry plane estimation.
A helper class that copies input mesh point and moves them
so that the given centroid is in the space origin.
A robust implementation of symmetry plane estimation for manifold triangle meshes.
A helper class that copies input mesh point and moves them
so that the given centroid is in the space origin.
Content of column with the list of tasks where the face is open.
A renderer for columns the list of face's open tasks
A tabbed pane that stores individual control panels.
The non-singleton window/tab for the analysis of one, two or many to many faces
Generated from NetBeans (secondary Option Panel).
For 500 faces:
A texture buffer backed by another buffer.
A texture buffer backed by another buffer.
A common class for canvas toolbars located under the 3D scene canvas.
A generic toolbox panel that pops up when a user clicks on a button at the canvas toolbar
(located under the 3D scene).
1-ring neighborhood of a given mesh point.
The implementation of the triangle fan interface.
Infinite multidimensional uniform grid with the given cell size.
Infinite uniform 3D grid with the given cell size.
A 3D uniform grid.
Infinite uniform 3D grid with the given cell size.
A 4D uniform grid.
An abstract class for multidimensional uniform grids.
This downsampling algorithm divides the space uniformly using 3D grid.
Similar downsampling strategy to the
UniformSpaceSampling
.Show a GitLab wiki page with user guide.
This class implements a collection of buffers used for 3D visual effect used by
ShadersManager
.Buffer to hold 3D coordinates compatible with
Tuple3d
and it's descendants
Even though 3 float values are stored, we need to allocate more space
since OpenCL assumes the vector types (float3) to be aligned to match 4 * sizeof(component) boundary.Resizable buffer of GPU memory.
This decorator sets weight of all distance values to zero.
SceneRenderer.castRayThroughPixel(int, int, Camera)
method, which is mased on thegluUnProject
reverse mapping of the projection and modelview OpenGL matrices.