You are on page 1of 8

FPart Geometric Attributes

Existing
1. Regular Volume
Class name OclsGARegularVolume
Related files OclsGAVolume.h OclsGAVolume.cpp
General description Stands for the volume of current functional part
Calculations All the volumes of contained primitive parts are summed, while process of learning,
description and the total volume is returned

2. BBox Volume
Class name OclsGABBoxVolume
Related files OclsGAVolume.h OclsGAVolume.cpp
General description Stands for the volume of current functional part’s bounding box
Calculations All the bounding boxes of contained primitive parts are summed, while process of
description learning, and the overall volume of the most encompassing bounding box is returned

3. Inertia Moments
a. Inertia Moment (Ixx)
Class name OclsGAInertiaMomentsIxx
Related files OclsGAInertiaMoments.h OclsGAInertiaMoments.cpp
General description Stands for the Ixx inertia moment of current functional part
Calculations According to the kind of the primitive part the appropriate integral is calculated, while
description process of learning, then the inertia moments are summed by means of the rule of
parallel axes

b. Inertia Moment (Iyy)


Class name OclsGAInertiaMomentsIyy
Related files OclsGAInertiaMoments.h OclsGAInertiaMoments.cpp
General description Stands for the Iyy inertia moment of current functional part
Calculations According to the kind of the primitive part the appropriate integral is calculated, while
description process of learning, then the inertia moments are summed by means of the rule of
parallel axes

c. Inertia Moment (Izz)


Class name OclsGAInertiaMomentsIzz
Related files OclsGAInertiaMoments.h OclsGAInertiaMoments.cpp
General description Stands for the Izz inertia moment of current functional part
Calculations According to the kind of the primitive part the appropriate integral is calculated, while
description process of learning, then the inertia moments are summed by means of the rule of
parallel axes

d. Inertia Moment (Ixz)


Class name OclsGAInertiaMomentsIxz
Related files OclsGAInertiaMoments.h OclsGAInertiaMoments.cpp
General description Stands for the Ixz inertia product of current functional part
Calculations According to the kind of the primitive part the appropriate integral is calculated, while
description process of learning, then the inertia moments are summed by means of the rule of
parallel axes

e. Inertia Moment (Ixy)


Class name OclsGAInertiaMomentsIxy
Related files OclsGAInertiaMoments.h OclsGAInertiaMoments.cpp
General description Stands for the Ixy inertia moment of current functional part
Calculations According to the kind of the primitive part the appropriate integral is calculated, while
description process of learning, then the inertia moments are summed by means of the rule of
parallel axes

f. Inertia Moment (Iyz)


Class name OclsGAInertiaMomentsIyz
Related files OclsGAInertiaMoments.h OclsGAInertiaMoments.cpp
General description Stands for the Iyz inertia moment of current functional part
Calculations According to the kind of the primitive part the appropriate integral is calculated, while
description process of learning, then the inertia moments are summed by means of the rule of
parallel axes
4. Inertia Moments Eigen Values
a. Inertia Moments Eigenvalue 1
Class name OclsGAInertiaEigenValue1
Related files OclsGAInertiaMoments.h OclsGAInertiaMoments.cpp
General description Stands for the length of the primary (the biggest) eigenvector of the functional part
Calculations The eigenvectors are found, while process of learning, so that this attribute simply
description returns the length of the biggest eigenvector.

b. Inertia Moments Eigenvalue 2


Class name OclsGAInertiaEigenValue2
Related files OclsGAInertiaMoments.h OclsGAInertiaMoments.cpp
General description Stands for the length of the secondary (the second biggest) eigenvector of the
functional part
Calculations The eigenvectors are found, while process of learning, so that this attribute simply
description returns the length of the second biggest eigenvector.

c. Inertia Moments Eigenvalue 3


