Cyclone 3DR Script
from Technodigit, part of Hexagon. Copyright 1997-2025.
Loading...
Searching...
No Matches
StripeFilter Class Reference

Provide stripe filter edition and creation. More...

Public Member Functions

 StripeFilter ()
 Default constructor.
 
 StripeFilter (StripeFilter)
 

Static Public Member Functions

static Object FilterStripe (StripeFilter ioStripeFilter, StripeData iStripe)
 
static Init (StripeFilter ioStripeFilter, number iHoleSize, number iMinNumberOfConsecutivePoints, number iAngleSlopeChange, number iAngleScanDir, number iHalfLifeLength, number iDeviation, number iMaxDist, number iMode, number iOptionMask, number iMinLen, number iSmallRadius, boolean iForceHoleSize)
 
static StripeFilter New (number iHoleSize, number iMinNumberOfConsecutivePoints, number iAngleSlopeChange, number iAngleScanDir, number iHalfLifeLength, number iDeviation, number iMaxDist, number iMode, number iOptionMask, number iMinLen, number iThresholdAngle, boolean iForceHoleSize)
 
static StripeFilter New (StripeFilter)
 

Detailed Description

Provide stripe filter edition and creation.

Constructor & Destructor Documentation

◆ StripeFilter()

StripeFilter::StripeFilter ( StripeFilter )
Parameters
(<b>

ref StripeFilter)

Member Function Documentation

◆ FilterStripe()

static Object StripeFilter::FilterStripe ( StripeFilter ioStripeFilter,
StripeData iStripe )
static
Parameters
ioStripeFilter(StripeFilter) Filter to be used
iStripe(StripeData) The stripe data to be used.
Return values
ret.ErrorCode(number) The error code
  • 0: No error
  • 1: An error occurred
ret.StripeData(StripeData) The filtered stripe.

◆ Init()

static StripeFilter::Init ( StripeFilter ioStripeFilter,
number iHoleSize,
number iMinNumberOfConsecutivePoints,
number iAngleSlopeChange,
number iAngleScanDir,
number iHalfLifeLength,
number iDeviation,
number iMaxDist,
number iMode,
number iOptionMask,
number iMinLen,
number iSmallRadius,
boolean iForceHoleSize )
static
Parameters
ioStripeFilter(StripeFilter) The stripe filter to be initialized.
iHoleSize(number) The minimum length between two consecutive points to consider this gap as a hole.
iMinNumberOfConsecutivePoints(number) The minimum number of consecutive points in a packet.
iAngleSlopeChange(number) The angle slope change tolerance to consider the points as outlier.
iAngleScanDir(number) The scan dir angle change tolerance to consider an outlier.
iHalfLifeLength(number) The smoothing strength.
iDeviation(number) The maximum authorized deviation compared to the original point cloud.
iMaxDist(number) The maximum distance between two consecutive points in a stripe.
iMode(number) The mode either geom = 0 , linear = 1, [experimental linear and spline = 2] , edge = 3
iOptionMask(number) Combination of bits to constrain the resampling/reduction: (0x01) to authorize edge point motion / (0x02) to manage the space between points and avoid too high length / (0x04) to space the point progressively / (0x08) randomize the position of the points / (0x10) if set the scanning direction defines the laser source point / (0x20) if set we consider there are some flat areas as in mechanical parts / (0x40) with iSmallRadius.
iMinLen(number) Minimum packet length.
iSmallRadius(number) Experimental.
iForceHoleSize(boolean) If true consider the HoleSize strictly otherwise, we take into account the grad(point) on the stripe.

◆ New() [1/2]

static StripeFilter StripeFilter::New ( number iHoleSize,
number iMinNumberOfConsecutivePoints,
number iAngleSlopeChange,
number iAngleScanDir,
number iHalfLifeLength,
number iDeviation,
number iMaxDist,
number iMode,
number iOptionMask,
number iMinLen,
number iThresholdAngle,
boolean iForceHoleSize )
static
Parameters
iHoleSize(number) The minimum length between two consecutive points to consider this gap as a hole.
iMinNumberOfConsecutivePoints(number) The minimum number of consecutive points in a packet.
iAngleSlopeChange(number) The angle slope change tolerance to consider the points as outlier.
iAngleScanDir(number) The scan dir angle change tolerance to consider an outlier.
iHalfLifeLength(number) The smoothing strength.
iDeviation(number) The maximum authorized deviation compared to the original point cloud.
iMaxDist(number) The maximum distance between two consecutive points in a stripe.
iMode(number) The filter mode. Either GEOM=0, LINEAR=1, EDGES=2, [experimental] LINEAR AND SPLINE = 3. EDGES enables edge points detection.
iOptionMask(number) Combination of bits to constrain the resampling/reduction: (0x01) to authorize edge point motion / (0x02) to manage the space between points and avoid too high length / (0x04) to space the point progressively / (0x08) randomize the position of the points / (0x10) if set the scanning direction defines the laser source point / (0x20) if set we consider there are some flat areas as in mechanical parts.
iMinLen(number) Only relevant in EDGES mode. Minimum segment length: a detected segment in only kept if it's at least his long.
iThresholdAngle(number) Only relevant in EDGES mode. Threshold angle (in rad) below which an angle between two segments is considered an edge.
iForceHoleSize(boolean) If true, consider the HoleSize strictly; otherwise, we take into account the grad(point) on the stripe.
Returns
(StripeFilter) StripeFilter

◆ New() [2/2]

static StripeFilter StripeFilter::New ( StripeFilter )
static
Parameters
(<b>

ref StripeFilter)

Returns
(StripeFilter) The new StripeFilter.