IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Classes | Functions

measure allowing to compute surface of contact between shapes More...

Classes

class  ipsdk::imaproc::shape::analysis::SurfaceOfContact3dMsr
 Measurement object for measure SurfaceOfContact3d. More...
 
class  ipsdk::imaproc::shape::analysis::SurfaceOfContact3dMsrInfo
 Information object for measure SurfaceOfContact3d. More...
 
class  ipsdk::imaproc::shape::analysis::SurfaceOfContact3dMsrParams
 Parameter object for measure SurfaceOfContact3d. More...
 

Functions

IPSDKIPLSHAPEANALYSIS_API SurfaceOfContact3dMsrParamsPtr ipsdk::imaproc::shape::analysis::createSurfaceOfContact3dMsrParams (const ipsdk::ipReal32 contactDist, const ipBool bProcessHoles)
 function allowing to create a new parameter object for SurfaceOfContact3d measure
 

Detailed Description

measure allowing to compute surface of contact between shapes

This measure allows to compute the portion of surface of a shape which is in contact with its neighbors.

Given the fact that input data are discreet, notion of contact is defined with respect to a distance threshold ContactDist parameter. Area of contact will be accounted for distances lower or equal to this user parameter.

Meshes associated to shapes are currently extremly dense. In consequence a triangle is considered to be in contact with another shape if its barycenter is at distance lower or equal to ContactDist from barycenter of a triangle of other shape.

Parameter flag ProcessHoles allows to specify whether shape holes should be taken into account during computation. Please see Distance to nearest neighbor 2d for an explanation of effects of this flag.

Here is an example of surface of contact computation for a single shape :

surfaceOfContact3dMsr_shape.png

On previous figure, surface of contact from shape to neighbors is represented in pink.

Here is an example of surface of contact computation for a sample of shapes :

surfaceOfContact3dMsr_distribution.png

On previous figure, surface of contact with neighbors is illustrated using a color map starting on green colors for lower surfaces and ending on red color for higher surfaces.

Note
Due to used computation method, note that surface of contact of shape1 with shape 2 may differs from surface of contact of shape2 with shape1 (please see Length of contact 2d for more informations on these computational details).
Author
E.Noirfalise
Date
2017/07/10

measure allowing to compute surface of contact between shapes

Measure synthesis :

Measure Type Measure Unit Type Parameter Type Result Type Shape Requirements
Geometry3d.png
Geometry 3d
area.png
Area
parameter.png
SurfaceOfContact3dMsrParams
Value.png
Value (ipsdk::ipReal64)
BoundaryApproximation.png
Boundary Approximation
See Shape measurement for additional information on these pictograms

Measure Type :

This is a geometry 3d measure

This measure can only be used in 3d case

Measure Unit Type:

Measure SurfaceOfContact3d is associated to an area measurement unit [ipsdk::shape::analysis::eMsrUnitFormat::eMUF_AreaUnit]

Measure Parameter Type :

Measure SurfaceOfContact3d is associated to SurfaceOfContact3dMsrParams parameters

Measure Result Type :

Measure SurfaceOfContact3d is associated to ipsdk::shape::analysis::ValueMeasureResult<ipsdk::ipReal64> results

Measure Shape Requirements :

Measure SurfaceOfContact3d requires boundary approximation from shape data

Measure Dependencies :

Measure SurfaceOfContact3d depends on following measures :

Measure Mode Measure Name Measure Type Measure Parameters
eMVP_3d Shape3dRTree Shape3dRTree createHolesBasicPolicyMsrParams(_pMsrParams->getValue<SurfaceOfContact3dMsrParams::ProcessHoles>())
eMVP_3d Neighbors3dDistanceCollector Neighbors3dDistanceCollector createNeighborsDistanceMsrParams(_pMsrParams->getValue<SurfaceOfContact3dMsrParams::ContactDist>(),