Class name OclsGAInertiaEigenValue3
Related files OclsGAInertiaMoments.h OclsGAInertiaMoments.cpp
General description Stands for the length of the third (the smallest) eigenvector of the functional part
Calculations The eigenvectors are found, while process of learning, so that this attribute simply
description returns the length of the smallest eigenvector.

5. Relative FPart BBox Volume


Class name OclsGARelativeVolumeBBoxVolume
Related files OclsGAVolume.h OclsGAVolume.cpp
General description Stands for the proportion of volumes between functional part and its bounding box
Calculations For description of finding the volumes of functional parts and their bounding boxes,
description see
“Regular Volume” and “BBox Volume” FPart geometric attributes

6. Relative PPart BBox Surface


Class name OclsGARelativeSurfaceBBoxSurface
Related files OclsGASurface.h OclsGASurface.cpp
General description Stands for the proportion of surface areas between functional part and its bounding
box
Calculations For description of finding the surface areas of functional parts and their bounding
description boxes, see
“Regular Surface Area” and “BBox Surface Area” PPart geometric attributes

7. Center Of Mass Within BBox


Class name OclsGACenterOfMassWithinBBox
Related files OclsGACenterOfMassWithinBBox.h OclsGACenterOfMassWithinBBox.cpp
General description Stands for the location of the current functional part mass center within its bounding
box
Calculations The location is determined by means of eight octants of the bounding box, which are
description created after halving each one of the bounding box's dimensions

8. Stability
Class name OclsGAStability
Related files OclsGAStability.h OclsGAStability.cpp
General description Stands for the estimation of how stable the functional part, being checked, is
Calculations Location of the object mass center is tested for being inside the convex hull of all its
description vertices, projected onto the ground plane. The testing is done by means of
‘OclsImp::IsStable’ method

9. Linear Symmetry
Class name OclsGALinearSymmetry
Related files OclsGASymmetry.h OclsGASymmetry.cpp
General description Stands for the estimation of how linearly symmetric the functional part, being
checked, is, i.e. whether there are any planes, that divide the part into two symmetric
pieces
Calculations The attribute checks, whether there are any planes, according to which the symmetry
description may be found. These planes are called presumable planes of symmetry and are
derived from each one of the primitive parts’ orientational system of coordinates

10. Circular Symmetry


Class name OclsGACircularSymmetry
Related files OclsGASymmetry.h OclsGASymmetry.cpp
General description Stands for the estimation of how much symmetry may be found while rotating the
functional part, that is being checked. Practically we check, if there are any axes, so
that the functional part is nearly identical to itself, being rotated
Calculations The attribute checks, whether there are any axes, according to which the symmetry
description may be found. These axes are called presumable axes of symmetry and are derived
from each one of the primitive parts’ orientations

11. BBox Surface Area


Class name OclsGABBoxSurface
Related files OclsGASurface.h OclsGASurface.cpp
General description Stands for the surface area of the functional part’s bounding box
Calculations All the bounding boxes of contained primitive parts are summed, while process of
description learning, and the surface area of the most encompassing bounding box is returned

12. Regular Surface Area


Class name OclsGARegularSurface
Related files OclsGASurface.h OclsGASurface.cpp
General description Stands for the surface area of the functional part
Calculations All the surfaces of contained primitive parts are summed, while process of learning,
description and the total surface is returned

13. Distance between Mass Center and BBox Center


Class name OclsGACOMDistanceFromBBoxCenter
Related files OclsGACenterMassRelated.h OclsGACenterMassRelated.cpp
General description Stands for the distance between functional part mass center and its bounding box
mass center
Calculations Mass centers of functional part and of its bounding box are found, while process of
description learning – the difference vector is then found and its length is returned

14. FPart Connectivity


Class name OclsGAFPartConnectivity
Related files OclsGAFPartConnectivity.h OclsGAFPartConnectivity.cpp
General description Stands for the interconnectivity of all functional part’s primitive parts
Calculations Connections between primitive parts of this functional part induce a graph of
description connectivity. Testing the graph connectivity is identical to testing the
interconnectivity of all primitive parts

15. Regularity
a. Circular Regularity by Angle
Class name OclsGACircularRegularityByAngle
Related files OclsGACircularRegularityByAngle.h OclsGACircularRegularityByAngle.cpp
General description Tests, whether any repeating patterns can be found in the shape of the functional
part, when we rotate it
Calculations The regularity is measured by calculating a standard deviation of angles between the
description functional part mass center and mass centers of primitive parts, forming the entire
functional part

b. Circular Regularity by Radius


Class name OclsGACircularRegularityByRadius
Related files OclsGACircularRegularityByRadius.h OclsGACircularRegularityByRadius.cpp
General description Tests, whether any repeating patterns can be found in the shape of the functional
part, when we rotate it
Calculations The regularity is measured by calculating a standard deviation of radii between the
description functional part mass center and mass centers of primitive parts, forming the entire
functional part

c. Linear Regularity
Class name OclsGALinearRegularity
Related files OclsGALinearRegularity.h OclsGALinearRegularity.cpp
General description Estimates, how close the primitive parts of the functional part are located to the
diameter of the functional part, where the diameter is a segment, connecting two
furthermost representative points
Calculations The regularity is measured by calculating a standard deviation of distances from mass
description centers of primitive parts to the diameter

16. Average PParts Direction


Class name OclsGAAveragePPartsDirection
Related files OclsGAAveragePPartsDirection.h OclsGAAveragePPartsDirection.cpp
General description Stands for the average direction of major axes of all primitive parts inside the
functional part
Calculations Major axes of all primitive parts are found, while process of learning, so that the
description attribute averages all of them and returns the result

17. PParts Major Axes Standard Deviation


Class name OclsGAPPartsMajorAxesStandardDeviation
Related files OclsGAPPartsMajorAxesStandardDeviation.h
OclsGAPPartsMajorAxesStandardDeviation.cpp
General description Stands for the standard deviation of lengths of all primitive parts’ major axes
Calculations Major axes of all primitive parts are found, while process of learning, so that the
description attribute collects all of them and returns the standard deviation of their lengths.

18. Orientation
Class name OclsGAFPartOrientation
Related files OclsGAFPartOrientation.h OclsGAFPartOrientation.cpp
General description Stands for angle between the ground plane and the major axis of the functional part
Calculations Major axis of the functional part is found, while process of learning, and so is the
description ground plane, so that the attribute calculates an angle between two these vectors

19. Distance from Ground Plane


Class name OclsGADistanceFromGroundPlane
Related files OclsGADistanceFromGroundPlane.h OclsGADistanceFromGroundPlane.cpp
General description Stands for the distance of the functional part mass center from the ground plane
Calculations Functional part’s mass center is found, while process of learning, and so is the ground
description plane, so that the attribute simply calculates a distance between the two.
Connection Geometrical Attributes
Existing
1. Relative Volume
Class name OclsGARelativeVolume
Related files OclsGAVolume.h OclsGAVolume.cpp
General description Stands for the proportion between volumes of two functional parts
Calculations Both the volumes of two functional parts are found, while process of learning, so that
description this attribute simply returns a proportion between the two

1. Relative BBox Volume


Class name OclsGARelativeBBoxVolume
Related files OclsGAVolume.h OclsGAVolume.cpp
General description Stands for the proportion between volumes of two functional parts’ bounding boxes
Calculations Both the volumes of two functional parts’ bounding boxes are found, while process of
description learning, so that this attribute simply returns a proportion of the two

2. Relative Axis Angles


a. Major Axis
Class name OclsGARelativeMajorAxis
Related files OclsGADirection.h OclsGADirection.cpp
General description Stands for angle between two functional parts’ major axes
Calculations The orientations of both functional parts are found, while process of learning, so that
description this attribute calculates an angle between two major eigenvectors

b. Minor Axis 1
Class name OclsGARelativeMinorAxis1
Related files OclsGADirection.h OclsGADirection.cpp
General description Stands for angle between two functional parts’ secondary axes
Calculations The orientations of both functional parts are found, while process of learning, so that
description this attribute calculates an angle between two secondary eigenvectors
c. Minor Axis 2
Class name OclsGARelativeMinorAxis2
Related files OclsGADirection.h OclsGADirection.cpp
General description Stands for angle between two functional parts’ third axes
Calculations The orientations of both functional parts are found, while process of learning, so that
description this attribute calculates an angle between two smallest eigenvectors

3. Relative Surface Area


Class name OclsGARelativeSurface
Related files OclsGASurface.h OclsGASurface.cpp
General description Stands for the proportion between surface areas of two functional parts
Calculations Both the surface areas of two functional parts are found, while process of learning, so
description that this attribute simply returns a proportion between the two

4. Relative BBox Surface Area


Class name OclsGARelativeBBoxSurface
Related files OclsGASurface.h OclsGASurface.cpp
General description Stands for the proportion between surfaces of two functional parts’ bounding boxes
Calculations Both the surfaces of two functional parts’ bounding boxes are found, while process of
description learning, so that this attribute simply returns a proportion of the two

5. Distance between Mass Centers of two FParts


Class name OclsGADistanceBetweenCOMs
Related files OclsGACenterMassRelated.h OclsGACenterMassRelated.cpp
General description Stands for the distance between two functional parts’ mass centers
Calculations Both mass centers are found, while process of learning, so that this attribute simply
description returns a distance between the two

2. FParts Intersection Volume


Class name OclsGAFPartsIntersectionBBoxVolume
Related files OclsGAVolume.h OclsGAVolume.cpp
General description Stands for the volume of intersection bounding box of the two functional parts’
bounding boxes
Calculations Both bounding boxes are found, while process of learning, so that this attribute finds
description an intersection bounding box and returns its volume

6. Type of Physical Connection (intersection, touch, no touch)


Class name OclsGATypeOfConnection
Related files OclsGATypeOfConnection.h OclsGATypeOfConnection.cpp
General description Stands for the type of connection between two functional parts, i.e. whether the two
parts' bounding boxes intersect, touch or don't touch
Calculations This attribute finds the intersection bounding box between two functional parts’
description bounding boxes, then according to the dimensions of the found bounding box, the
final decision for the connection geometric description is made

3. Connection Geometric Description (point, line plane or blob)


Class name OclsGAConnectionGeometricDescription
Related files OclsGATypeOfConnection.h OclsGATypeOfConnection.cpp
General description Stands for the geometric description of connection between two functional parts, i.e.
whether the two parts' bounding boxes do not intersect or intersect and their
intersection's shape is either a point, a line or a plane
Calculations This attribute finds the intersection bounding box between two functional parts’
description bounding boxes, then according to the dimensions of the found bounding box, the
final decision for the connection geometric description is made

4. Number of PPart Connections between two FParts


Class name OclsGANumberOfPPartConnections
Related files OclsGANumberOfPPartConnections.h OclsGANumberOfPPartConnections.cpp
General description Stands for the number of connections between two functional parts, i.e. number of
connections between primitive parts of these two functional parts
Calculations Connections of primitive parts of one of the functional parts are tested and counted, if
description they connect the primitive parts with primitive parts of the second functional part

5. Relative Distance of the Intersection Mass Center to the FPart Mass Centers
Class name OclsGAMassCentersRelativeDistance
Related files OclsGAMassCentersRelativeDistance.h OclsGAMassCentersRelativeDistance.cpp
General description Stands for proportion between distances from two functional parts' mass centers to
their intersection mass center
Calculations This attribute finds the intersection bounding box between two functional parts’
description bounding boxes, then calculates its center; the functional parts’ mass centers are
found, while process of learning; the distances from two functional parts' mass
centers to their intersection mass center are calculated and the attribute merely
returns the proportion of the minimal distance to the maximal distance

6. Relative Direction of the Intersection Mass Center to the FPart Mass Centers
Class name OclsGAMassCentersRelativeDirection
Related files OclsGAMassCentersRelativeDirection.h OclsGAMassCentersRelativeDirection.cpp
General description Stands for relation between directions from two functional parts' mass centers to their
intersection point
Calculations This attribute finds the intersection bounding box between two functional parts’
description bounding boxes, then calculates its center; the functional parts’ mass centers are
found, while process of learning; the vectors from two functional parts' mass centers
to their intersection mass center are found and the attribute returns the vector
multiplication of the bigger vector by the smaller vector
7. FPart BBox Connections
Class name OclsGABBoxConnection
Related files OclsGABBoxConnection.h OclsGABBoxConnection.cpp
General description Stands for sides, which the bounding boxes of two functional parts share
Calculations The attribute calculates the evaluation value, being given to two implementations of
description functional parts. The returned value designates sides, which the bounding boxes of
two functional parts share. Each bit of the returned value, represented as 12-bit
binary number, stands for sharing / not sharing of some side of two bounding boxes:
for instance, the most significant bit in this 12-bit number stands for sharing the side,
which is parallel to OYZ plane with minimal X-coordinate in the bounding box

Node Geometrical Attributes


Existing
1. Relative FPart Object Center Of Mass
Class name OclsGARelativeFPartCenterOfMass
Related files OclsGARelativeFPartCenterOfMass.h OclsGARelativeFPartCenterOfMass.cpp
General description Stands for the location of the functional part mass center relative to the whole object
mass center
Calculations Both mass centers are found, while learning, so that the attribute merely returns a
description difference vector between the mass centers

2. Relative FPart Object Volume


Class name OclsGARelativeFPartVolume
Related files OclsGARelativeFPartVolume.h OclsGARelativeFPartVolume.cpp
General description Stands for the relation between the current functional part’s and its object’s volumes
Calculations Both volumes are found, while learning, so that the attribute merely returns the
description proportion of the functional part’s volume to the object’s one

3. Relative FPart Object BBox Volume


Class name OclsGARelativeFPartBBoxVolume
Related files OclsGARelativeFPartBBoxVolume.h OclsGARelativeFPartBBoxVolume.cpp
General description Stands for the relation between the functional part’s and its object’s bounding boxes
volumes
Calculations The volumes of both bounding boxes are found, while learning, so that the attribute
description merely returns the proportion of the functional part’s volume to the object’s one

4. Relative FPart Object BBox Surface Area


Class name OclsGARelativeFPartBBoxSurface
Related files OclsGARelativeFPartBBoxSurface.h OclsGARelativeFPartBBoxSurface.cpp
General description Stands for the proportion between the functional part’s and its object’s bounding
boxes surface areas
Calculations Both the surface area of the functional part’s bounding box and its object’s bounding
description box surface area are found, while process of learning, so that this attribute simply
returns the quotient of the two

5. Crucial Stability
Class name OclsGACrucialStability
Related files OclsGACrucialStability.h OclsGACrucialStability.cpp
General description Stands for the feature of the object to have certain functional parts, the presence of
which is crucial for the stability of the whole object. Namely, if such a part is removed
from the object, the check for the implementation stability will fail
Calculations The primitive parts of the functional part are removed from the object and the
description stability test is performed on the changed object
6. Crucial Connectivity
Class name OclsGACrucialConnectivity
Related files OclsGACrucialConnectivity.h OclsGACrucialConnectivity.cpp
General description Stands for the feature of the object to have certain functional parts, the presence of
which is crucial for the connectivity of the whole object. Namely, if such a part is
removed from the object, the check for the implementation connectivity will fail
Calculations The primitive parts of the functional part are removed from the object and the
description connectivity test is performed on the changed object

7. All the connection geometric attributes can be used for the node as well.

You might also like