Skip to content

Core Module

Core utilities and base classes.

LightOcct::AssemblyHierarchyData

POD structure for complete assembly hierarchy data. Simple list of assembly nodes without redundant attribute information.

cpp
#include <light-occt/core/AssemblyHierarchyData.hxx>

Quick Reference

Fields: AssemblyNodes, RootEntries, MaxAssemblyDepth

Methods: AssemblyHierarchyData()


Fields

AssemblyNodes

cpp
std::vector<  > AssemblyNodeData AssemblyNodes;

All assembly nodes.

RootEntries

cpp
std::vector< std::string > RootEntries;

Entry strings of root nodes.

MaxAssemblyDepth

cpp
int MaxAssemblyDepth;

Maximum nesting level.

Methods

Instance Methods

AssemblyHierarchyData
cpp
 AssemblyHierarchyData() const;

LightOcct::AssemblyNodeData

POD structure for single assembly node. Simple node with entry, type, and assembly tag. No embedded vectors.

cpp
#include <light-occt/core/AssemblyNodeData.hxx>

Quick Reference

Fields: Entry, ShapeType, AssemblyTag

Methods: AssemblyNodeData()


Fields

Entry

cpp
std::string Entry;

XCAF label entry string (unique identifier)

ShapeType

cpp
XcafShapeType ShapeType;

Type of shape in assembly context.

AssemblyTag

cpp
int AssemblyTag;

Assembly depth level (0=root, 1=child, etc.)

Methods

Instance Methods

AssemblyNodeData
cpp
 AssemblyNodeData() const;

LightOcct::Axis1Placement

Axis placement in 3D space (equivalent to gp_Ax1). Represents an axis defined by a location point and a direction vector.

cpp
#include <light-occt/core/Axis1Placement.hxx>

Quick Reference

Fields: Location, Direction

Methods: Axis1Placement(), Axis1Placement()


Fields

Location

cpp
Point Location;

Direction

cpp
Vector Direction;

Methods

Instance Methods

Axis1Placement
cpp
 Axis1Placement() const;
Axis1Placement
cpp
 Axis1Placement(const  & Point location, const  & Vector direction) const;

LightOcct::Axis2Placement

Coordinate system in 3D space (equivalent to gp_Ax2). Represents a right-handed coordinate system with origin, main direction (Z), and reference direction (X). Y direction is computed as Z cross X.

cpp
#include <light-occt/core/Axis2Placement.hxx>

Quick Reference

Fields: Location, Direction, XDirection

Methods: Axis2Placement(), Axis2Placement()


Fields

Location

cpp
Point Location;

Direction

cpp
Vector Direction;

XDirection

cpp
Vector XDirection;

Methods

Instance Methods

Axis2Placement
cpp
 Axis2Placement() const;
Axis2Placement
cpp
 Axis2Placement(const  & Point location, const  & Vector direction, const  & Vector xDirection) const;

LightOcct::Axis2Placement2d

Axis placement in 2D space (equivalent to gp_Ax22d). Represents a 2D coordinate system with origin and reference direction.

cpp
#include <light-occt/core/Axis2Placement2d.hxx>

Quick Reference

Fields: Location, XDirection

Methods: Axis2Placement2d(), Axis2Placement2d()


Fields

Location

cpp
Point2d Location;

XDirection

cpp
Vector2d XDirection;

Methods

Instance Methods

Axis2Placement2d
cpp
 Axis2Placement2d() const;
Axis2Placement2d
cpp
 Axis2Placement2d(const  & Point2d location, const  & Vector2d xDirection) const;

LightOcct::Axis3Placement

Complete coordinate system in 3D space (equivalent to gp_Ax3). Represents a right-handed coordinate system with origin and all three axes. Used by elementary surfaces (planes, cylinders, spheres, cones, torus).

cpp
#include <light-occt/core/Axis3Placement.hxx>

Quick Reference

Fields: Location, Direction, XDirection, YDirection

Methods: Axis3Placement(), Axis3Placement()


Fields

Location

cpp
Point Location;

Direction

cpp
Vector Direction;

XDirection

cpp
Vector XDirection;

YDirection

cpp
Vector YDirection;

Methods

Instance Methods

Axis3Placement
cpp
 Axis3Placement() const;
Axis3Placement
cpp
 Axis3Placement(const  & Point location, const  & Vector direction, const  & Vector xDirection, const  & Vector yDirection) const;

LightOcct::BezierCurveData

3D Bezier curve data structure with control points and optional weights. Contains all data needed to represent a 3D rational Bezier curve. Parameter range is always [0.0, 1.0] for Bezier curves.

cpp
#include <light-occt/core/BezierCurveData.hxx>

Quick Reference

Fields: Degree, IsRational, FirstParameter, LastParameter, Poles, Weights

Methods: BezierCurveData(), BezierCurveData()


Fields

Degree

cpp
int Degree;

Degree of the Bezier curve.

IsRational

cpp
bool IsRational;

True if the curve has weights (rational)

FirstParameter

cpp
double FirstParameter;

First parameter value (always 0.0)

LastParameter

cpp
double LastParameter;

Last parameter value (always 1.0)

Poles

cpp
std::vector<  > Point Poles;

Control points (poles) of the curve.

Weights

cpp
std::vector< double > Weights;

Weights for rational curves (empty if non-rational)

Methods

Instance Methods

BezierCurveData
cpp
 BezierCurveData() const;
BezierCurveData
cpp
 BezierCurveData(int degree, bool rational, const std::vector<  > & Point poles, const std::vector< double > & weights) const;

LightOcct::BezierCurveData2d

2D Bezier curve data structure with control points and optional weights. Contains all data needed to represent a 2D rational Bezier curve. Parameter range is always [0.0, 1.0] for Bezier curves.

cpp
#include <light-occt/core/BezierCurveData2d.hxx>

Quick Reference

Fields: Degree, IsRational, FirstParameter, LastParameter, Poles, Weights

Methods: BezierCurveData2d(), BezierCurveData2d()


Fields

Degree

cpp
int Degree;

Degree of the Bezier curve.

IsRational

cpp
bool IsRational;

True if the curve has weights (rational)

FirstParameter

cpp
double FirstParameter;

First parameter value (always 0.0)

LastParameter

cpp
double LastParameter;

Last parameter value (always 1.0)

Poles

cpp
std::vector<  > Point2d Poles;

Control points (poles) of the curve.

Weights

cpp
std::vector< double > Weights;

Weights for rational curves (empty if non-rational)

Methods

Instance Methods

BezierCurveData2d
cpp
 BezierCurveData2d() const;
BezierCurveData2d
cpp
 BezierCurveData2d(int degree, bool rational, const std::vector<  > & Point2d poles, const std::vector< double > & weights) const;

LightOcct::BezierSurfaceData

Bezier surface data structure with control points grid and optional weights. Contains all data needed to represent a rational Bezier surface patch. Parameter range is always [0.0, 1.0] x [0.0, 1.0] for Bezier surfaces.

cpp
#include <light-occt/core/BezierSurfaceData.hxx>

Quick Reference

Fields: UDegree, VDegree, IsURational, IsVRational, UFirstParameter, ULastParameter, VFirstParameter, VLastParameter, Poles, Weights, NbUPoles, NbVPoles

Methods: BezierSurfaceData(), GetPole(), SetPole()


Fields

UDegree

cpp
int UDegree;

VDegree

cpp
int VDegree;

Degrees in U and V parametric directions.

IsURational

cpp
bool IsURational;

IsVRational

cpp
bool IsVRational;

True if surface has weights in U/V directions.

UFirstParameter

cpp
double UFirstParameter;

ULastParameter

cpp
double ULastParameter;

U parameter bounds (always 0.0 to 1.0)

VFirstParameter

cpp
double VFirstParameter;

VLastParameter

cpp
double VLastParameter;

V parameter bounds (always 0.0 to 1.0)

Poles

cpp
std::vector<  > Point Poles;

Control points grid (flattened in row-major order)

Weights

cpp
std::vector< double > Weights;

Weights grid (flattened, empty if non-rational)

NbUPoles

cpp
int NbUPoles;

NbVPoles

cpp
int NbVPoles;

Grid dimensions (number of poles in U and V directions)

Methods

Instance Methods

BezierSurfaceData
cpp
 BezierSurfaceData() const;
GetPole
cpp
Point GetPole(int u, int v) const;
SetPole
cpp
void SetPole(int u, int v, const  & Point pole) const;

LightOcct::BooleanOperationData

Boolean operation configuration data. Contains all parameters needed to configure a boolean operation.

cpp
#include <light-occt/core/BooleanOperationData.hxx>

Quick Reference

Fields: Operation, GlueType, FuzzyValue, NonDestructive, UseParallelMode, CheckInverted

Methods: BooleanOperationData()


Fields

Operation

cpp
BooleanOperationType Operation;

Type of boolean operation to perform.

GlueType

cpp
BooleanGlueType GlueType;

Glue option for adjacent faces.

FuzzyValue

cpp
double FuzzyValue;

Fuzzy tolerance for imprecise matching (0.0 = precise)

NonDestructive

cpp
bool NonDestructive;

Whether to preserve input shapes (default: true)

UseParallelMode

cpp
bool UseParallelMode;

Enable parallel processing (default: false)

CheckInverted

cpp
bool CheckInverted;

Check for inverted solids (default: true)

Methods

Instance Methods

BooleanOperationData
cpp
 BooleanOperationData() const;

LightOcct::BooleanOperationResult

Boolean operation result data. Contains the result and metadata from a boolean operation.

cpp
#include <light-occt/core/BooleanOperationResult.hxx>

Quick Reference

Fields: IsValid, ErrorCode, WarningCode, ExecutionTime, ModifiedShapeCount, GeneratedShapeCount, DeletedShapeCount

Methods: BooleanOperationResult()


Fields

IsValid

cpp
bool IsValid;

Whether the operation completed successfully.

ErrorCode

cpp
int ErrorCode;

Error code (0 = success, non-zero = error)

WarningCode

cpp
int WarningCode;

Warning code (0 = no warnings)

ExecutionTime

cpp
double ExecutionTime;

Operation execution time in seconds.

ModifiedShapeCount

cpp
int ModifiedShapeCount;

Number of modified shapes from arguments.

GeneratedShapeCount

cpp
int GeneratedShapeCount;

Number of generated shapes.

DeletedShapeCount

cpp
int DeletedShapeCount;

Number of deleted shapes from arguments.

Methods

Instance Methods

BooleanOperationResult
cpp
 BooleanOperationResult() const;

LightOcct::BoundingBox

Bounding box data structure for 3D space. Represents an axis-aligned bounding box defined by minimum and maximum points.

cpp
#include <light-occt/core/BoundingBox.hxx>

Quick Reference

Fields: MinPoint, MaxPoint

Methods: BoundingBox(), BoundingBox()


Fields

MinPoint

cpp
Point MinPoint;

Minimum point (lower corner) of the bounding box.

MaxPoint

cpp
Point MaxPoint;

Maximum point (upper corner) of the bounding box.

Methods

Instance Methods

BoundingBox
cpp
 BoundingBox() const;
BoundingBox
cpp
 BoundingBox(const  & Point minPoint, const  & Point maxPoint) const;

LightOcct::BSplineCurveData

3D B-Spline curve data structure with complete NURBS information. Contains all data needed to represent a 3D Non-Uniform Rational B-Spline curve. Uses std::vector for SWIG compatibility across language bindings.

cpp
#include <light-occt/core/BSplineCurveData.hxx>

Quick Reference

Fields: Degree, IsPeriodic, IsRational, FirstParameter, LastParameter, Poles, Weights, Knots, Multiplicities

Methods: BSplineCurveData(), BSplineCurveData()


Fields

Degree

cpp
int Degree;

Degree of the B-Spline curve.

IsPeriodic

cpp
bool IsPeriodic;

True if the curve is periodic.

IsRational

cpp
bool IsRational;

True if the curve has weights (rational)

FirstParameter

cpp
double FirstParameter;

First parameter value.

LastParameter

cpp
double LastParameter;

Last parameter value.

Poles

cpp
std::vector<  > Point Poles;

Control points (poles) of the curve.

Weights

cpp
std::vector< double > Weights;

Weights for rational curves (empty if non-rational)

Knots

cpp
std::vector< double > Knots;

Knot vector values.

Multiplicities

cpp
std::vector< int > Multiplicities;

Knot multiplicities.

Methods

Instance Methods

BSplineCurveData
cpp
 BSplineCurveData() const;
BSplineCurveData
cpp
 BSplineCurveData(int degree, bool periodic, bool rational, const std::vector<  > & Point poles, const std::vector< double > & knots, const std::vector< int > & multiplicities, const std::vector< double > & weights) const;

LightOcct::BSplineCurveData2d

2D B-Spline curve data structure with complete NURBS information. Contains all data needed to represent a 2D Non-Uniform Rational B-Spline curve. Uses std::vector for SWIG compatibility across language bindings.

cpp
#include <light-occt/core/BSplineCurveData2d.hxx>

Quick Reference

Fields: Degree, IsPeriodic, IsRational, FirstParameter, LastParameter, Poles, Weights, Knots, Multiplicities

Methods: BSplineCurveData2d(), BSplineCurveData2d()


Fields

Degree

cpp
int Degree;

Degree of the B-Spline curve.

IsPeriodic

cpp
bool IsPeriodic;

True if the curve is periodic.

IsRational

cpp
bool IsRational;

True if the curve has weights (rational)

FirstParameter

cpp
double FirstParameter;

First parameter value.

LastParameter

cpp
double LastParameter;

Last parameter value.

Poles

cpp
std::vector<  > Point2d Poles;

Control points (poles) of the curve.

Weights

cpp
std::vector< double > Weights;

Weights for rational curves (empty if non-rational)

Knots

cpp
std::vector< double > Knots;

Knot vector values.

Multiplicities

cpp
std::vector< int > Multiplicities;

Knot multiplicities.

Methods

Instance Methods

BSplineCurveData2d
cpp
 BSplineCurveData2d() const;
BSplineCurveData2d
cpp
 BSplineCurveData2d(int degree, bool periodic, bool rational, const std::vector<  > & Point2d poles, const std::vector< double > & knots, const std::vector< int > & multiplicities, const std::vector< double > & weights) const;

LightOcct::BSplineSurfaceData

B-Spline surface data structure with complete NURBS information. Contains all data needed to represent a Non-Uniform Rational B-Spline surface. Uses std::vector for SWIG compatibility across language bindings.

cpp
#include <light-occt/core/BSplineSurfaceData.hxx>

Quick Reference

Fields: UDegree, VDegree, IsUPeriodic, IsVPeriodic, IsURational, IsVRational, UFirstParameter, ULastParameter, VFirstParameter, VLastParameter, Poles, Weights, UKnots, VKnots, UMultiplicities, VMultiplicities, NbUPoles, NbVPoles

Methods: BSplineSurfaceData(), GetPole(), SetPole()


Fields

UDegree

cpp
int UDegree;

VDegree

cpp
int VDegree;

Degrees in U and V parametric directions.

IsUPeriodic

cpp
bool IsUPeriodic;

IsVPeriodic

cpp
bool IsVPeriodic;

True if surface is periodic in U/V directions.

IsURational

cpp
bool IsURational;

IsVRational

cpp
bool IsVRational;

True if surface has weights in U/V directions.

UFirstParameter

cpp
double UFirstParameter;

ULastParameter

cpp
double ULastParameter;

U parameter bounds.

VFirstParameter

cpp
double VFirstParameter;

VLastParameter

cpp
double VLastParameter;

V parameter bounds.

Poles

cpp
std::vector<  > Point Poles;

Control points grid (flattened in row-major order)

Weights

cpp
std::vector< double > Weights;

Weights grid (flattened, empty if non-rational)

UKnots

cpp
std::vector< double > UKnots;

U knot vector values.

VKnots

cpp
std::vector< double > VKnots;

V knot vector values.

UMultiplicities

cpp
std::vector< int > UMultiplicities;

U knot multiplicities.

VMultiplicities

cpp
std::vector< int > VMultiplicities;

V knot multiplicities.

NbUPoles

cpp
int NbUPoles;

NbVPoles

cpp
int NbVPoles;

Grid dimensions (number of poles in U and V directions)

Methods

Instance Methods

BSplineSurfaceData
cpp
 BSplineSurfaceData() const;
GetPole
cpp
Point GetPole(int u, int v) const;
SetPole
cpp
void SetPole(int u, int v, const  & Point pole) const;

LightOcct::CircleData

Circle data structure with coordinate system and radius. The Position defines the center (Location) and plane normal (Direction).

cpp
#include <light-occt/core/CircleData.hxx>

Quick Reference

Fields: Position, Radius

Methods: CircleData(), CircleData()


Fields

Position

cpp
Axis2Placement Position;

Coordinate system (center, normal as Z-direction, X-direction defines parameterization start)

Radius

cpp
double Radius;

Circle radius.

Methods

Instance Methods

CircleData
cpp
 CircleData() const;
CircleData
cpp
 CircleData(const  & Axis2Placement position, double radius) const;

LightOcct::CircleData2d

2D circle data structure with coordinate system and radius. The Position defines the center (Location) and parameterization reference (XDirection).

cpp
#include <light-occt/core/CircleData2d.hxx>

Quick Reference

Fields: Position, Radius

Methods: CircleData2d(), CircleData2d()


Fields

Position

cpp
Axis2Placement2d Position;

Coordinate system (center, X-direction defines parameterization start)

Radius

cpp
double Radius;

Circle radius.

Methods

Instance Methods

CircleData2d
cpp
 CircleData2d() const;
CircleData2d
cpp
 CircleData2d(const  & Axis2Placement2d position, double radius) const;

LightOcct::Color

Viewer-friendly type (simplified access). Used for viewer operations and rendering. Color

cpp
#include <light-occt/core/Color.hxx>

Quick Reference

Fields: r, g, b, a

Methods: Color(), Color()


Fields

r

cpp
double r;

Red component (0.0 to 1.0)

g

cpp
double g;

Green component (0.0 to 1.0)

b

cpp
double b;

Blue component (0.0 to 1.0)

a

cpp
double a;

Alpha/transparency component (0.0 to 1.0, 1.0 = opaque)

Methods

Instance Methods

Color
cpp
 Color() const;
Color
cpp
 Color(double red, double green, double blue, double alpha) const;

LightOcct::ColorData

data structure with RGBA components. Used for shape color attributes and viewer rendering. Color

cpp
#include <light-occt/core/ColorData.hxx>

Quick Reference

Fields: Red, Green, Blue, Alpha

Methods: ColorData(), ColorData()


Fields

Red

cpp
double Red;

Red component (0.0 to 1.0)

Green

cpp
double Green;

Green component (0.0 to 1.0)

Blue

cpp
double Blue;

Blue component (0.0 to 1.0)

Alpha

cpp
double Alpha;

Alpha/transparency component (0.0 to 1.0, 1.0 = opaque)

Methods

Instance Methods

ColorData
cpp
 ColorData() const;
ColorData
cpp
 ColorData(double r, double g, double b, double a) const;

LightOcct::ConeData

Cone data structure with coordinate system, radius, and semi-angle. The Position defines the apex or reference location (Location), axis (Direction), and orientation.

cpp
#include <light-occt/core/ConeData.hxx>

Quick Reference

Fields: Position, Radius, SemiAngle

Methods: ConeData(), ConeData()


Fields

Position

cpp
Axis3Placement Position;

Coordinate system (apex, axis as Z-direction, X and Y directions define orientation)

Radius

cpp
double Radius;

Radius at reference location (typically at apex for OCCT cones)

SemiAngle

cpp
double SemiAngle;

Semi-angle in radians.

Methods

Instance Methods

ConeData
cpp
 ConeData() const;
ConeData
cpp
 ConeData(const  & Axis3Placement position, double radius, double semiAngle) const;

LightOcct::CurveDerivativeData

3D curve derivative data structure. Contains point position and derivatives up to third order for curve evaluation. Used by D0, D1, D2, D3 methods for efficient derivative computation.

cpp
#include <light-occt/core/CurveDerivativeData.hxx>

Quick Reference

Fields: Position, FirstDerivative, SecondDerivative, ThirdDerivative

Methods: CurveDerivativeData(), CurveDerivativeData(), CurveDerivativeData(), CurveDerivativeData(), CurveDerivativeData()


Fields

Position

cpp
Point Position;

at parameter (D0 evaluation) Point

FirstDerivative

cpp
Vector FirstDerivative;

First derivative vector (D1)

SecondDerivative

cpp
Vector SecondDerivative;

Second derivative vector (D2)

ThirdDerivative

cpp
Vector ThirdDerivative;

Third derivative vector (D3)

Methods

Instance Methods

CurveDerivativeData
cpp
 CurveDerivativeData() const;
CurveDerivativeData
cpp
 CurveDerivativeData(const  & Point pos) const;
CurveDerivativeData
cpp
 CurveDerivativeData(const  & Point pos, const  & Vector d1) const;
CurveDerivativeData
cpp
 CurveDerivativeData(const  & Point pos, const  & Vector d1, const  & Vector d2) const;
CurveDerivativeData
cpp
 CurveDerivativeData(const  & Point pos, const  & Vector d1, const  & Vector d2, const  & Vector d3) const;

LightOcct::CurveDerivativeData2d

2D curve derivative data structure. Contains point position and derivatives up to third order for curve evaluation. Used by D0, D1, D2, D3 methods for efficient derivative computation.

cpp
#include <light-occt/core/CurveDerivativeData2d.hxx>

Quick Reference

Fields: Position, FirstDerivative, SecondDerivative, ThirdDerivative

Methods: CurveDerivativeData2d(), CurveDerivativeData2d(), CurveDerivativeData2d(), CurveDerivativeData2d(), CurveDerivativeData2d()


Fields

Position

cpp
Point2d Position;

at parameter (D0 evaluation) Point

FirstDerivative

cpp
Vector2d FirstDerivative;

First derivative vector (D1)

SecondDerivative

cpp
Vector2d SecondDerivative;

Second derivative vector (D2)

ThirdDerivative

cpp
Vector2d ThirdDerivative;

Third derivative vector (D3)

Methods

Instance Methods

CurveDerivativeData2d
cpp
 CurveDerivativeData2d() const;
CurveDerivativeData2d
cpp
 CurveDerivativeData2d(const  & Point2d pos) const;
CurveDerivativeData2d
cpp
 CurveDerivativeData2d(const  & Point2d pos, const  & Vector2d d1) const;
CurveDerivativeData2d
cpp
 CurveDerivativeData2d(const  & Point2d pos, const  & Vector2d d1, const  & Vector2d d2) const;
CurveDerivativeData2d
cpp
 CurveDerivativeData2d(const  & Point2d pos, const  & Vector2d d1, const  & Vector2d d2, const  & Vector2d d3) const;

LightOcct::CurveParameterData

3D curve parameter analysis data structure. Contains parametric properties and continuity information for curve analysis.

cpp
#include <light-occt/core/CurveParameterData.hxx>

Quick Reference

Fields: FirstParameter, LastParameter, IsClosed, IsPeriodic, Period, Continuity

Methods: CurveParameterData()


Fields

FirstParameter

cpp
double FirstParameter;

First parameter value of the curve.

LastParameter

cpp
double LastParameter;

Last parameter value of the curve.

IsClosed

cpp
bool IsClosed;

True if the curve forms a closed loop.

IsPeriodic

cpp
bool IsPeriodic;

True if the curve is periodic.

Period

cpp
double Period;

Period length (valid only if IsPeriodic is true)

Continuity

cpp
int Continuity;

Continuity level: 0=C0, 1=C1, 2=C2, etc., -1=CN (infinite)

Methods

Instance Methods

CurveParameterData
cpp
 CurveParameterData() const;

LightOcct::CurveParameterData2d

2D curve parameter analysis data structure. Contains parametric properties and continuity information for curve analysis.

cpp
#include <light-occt/core/CurveParameterData2d.hxx>

Quick Reference

Fields: FirstParameter, LastParameter, IsClosed, IsPeriodic, Period, Continuity

Methods: CurveParameterData2d()


Fields

FirstParameter

cpp
double FirstParameter;

First parameter value of the curve.

LastParameter

cpp
double LastParameter;

Last parameter value of the curve.

IsClosed

cpp
bool IsClosed;

True if the curve forms a closed loop.

IsPeriodic

cpp
bool IsPeriodic;

True if the curve is periodic.

Period

cpp
double Period;

Period length (valid only if IsPeriodic is true)

Continuity

cpp
int Continuity;

Continuity level: 0=C0, 1=C1, 2=C2, etc., -1=CN (infinite)

Methods

Instance Methods

CurveParameterData2d
cpp
 CurveParameterData2d() const;

LightOcct::CylinderData

Cylinder data structure with coordinate system and radius. The Position defines the origin (Location), axis (Direction), and orientation (XDirection, YDirection).

cpp
#include <light-occt/core/CylinderData.hxx>

Quick Reference

Fields: Position, Radius

Methods: CylinderData(), CylinderData()


Fields

Position

cpp
Axis3Placement Position;

Coordinate system (origin, axis as Z-direction, X and Y directions define orientation)

Radius

cpp
double Radius;

Cylinder radius.

Methods

Instance Methods

CylinderData
cpp
 CylinderData() const;
CylinderData
cpp
 CylinderData(const  & Axis3Placement position, double radius) const;

LightOcct::EdgeData

Edge parameter range POD structure. Contains parametric bounds and curve information for edge shapes.

cpp
#include <light-occt/core/EdgeData.hxx>

Quick Reference

Fields: FirstParameter, LastParameter, Tolerance, IsClosed, IsDegenerate

Methods: EdgeData(), EdgeData()


Fields

FirstParameter

cpp
double FirstParameter;

Start parameter on underlying curve.

LastParameter

cpp
double LastParameter;

End parameter on underlying curve.

Tolerance

cpp
double Tolerance;

Geometric tolerance of the edge.

IsClosed

cpp
bool IsClosed;

True if edge forms a closed loop.

IsDegenerate

cpp
bool IsDegenerate;

True if edge has zero length (degenerate)

Methods

Instance Methods

EdgeData
cpp
 EdgeData() const;
EdgeData
cpp
 EdgeData(double first, double last, double tol, bool closed, bool degenerate) const;

LightOcct::EllipseData

Ellipse data structure with coordinate system and radii. The Position defines the center (Location), normal (Direction), and major axis (XDirection).

cpp
#include <light-occt/core/EllipseData.hxx>

Quick Reference

Fields: Position, MajorRadius, MinorRadius

Methods: EllipseData(), EllipseData()


Fields

Position

cpp
Axis2Placement Position;

Coordinate system (center, normal as Z-direction, major axis as X-direction)

MajorRadius

cpp
double MajorRadius;

Major radius (semi-axis along X-direction)

MinorRadius

cpp
double MinorRadius;

Minor radius (semi-axis along Y-direction)

Methods

Instance Methods

EllipseData
cpp
 EllipseData() const;
EllipseData
cpp
 EllipseData(const  & Axis2Placement position, double majorRadius, double minorRadius) const;

LightOcct::EllipseData2d

2D ellipse data structure with coordinate system and radii. The Position defines the center (Location) and major axis (XDirection).

cpp
#include <light-occt/core/EllipseData2d.hxx>

Quick Reference

Fields: Position, MajorRadius, MinorRadius

Methods: EllipseData2d(), EllipseData2d()


Fields

Position

cpp
Axis2Placement2d Position;

Coordinate system (center, major axis as X-direction)

MajorRadius

cpp
double MajorRadius;

Major radius (semi-axis along X-direction)

MinorRadius

cpp
double MinorRadius;

Minor radius (semi-axis along Y-direction)

Methods

Instance Methods

EllipseData2d
cpp
 EllipseData2d() const;
EllipseData2d
cpp
 EllipseData2d(const  & Axis2Placement2d position, double majorRadius, double minorRadius) const;

LightOcct::ExchangeConfig

POD structure for exchange operation configuration.

cpp
#include <light-occt/core/ExchangeConfig.hxx>

Quick Reference

Fields: Units, WriteAscii, MergeShapes, Precision, GenerateNormals, IncludeColors, IncludeMaterials

Methods: ExchangeConfig()


Fields

Units

cpp
double Units;

Units scaling factor (default: 1.0)

WriteAscii

cpp
bool WriteAscii;

Write in ASCII format when supported.

MergeShapes

cpp
bool MergeShapes;

Merge multiple shapes into one.

Precision

cpp
double Precision;

Geometric precision.

GenerateNormals

cpp
bool GenerateNormals;

Generate normals for mesh formats.

IncludeColors

cpp
bool IncludeColors;

Include color information.

IncludeMaterials

cpp
bool IncludeMaterials;

Include material information.

Methods

Instance Methods

ExchangeConfig
cpp
 ExchangeConfig() const;

LightOcct::ExchangeResultInfo

POD structure for exchange operation result information.

cpp
#include <light-occt/core/ExchangeResultInfo.hxx>

Quick Reference

Fields: Result, Message, FilePath, FormatName, ProviderName, ProcessingTime

Methods: ExchangeResultInfo()


Fields

Result

cpp
ExchangeResult Result;

Operation result.

Message

cpp
std::string Message;

Detailed result message.

FilePath

cpp
std::string FilePath;

File path involved in operation.

FormatName

cpp
std::string FormatName;

Detected or used format name.

ProviderName

cpp
std::string ProviderName;

Provider used for operation.

ProcessingTime

cpp
double ProcessingTime;

Time taken for operation (seconds)

Methods

Instance Methods

ExchangeResultInfo
cpp
 ExchangeResultInfo() const;

LightOcct::ExplorerData

POD structure for explorer configuration data. Contains all explorer settings for cross-language exchange.

cpp
#include <light-occt/core/ExplorerData.hxx>

Quick Reference

Fields: ToFind, ToAvoid, State, CurrentIndex, TotalCount, HasAvoidance

Methods: ExplorerData(), ExplorerData()


Fields

ToFind

cpp
ShapeType ToFind;

Type of shapes being found.

ToAvoid

cpp
ShapeType ToAvoid;

Type of shapes being avoided (SHAPE_UNDEFINED if none)

State

cpp
int State;

Current explorer state (using int for cross-language compatibility)

CurrentIndex

cpp
int CurrentIndex;

Current position in iteration (0-based, -1 if not started)

TotalCount

cpp
int TotalCount;

Total number of shapes found (-1 if not counted yet)

HasAvoidance

cpp
bool HasAvoidance;

Whether avoidance is configured.

Methods

Instance Methods

ExplorerData
cpp
 ExplorerData() const;
ExplorerData
cpp
 ExplorerData(ShapeType toFind, ShapeType toAvoid, int state) const;

LightOcct::ExtrusionSurfaceData

Linear extrusion surface data structure with extrusion direction. Represents a surface created by extruding a basis curve along a direction vector.

cpp
#include <light-occt/core/ExtrusionSurfaceData.hxx>

Quick Reference

Fields: Direction

Methods: ExtrusionSurfaceData(), ExtrusionSurfaceData()


Fields

Direction

cpp
Vector Direction;

Extrusion direction vector.

Methods

Instance Methods

ExtrusionSurfaceData
cpp
 ExtrusionSurfaceData() const;
ExtrusionSurfaceData
cpp
 ExtrusionSurfaceData(const  & Vector direction) const;

LightOcct::FaceData

Face parameter bounds POD structure. Contains UV parametric domain information for face shapes.

cpp
#include <light-occt/core/FaceData.hxx>

Quick Reference

Fields: UMin, UMax, VMin, VMax, Tolerance, IsUClosed, IsVClosed, IsUPeriodic, IsVPeriodic

Methods: FaceData(), FaceData()


Fields

UMin

cpp
double UMin;

UMax

cpp
double UMax;

U parameter bounds.

VMin

cpp
double VMin;

VMax

cpp
double VMax;

V parameter bounds.

Tolerance

cpp
double Tolerance;

Geometric tolerance of the face.

IsUClosed

cpp
bool IsUClosed;

True if face is closed in U direction.

IsVClosed

cpp
bool IsVClosed;

True if face is closed in V direction.

IsUPeriodic

cpp
bool IsUPeriodic;

True if face is periodic in U direction.

IsVPeriodic

cpp
bool IsVPeriodic;

True if face is periodic in V direction.

Methods

Instance Methods

FaceData
cpp
 FaceData() const;
FaceData
cpp
 FaceData(double uMin, double uMax, double vMin, double vMax, double tol) const;

LightOcct::FormatInfo

POD structure for file format information. All information comes from OCCT DE_Wrapper providers.

cpp
#include <light-occt/core/FormatInfo.hxx>

Quick Reference

Fields: FormatName, Vendor, Extensions, Description, SupportsRead, SupportsWrite

Methods: FormatInfo()


Fields

FormatName

cpp
std::string FormatName;

Format name from provider.

Vendor

cpp
std::string Vendor;

Provider vendor.

Extensions

cpp
std::vector< std::string > Extensions;

Supported file extensions.

Description

cpp
std::string Description;

Format description.

SupportsRead

cpp
bool SupportsRead;

Whether reading is supported.

SupportsWrite

cpp
bool SupportsWrite;

Whether writing is supported.

Methods

Instance Methods

FormatInfo
cpp
 FormatInfo() const;

LightOcct::HLRAlgorithmData

POD structure for HLR algorithm configuration. Controls HLR computation parameters and quality settings.

cpp
#include <light-occt/core/HLRAlgorithmData.hxx>

Quick Reference

Fields: AlgorithmType, WithHidden, WithSmooth, WithOutline, WithSharpEdges, WithIsoLines, Tolerance, EdgeTolerance, NbIsolines, PolyAngle, PolyWithHLRandRG1, PolyWithBackFaceCulling

Methods: HLRAlgorithmData()


Fields

AlgorithmType

cpp
HLRAlgorithmType AlgorithmType;

Which HLR algorithm to use (BRep or Poly)

WithHidden

cpp
bool WithHidden;

Include hidden edges in results.

WithSmooth

cpp
bool WithSmooth;

Smooth edge computation.

WithOutline

cpp
bool WithOutline;

Include outline/silhouette edges.

WithSharpEdges

cpp
bool WithSharpEdges;

Include sharp edges.

WithIsoLines

cpp
bool WithIsoLines;

Include isoparametric lines.

Tolerance

cpp
double Tolerance;

Geometric tolerance for computations.

EdgeTolerance

cpp
double EdgeTolerance;

Tolerance for edge comparisons.

NbIsolines

cpp
int NbIsolines;

Number of isoparametric lines (if WithIsoLines is true)

PolyAngle

cpp
double PolyAngle;

Angular tolerance for PolyAlgo (radians)

PolyWithHLRandRG1

cpp
bool PolyWithHLRandRG1;

Enable HLR and RG1 computation for PolyAlgo.

PolyWithBackFaceCulling

cpp
bool PolyWithBackFaceCulling;

Enable back-face culling for PolyAlgo.

Methods

Instance Methods

HLRAlgorithmData
cpp
 HLRAlgorithmData() const;

LightOcct::HLREdgeData

POD structure for a single HLR edge result. Contains geometric and visibility information for one edge.

cpp
#include <light-occt/core/HLREdgeData.hxx>

Quick Reference

Fields: EdgeType, Geometry3D, Geometry2D, StartParameter, EndParameter, IsSmooth, IsOutline, OriginalFaceId

Methods: HLREdgeData()


Fields

EdgeType

cpp
HLREdgeType EdgeType;

Visibility classification of the edge.

Geometry3D

cpp
LinePoints Geometry3D;

3D line geometry (start and end points)

Geometry2D

cpp
LinePoints2d Geometry2D;

2D projected geometry (in projection plane)

StartParameter

cpp
double StartParameter;

Parameter at start of edge on original curve.

EndParameter

cpp
double EndParameter;

Parameter at end of edge on original curve.

IsSmooth

cpp
bool IsSmooth;

True if edge represents smooth transition.

IsOutline

cpp
bool IsOutline;

True if edge is on object outline/silhouette.

OriginalFaceId

cpp
int OriginalFaceId;

ID of face this edge belongs to (if applicable)

Methods

Instance Methods

HLREdgeData
cpp
 HLREdgeData() const;

LightOcct::HLROperationInfo

POD structure for HLR operation configuration and results. Complete information about an HLR computation operation.

cpp
#include <light-occt/core/HLROperationInfo.hxx>

Quick Reference

Fields: Result, Message, Projector, Algorithm, Statistics, ActualTolerance

Methods: HLROperationInfo()


Fields

Result

cpp
HLRResult Result;

Operation result status.

Message

cpp
std::string Message;

Detailed operation message.

Projector

cpp
HLRProjectorData Projector;

Projector configuration used.

Algorithm

cpp
HLRAlgorithmData Algorithm;

Algorithm parameters used.

Statistics

cpp
HLRStatistics Statistics;

Detailed computation statistics.

ActualTolerance

cpp
double ActualTolerance;

Actual tolerance used in computation.

Methods

Instance Methods

HLROperationInfo
cpp
 HLROperationInfo() const;

LightOcct::HLRProjectorData

POD structure for HLR projector configuration. Contains all data needed to define a projection for HLR computation. Combines data from HLRAlgo_Projector for cross-language exchange.

cpp
#include <light-occt/core/HLRProjectorData.hxx>

Quick Reference

Fields: ProjectionType, EyePosition, TargetPosition, UpDirection, ViewDirection, FocusLength, IsPerspective, ViewTransform, ProjectTransform

Methods: HLRProjectorData(), HLRProjectorData()


Fields

ProjectionType

cpp
HLRProjectionType ProjectionType;

Type of projection (perspective/parallel)

EyePosition

cpp
Point EyePosition;

Eye/camera position (for perspective projection)

TargetPosition

cpp
Point TargetPosition;

Target point being viewed.

UpDirection

cpp
Vector UpDirection;

Up direction vector (normalized)

ViewDirection

cpp
Vector ViewDirection;

View direction vector (normalized, from eye to target)

FocusLength

cpp
double FocusLength;

Focus length for perspective (distance eye to projection plane)

IsPerspective

cpp
bool IsPerspective;

True if perspective projection, false if parallel.

ViewTransform

cpp
TransformationData ViewTransform;

View transformation matrix.

ProjectTransform

cpp
TransformationData ProjectTransform;

Projection transformation matrix.

Methods

Instance Methods

HLRProjectorData
cpp
 HLRProjectorData() const;
HLRProjectorData
cpp
 HLRProjectorData(HLRProjectionType type, const  & Point eye, const  & Point target, const  & Vector up) const;

LightOcct::HLRResultData

POD structure for complete HLR computation results. Contains all visible and hidden edges found by HLR algorithm.

cpp
#include <light-occt/core/HLRResultData.hxx>

Quick Reference

Fields: Result, Message, VisibleEdges, HiddenEdges, OutlineEdges, SmoothEdges, SharpEdges, IsoLines, TotalEdgesProcessed, ComputationTime, ProjectedBounds

Methods: HLRResultData()


Fields

Result

cpp
HLRResult Result;

Computation result status.

Message

cpp
std::string Message;

Detailed result message.

VisibleEdges

cpp
std::vector<  > HLREdgeData VisibleEdges;

All visible edges.

HiddenEdges

cpp
std::vector<  > HLREdgeData HiddenEdges;

All hidden edges.

OutlineEdges

cpp
std::vector<  > HLREdgeData OutlineEdges;

Outline/silhouette edges.

SmoothEdges

cpp
std::vector<  > HLREdgeData SmoothEdges;

Smooth edges.

SharpEdges

cpp
std::vector<  > HLREdgeData SharpEdges;

Sharp edges.

IsoLines

cpp
std::vector<  > HLREdgeData IsoLines;

Isoparametric lines (if requested)

TotalEdgesProcessed

cpp
int TotalEdgesProcessed;

Total number of input edges.

ComputationTime

cpp
double ComputationTime;

Time taken for HLR computation (seconds)

ProjectedBounds

cpp
BoundingBox ProjectedBounds;

2D bounding box of projected result

Methods

Instance Methods

HLRResultData
cpp
 HLRResultData() const;

LightOcct::HLRStatistics

POD structure for HLR computation statistics. Contains detailed information about HLR algorithm performance.

cpp
#include <light-occt/core/HLRStatistics.hxx>

Quick Reference

Fields: InputShapes, InputFaces, InputEdges, VisibleEdgeCount, HiddenEdgeCount, OutlineEdgeCount, SmoothEdgeCount, SharpEdgeCount, IsoLineCount, PreprocessingTime, AlgorithmTime, PostprocessingTime, TotalTime

Methods: HLRStatistics()


Fields

InputShapes

cpp
int InputShapes;

Number of input shapes processed.

InputFaces

cpp
int InputFaces;

Number of input faces.

InputEdges

cpp
int InputEdges;

Number of input edges.

VisibleEdgeCount

cpp
int VisibleEdgeCount;

Number of visible edges found.

HiddenEdgeCount

cpp
int HiddenEdgeCount;

Number of hidden edges found.

OutlineEdgeCount

cpp
int OutlineEdgeCount;

Number of outline edges found.

SmoothEdgeCount

cpp
int SmoothEdgeCount;

Number of smooth edges found.

SharpEdgeCount

cpp
int SharpEdgeCount;

Number of sharp edges found.

IsoLineCount

cpp
int IsoLineCount;

Number of iso lines found.

PreprocessingTime

cpp
double PreprocessingTime;

Time for preprocessing (seconds)

AlgorithmTime

cpp
double AlgorithmTime;

Time for main algorithm (seconds)

PostprocessingTime

cpp
double PostprocessingTime;

Time for postprocessing (seconds)

TotalTime

cpp
double TotalTime;

Total computation time (seconds)

Methods

Instance Methods

HLRStatistics
cpp
 HLRStatistics() const;

LightOcct::HyperbolaData

Hyperbola data structure with coordinate system and radii. The Position defines the center (Location), normal (Direction), and major axis (XDirection).

cpp
#include <light-occt/core/HyperbolaData.hxx>

Quick Reference

Fields: Position, MajorRadius, MinorRadius

Methods: HyperbolaData(), HyperbolaData()


Fields

Position

cpp
Axis2Placement Position;

Coordinate system (center, normal as Z-direction, major axis as X-direction)

MajorRadius

cpp
double MajorRadius;

Major radius (semi-axis along X-direction)

MinorRadius

cpp
double MinorRadius;

Minor radius (semi-axis along Y-direction)

Methods

Instance Methods

HyperbolaData
cpp
 HyperbolaData() const;
HyperbolaData
cpp
 HyperbolaData(const  & Axis2Placement position, double majorRadius, double minorRadius) const;

LightOcct::HyperbolaData2d

2D hyperbola data structure with coordinate system and radii. The Position defines the center (Location) and major axis (XDirection).

cpp
#include <light-occt/core/HyperbolaData2d.hxx>

Quick Reference

Fields: Position, MajorRadius, MinorRadius

Methods: HyperbolaData2d(), HyperbolaData2d()


Fields

Position

cpp
Axis2Placement2d Position;

Coordinate system (center, major axis as X-direction)

MajorRadius

cpp
double MajorRadius;

Major radius (semi-axis along X-direction)

MinorRadius

cpp
double MinorRadius;

Minor radius (semi-axis along Y-direction)

Methods

Instance Methods

HyperbolaData2d
cpp
 HyperbolaData2d() const;
HyperbolaData2d
cpp
 HyperbolaData2d(const  & Axis2Placement2d position, double majorRadius, double minorRadius) const;

LightOcct::IncrementalMeshParams

POD structure for incremental mesh parameters. Controls precision, algorithm behavior, and quality settings.

cpp
#include <light-occt/core/IncrementalMeshParams.hxx>

Quick Reference

Fields: LinearDeflection, AngularDeflection, MinimumSize, RelativeMode, InParallel, InternalVerticesMode, ControlSurfaceDeflection, CleanModel, AdjustMinSize

Methods: IncrementalMeshParams(), IncrementalMeshParams()


Fields

LinearDeflection

cpp
double LinearDeflection;

Maximum linear deflection (chordal deviation)

AngularDeflection

cpp
double AngularDeflection;

Maximum angular deflection in radians.

MinimumSize

cpp
double MinimumSize;

Minimum size of mesh elements.

RelativeMode

cpp
bool RelativeMode;

Use relative deflection based on shape size.

InParallel

cpp
bool InParallel;

Enable parallel mesh generation.

InternalVerticesMode

cpp
bool InternalVerticesMode;

Add internal vertices for better quality.

ControlSurfaceDeflection

cpp
bool ControlSurfaceDeflection;

Control surface deflection separately.

CleanModel

cpp
bool CleanModel;

Clean model before meshing.

AdjustMinSize

cpp
bool AdjustMinSize;

Automatically adjust minimum size.

Methods

Instance Methods

IncrementalMeshParams
cpp
 IncrementalMeshParams() const;
IncrementalMeshParams
cpp
 IncrementalMeshParams(double linearDefl, double angularDefl, double minSize) const;

LightOcct::IteratorData

POD structure for iterator configuration data. Contains all iterator settings for cross-language exchange.

cpp
#include <light-occt/core/IteratorData.hxx>

Quick Reference

Fields: State, CumulativeOrientation, CumulativeLocation, CurrentIndex, TotalCount

Methods: IteratorData(), IteratorData()


Fields

State

cpp
int State;

Current iterator state (using int for cross-language compatibility)

CumulativeOrientation

cpp
bool CumulativeOrientation;

Whether orientations are being composed.

CumulativeLocation

cpp
bool CumulativeLocation;

Whether locations are being composed.

CurrentIndex

cpp
int CurrentIndex;

Current position in iteration (0-based, -1 if not started)

TotalCount

cpp
int TotalCount;

Total number of child shapes (-1 if not counted yet)

Methods

Instance Methods

IteratorData
cpp
 IteratorData() const;
IteratorData
cpp
 IteratorData(int state, bool cumulOrient, bool cumulLoc) const;

LightOcct::LineData

Line data structure using axis placement (equivalent to gp_Lin). Represents a line defined by a position point and direction vector, following the coordinate system architecture.

cpp
#include <light-occt/core/LineData.hxx>

Quick Reference

Fields: Position

Methods: LineData(), LineData()


Fields

Position

cpp
Axis1Placement Position;

Line position (location + direction)

Methods

Instance Methods

LineData
cpp
 LineData() const;
LineData
cpp
 LineData(const  & Axis1Placement position) const;

LightOcct::LineData2d

2D line data structure using axis placement (equivalent to gp_Lin2d). Represents a 2D line defined by a position point and direction vector, following the coordinate system architecture.

cpp
#include <light-occt/core/LineData2d.hxx>

Quick Reference

Fields: Location, Direction

Methods: LineData2d(), LineData2d()


Fields

Location

cpp
Point2d Location;

A point on the line.

Direction

cpp
Vector2d Direction;

Direction vector of the line (should be normalized)

Methods

Instance Methods

LineData2d
cpp
 LineData2d() const;
LineData2d
cpp
 LineData2d(const  & Point2d location, const  & Vector2d direction) const;

LightOcct::LinePoints

Line data structure containing two points. Used for representing line segments in 3D space.

cpp
#include <light-occt/core/LinePoints.hxx>

Quick Reference

Fields: P1, P2

Methods: LinePoints(), LinePoints()


Fields

P1

cpp
Point P1;

P2

cpp
Point P2;

Start and end points of the line.

Methods

Instance Methods

LinePoints
cpp
 LinePoints() const;
LinePoints
cpp
 LinePoints(const  & Point p1, const  & Point p2) const;

LightOcct::LinePoints2d

2D line data structure containing two points. Used for representing line segments in 2D space.

cpp
#include <light-occt/core/LinePoints2d.hxx>

Quick Reference

Fields: P1, P2

Methods: LinePoints2d(), LinePoints2d()


Fields

P1

cpp
Point2d P1;

P2

cpp
Point2d P2;

Start and end points of the 2D line.

Methods

Instance Methods

LinePoints2d
cpp
 LinePoints2d() const;
LinePoints2d
cpp
 LinePoints2d(const  & Point2d p1, const  & Point2d p2) const;

LightOcct::Material

properties for 3D rendering. Used by viewer and visualization systems. Material

cpp
#include <light-occt/core/Material.hxx>

Quick Reference

Fields: ambient, diffuse, specular, emissive, shininess, transparency

Methods: Material()


Fields

ambient

cpp
Color ambient;

Ambient color component.

diffuse

cpp
Color diffuse;

Diffuse color component.

specular

cpp
Color specular;

Specular color component.

emissive

cpp
Color emissive;

Emissive color component.

shininess

cpp
double shininess;

Shininess factor (0.0 to 1.0)

transparency

cpp
double transparency;

Transparency (0.0 = opaque, 1.0 = transparent)

Methods

Instance Methods

Material
cpp
 Material() const;

LightOcct::MeshNodeData

POD structure for mesh node data with position, UV, and normal information.

cpp
#include <light-occt/core/MeshNodeData.hxx>

Quick Reference

Fields: Position, UVPosition, Normal, HasUV, HasNormal

Methods: MeshNodeData()


Fields

Position

cpp
Point Position;

3D position of the node

UVPosition

cpp
Point2d UVPosition;

UV coordinates on the surface (if HasUV is true)

Normal

cpp
Vector Normal;

Surface normal at the node (if HasNormal is true)

HasUV

cpp
bool HasUV;

Whether UV coordinates are available.

HasNormal

cpp
bool HasNormal;

Whether normal vector is available.

Methods

Instance Methods

MeshNodeData
cpp
 MeshNodeData() const;

LightOcct::MeshQualityData

POD structure for mesh quality analysis data. Contains detailed information about mesh element quality.

cpp
#include <light-occt/core/MeshQualityData.hxx>

Quick Reference

Fields: AspectRatio, SkewnessAngle, Area, EdgeLengthRatio, IsDegenerate, MeetsQualityThreshold

Methods: MeshQualityData()


Fields

AspectRatio

cpp
double AspectRatio;

Element aspect ratio.

SkewnessAngle

cpp
double SkewnessAngle;

Element skewness angle in radians.

Area

cpp
double Area;

Element area.

EdgeLengthRatio

cpp
double EdgeLengthRatio;

Ratio of longest to shortest edge.

IsDegenerate

cpp
bool IsDegenerate;

True if element is degenerate.

MeetsQualityThreshold

cpp
bool MeetsQualityThreshold;

True if element meets quality criteria.

Methods

Instance Methods

MeshQualityData
cpp
 MeshQualityData() const;

LightOcct::MeshResultInfo

POD structure for mesh generation result information. Contains result status, statistics, and operation details.

cpp
#include <light-occt/core/MeshResultInfo.hxx>

Quick Reference

Fields: Result, Message, MesherUsed, Parameters, Statistics, ActualLinearDeflection, ActualAngularDeflection

Methods: MeshResultInfo()


Fields

Result

cpp
MesherResult Result;

Operation result status.

Message

cpp
std::string Message;

Detailed result message.

MesherUsed

cpp
MesherType MesherUsed;

Mesher algorithm used.

Parameters

cpp
IncrementalMeshParams Parameters;

Parameters used for meshing.

Statistics

cpp
MeshStatistics Statistics;

Generated mesh statistics.

ActualLinearDeflection

cpp
double ActualLinearDeflection;

Actual linear deflection achieved.

ActualAngularDeflection

cpp
double ActualAngularDeflection;

Actual angular deflection achieved.

Methods

Instance Methods

MeshResultInfo
cpp
 MeshResultInfo() const;

LightOcct::MeshSizeControl

POD structure for mesh element size control. Defines local size control for mesh generation.

cpp
#include <light-occt/core/MeshSizeControl.hxx>

Quick Reference

Fields: Location, ElementSize, InfluenceRadius

Methods: MeshSizeControl(), MeshSizeControl()


Fields

Location

cpp
Point Location;

Location for size control.

ElementSize

cpp
double ElementSize;

Desired element size at location.

InfluenceRadius

cpp
double InfluenceRadius;

Radius of influence for size control.

Methods

Instance Methods

MeshSizeControl
cpp
 MeshSizeControl() const;
MeshSizeControl
cpp
 MeshSizeControl(const  & Point loc, double size, double radius) const;

LightOcct::MeshStatistics

POD structure for mesh generation statistics. Contains information about generated mesh quality and counts.

cpp
#include <light-occt/core/MeshStatistics.hxx>

Quick Reference

Fields: TotalFaces, TotalTriangles, TotalNodes, TotalEdges, AverageTriangleArea, MinTriangleArea, MaxTriangleArea, AverageTriangleQuality, MinTriangleQuality, ProcessingTime

Methods: MeshStatistics()


Fields

TotalFaces

cpp
int TotalFaces;

Number of faces processed.

TotalTriangles

cpp
int TotalTriangles;

Total triangles generated.

TotalNodes

cpp
int TotalNodes;

Total nodes generated.

TotalEdges

cpp
int TotalEdges;

Total edges processed.

AverageTriangleArea

cpp
double AverageTriangleArea;

Average triangle area.

MinTriangleArea

cpp
double MinTriangleArea;

Minimum triangle area.

MaxTriangleArea

cpp
double MaxTriangleArea;

Maximum triangle area.

AverageTriangleQuality

cpp
double AverageTriangleQuality;

Average triangle quality (0-1)

MinTriangleQuality

cpp
double MinTriangleQuality;

Minimum triangle quality.

ProcessingTime

cpp
double ProcessingTime;

Time taken for mesh generation (seconds)

Methods

Instance Methods

MeshStatistics
cpp
 MeshStatistics() const;

LightOcct::MetadataEntry

Metadata container for string/variant key-value pairs. Supports different value types commonly used in CAD metadata.

cpp
#include <light-occt/core/MetadataEntry.hxx>

Quick Reference

Fields: Key, StringValue, DoubleValue, IntValue, IsString, IsDouble, IsInt

Methods: MetadataEntry(), MetadataEntry(), MetadataEntry(), MetadataEntry()


Fields

Key

cpp
std::string Key;

Metadata key.

StringValue

cpp
std::string StringValue;

String value (always available)

DoubleValue

cpp
double DoubleValue;

Numeric value.

IntValue

cpp
int IntValue;

Integer value.

IsString

cpp
bool IsString;

True if primary value is string.

IsDouble

cpp
bool IsDouble;

True if primary value is double.

IsInt

cpp
bool IsInt;

True if primary value is int.

Methods

Instance Methods

MetadataEntry
cpp
 MetadataEntry() const;
MetadataEntry
cpp
 MetadataEntry(const std::string & key, const std::string & value) const;
MetadataEntry
cpp
 MetadataEntry(const std::string & key, double value) const;
MetadataEntry
cpp
 MetadataEntry(const std::string & key, int value) const;

LightOcct::OffsetCurveData

3D offset curve data structure with offset distance and direction. Represents a curve offset by a constant distance from a basis curve in a given direction.

cpp
#include <light-occt/core/OffsetCurveData.hxx>

Quick Reference

Fields: Offset, Direction

Methods: OffsetCurveData(), OffsetCurveData()


Fields

Offset

cpp
double Offset;

Offset distance (positive or negative)

Direction

cpp
Vector Direction;

Offset direction vector.

Methods

Instance Methods

OffsetCurveData
cpp
 OffsetCurveData() const;
OffsetCurveData
cpp
 OffsetCurveData(double offset, const  & Vector direction) const;

LightOcct::OffsetCurveData2d

2D offset curve data structure with offset distance. Represents a curve offset by a constant distance from a basis curve.

cpp
#include <light-occt/core/OffsetCurveData2d.hxx>

Quick Reference

Fields: Offset

Methods: OffsetCurveData2d(), OffsetCurveData2d()


Fields

Offset

cpp
double Offset;

Offset distance (positive or negative)

Methods

Instance Methods

OffsetCurveData2d
cpp
 OffsetCurveData2d() const;
OffsetCurveData2d
cpp
 OffsetCurveData2d(double offset) const;

LightOcct::OffsetSurfaceData

Offset surface data structure with offset distance. Represents a surface offset by a constant distance from a basis surface.

cpp
#include <light-occt/core/OffsetSurfaceData.hxx>

Quick Reference

Fields: Offset

Methods: OffsetSurfaceData(), OffsetSurfaceData()


Fields

Offset

cpp
double Offset;

Offset distance (positive or negative)

Methods

Instance Methods

OffsetSurfaceData
cpp
 OffsetSurfaceData() const;
OffsetSurfaceData
cpp
 OffsetSurfaceData(double offset) const;

LightOcct::ParabolaData

Parabola data structure with coordinate system and focal length. The Position defines the vertex (Location), axis direction (Direction), and parameterization reference (XDirection).

cpp
#include <light-occt/core/ParabolaData.hxx>

Quick Reference

Fields: Position, FocalLength

Methods: ParabolaData(), ParabolaData()


Fields

Position

cpp
Axis2Placement Position;

Coordinate system (vertex as location, axis as Z-direction, X-direction defines parameterization)

FocalLength

cpp
double FocalLength;

Focal length parameter.

Methods

Instance Methods

ParabolaData
cpp
 ParabolaData() const;
ParabolaData
cpp
 ParabolaData(const  & Axis2Placement position, double focalLength) const;

LightOcct::ParabolaData2d

2D parabola data structure with coordinate system and focal length. The Position defines the vertex (Location) and parameterization reference (XDirection).

cpp
#include <light-occt/core/ParabolaData2d.hxx>

Quick Reference

Fields: Position, FocalLength

Methods: ParabolaData2d(), ParabolaData2d()


Fields

Position

cpp
Axis2Placement2d Position;

Coordinate system (vertex as location, X-direction defines parameterization)

FocalLength

cpp
double FocalLength;

Focal length parameter.

Methods

Instance Methods

ParabolaData2d
cpp
 ParabolaData2d() const;
ParabolaData2d
cpp
 ParabolaData2d(const  & Axis2Placement2d position, double focalLength) const;

LightOcct::PlaneData

Plane data structure with coordinate system. The Position defines the origin (Location), normal (Direction), and plane orientation (XDirection, YDirection).

cpp
#include <light-occt/core/PlaneData.hxx>

Quick Reference

Fields: Position

Methods: PlaneData(), PlaneData()


Fields

Position

cpp
Axis3Placement Position;

Coordinate system (origin, normal as Z-direction, X and Y directions define plane orientation)

Methods

Instance Methods

PlaneData
cpp
 PlaneData() const;
PlaneData
cpp
 PlaneData(const  & Axis3Placement position) const;

LightOcct::Point

3D point with coordinates (x, y, z). Used throughout the API for representing positions in 3D space.

cpp
#include <light-occt/core/Point.hxx>

Quick Reference

Fields: x, y, z

Methods: Point(), Point()


Fields

x

cpp
double x;

y

cpp
double y;

z

cpp
double z;

Coordinates in 3D space.

Methods

Instance Methods

Point
cpp
 Point() const;
Point
cpp
 Point(double x_, double y_, double z_) const;

LightOcct::Point2d

2D point with coordinates (x, y). Used throughout the API for representing positions in 2D space.

cpp
#include <light-occt/core/Point2d.hxx>

Quick Reference

Fields: x, y

Methods: Point2d(), Point2d()


Fields

x

cpp
double x;

y

cpp
double y;

Coordinates in 2D space.

Methods

Instance Methods

Point2d
cpp
 Point2d() const;
Point2d
cpp
 Point2d(double x_, double y_) const;

LightOcct::Polygon2DData

POD structure for 2D polygon data with nodes in parametric space.

cpp
#include <light-occt/core/Polygon2DData.hxx>

Quick Reference

Fields: NbNodes, Deflection, Nodes

Methods: Polygon2DData()


Fields

NbNodes

cpp
int NbNodes;

Number of nodes in the polygon.

Deflection

cpp
double Deflection;

Maximum deflection from original curve.

Nodes

cpp
std::vector<  > Point2d Nodes;

Array of 2D points (SWIG-compatible)

Methods

Instance Methods

Polygon2DData
cpp
 Polygon2DData() const;

LightOcct::Polygon3DData

POD structure for 3D polygon data with nodes and optional parameters.

cpp
#include <light-occt/core/Polygon3DData.hxx>

Quick Reference

Fields: NbNodes, HasParameters, Deflection, Nodes, Parameters

Methods: Polygon3DData()


Fields

NbNodes

cpp
int NbNodes;

Number of nodes in the polygon.

HasParameters

cpp
bool HasParameters;

Whether curve parameters are available.

Deflection

cpp
double Deflection;

Maximum deflection from original curve.

Nodes

cpp
std::vector<  > Point Nodes;

Array of 3D points (SWIG-compatible)

Parameters

cpp
std::vector< double > Parameters;

Optional curve parameters for each node.

Methods

Instance Methods

Polygon3DData
cpp
 Polygon3DData() const;

LightOcct::ProviderInfo

POD structure for provider information.

cpp
#include <light-occt/core/ProviderInfo.hxx>

Quick Reference

Fields: Name, Vendor, Version, FormatName, IsLoaded, LibraryPath

Methods: ProviderInfo()


Fields

Name

cpp
std::string Name;

Provider name.

Vendor

cpp
std::string Vendor;

Provider vendor.

Version

cpp
std::string Version;

Provider version.

FormatName

cpp
std::string FormatName;

Supported format name.

IsLoaded

cpp
bool IsLoaded;

Whether provider is loaded.

LibraryPath

cpp
std::string LibraryPath;

Path to dynamic library (if applicable)

Methods

Instance Methods

ProviderInfo
cpp
 ProviderInfo() const;

LightOcct::RevolutionSurfaceData

Revolution surface data structure with revolution axis. Represents a surface created by revolving a basis curve around an axis.

cpp
#include <light-occt/core/RevolutionSurfaceData.hxx>

Quick Reference

Fields: AxisLocation, AxisDirection

Methods: RevolutionSurfaceData(), RevolutionSurfaceData()


Fields

AxisLocation

cpp
Point AxisLocation;

on the revolution axis. Point

AxisDirection

cpp
Vector AxisDirection;

Direction vector of the revolution axis.

Methods

Instance Methods

RevolutionSurfaceData
cpp
 RevolutionSurfaceData() const;
RevolutionSurfaceData
cpp
 RevolutionSurfaceData(const  & Point axisLocation, const  & Vector axisDirection) const;

LightOcct::ShapeAttributeData

POD structure for shape attributes (separate from assembly hierarchy). Contains only shape-specific attributes like colors, layers, metadata.

cpp
#include <light-occt/core/ShapeAttributeData.hxx>

Quick Reference

Fields: Name, LayerName, IsVisible, HasColor, Color, Metadata

Methods: ShapeAttributeData()


Fields

Name

cpp
std::string Name;

Shape name/label.

LayerName

cpp
std::string LayerName;

Layer assignment.

IsVisible

cpp
bool IsVisible;

Visibility flag.

HasColor

cpp
bool HasColor;

Whether color is assigned.

Color

cpp
ColorData Color;

Shape color (if HasColor is true)

Metadata

cpp
std::vector<  > MetadataEntry Metadata;

Custom metadata key-value pairs.

Methods

Instance Methods

ShapeAttributeData
cpp
 ShapeAttributeData() const;

LightOcct::ShapeData

Complete shape data POD structure for cross-language exchange. Contains all shape metadata including type, orientation, flags, and transformation.

cpp
#include <light-occt/core/ShapeData.hxx>

Quick Reference

Fields: Type, Orientation, Flags, Location, NbChildren

Methods: ShapeData(), ShapeData()


Fields

Type

cpp
ShapeType Type;

Shape type (VERTEX, EDGE, FACE, etc.)

Orientation

cpp
ShapeOrientation Orientation;

Shape orientation relative to container.

Flags

cpp
ShapeFlags Flags;

Boolean state flags.

Location

cpp
TransformationData Location;

Local coordinate system transformation.

NbChildren

cpp
int NbChildren;

Number of direct sub-shapes.

Methods

Instance Methods

ShapeData
cpp
 ShapeData() const;
ShapeData
cpp
 ShapeData(ShapeType type, ShapeOrientation orient, const  & ShapeFlags flags, const  & TransformationData location, int nbChildren) const;

LightOcct::ShapeFlags

Shape state flags POD structure. Contains boolean flags describing shape properties and states.

cpp
#include <light-occt/core/ShapeFlags.hxx>

Quick Reference

Fields: Free, Locked, Modified, Checked, Orientable, Closed, Infinite, Convex

Methods: ShapeFlags(), ShapeFlags()


Fields

Free

cpp
bool Free;

True if shape is free (not connected to others)

Locked

cpp
bool Locked;

True if shape is locked (cannot be modified)

Modified

cpp
bool Modified;

True if shape has been modified since creation.

Checked

cpp
bool Checked;

True if shape has been checked for validity.

Orientable

cpp
bool Orientable;

True if shape can be oriented.

Closed

cpp
bool Closed;

True if shape is closed (forms a boundary)

Infinite

cpp
bool Infinite;

True if shape extends to infinity.

Convex

cpp
bool Convex;

True if shape is convex.

Methods

Instance Methods

ShapeFlags
cpp
 ShapeFlags() const;
ShapeFlags
cpp
 ShapeFlags(bool free, bool locked, bool modified, bool checked, bool orientable, bool closed, bool infinite, bool convex) const;

LightOcct::SphereData

Sphere data structure with coordinate system and radius. The Position defines the center (Location). Direction and orientation are not significant for spheres.

cpp
#include <light-occt/core/SphereData.hxx>

Quick Reference

Fields: Position, Radius

Methods: SphereData(), SphereData()


Fields

Position

cpp
Axis3Placement Position;

Coordinate system (center as Location, Direction/XDirection/YDirection not significant for spheres)

Radius

cpp
double Radius;

Sphere radius.

Methods

Instance Methods

SphereData
cpp
 SphereData() const;
SphereData
cpp
 SphereData(const  & Axis3Placement position, double radius) const;

LightOcct::SplitOperationData

Split operation data for advanced shape subdivision. Contains parameters for splitting shapes with multiple tools.

cpp
#include <light-occt/core/SplitOperationData.hxx>

Quick Reference

Fields: GlueType, FuzzyValue, NonDestructive, UseParallelMode

Methods: SplitOperationData()


Fields

GlueType

cpp
BooleanGlueType GlueType;

Glue option for faces.

FuzzyValue

cpp
double FuzzyValue;

Fuzzy tolerance for matching.

NonDestructive

cpp
bool NonDestructive;

Whether to preserve input shapes.

UseParallelMode

cpp
bool UseParallelMode;

Enable parallel processing.

Methods

Instance Methods

SplitOperationData
cpp
 SplitOperationData() const;

LightOcct::SurfaceDerivativeData

Surface derivative data structure. Contains point position and partial derivatives for surface evaluation. Used by D0, D1, D2 methods for efficient derivative computation.

cpp
#include <light-occt/core/SurfaceDerivativeData.hxx>

Quick Reference

Fields: Position, UDerivative, VDerivative, UUDerivative, UVDerivative, VVDerivative

Methods: SurfaceDerivativeData(), SurfaceDerivativeData(), SurfaceDerivativeData()


Fields

Position

cpp
Point Position;

at UV parameter (D0 evaluation) Point

UDerivative

cpp
Vector UDerivative;

First partial derivative in U direction (D1U)

VDerivative

cpp
Vector VDerivative;

First partial derivative in V direction (D1V)

UUDerivative

cpp
Vector UUDerivative;

Second partial derivative UU (D2UU)

UVDerivative

cpp
Vector UVDerivative;

Mixed partial derivative UV (D2UV)

VVDerivative

cpp
Vector VVDerivative;

Second partial derivative VV (D2VV)

Methods

Instance Methods

SurfaceDerivativeData
cpp
 SurfaceDerivativeData() const;
SurfaceDerivativeData
cpp
 SurfaceDerivativeData(const  & Point pos) const;
SurfaceDerivativeData
cpp
 SurfaceDerivativeData(const  & Point pos, const  & Vector du, const  & Vector dv) const;

LightOcct::SurfaceParameterData

Surface parameter analysis data structure. Contains parametric properties and continuity information for surface analysis.

cpp
#include <light-occt/core/SurfaceParameterData.hxx>

Quick Reference

Fields: UFirstParameter, ULastParameter, VFirstParameter, VLastParameter, IsUClosed, IsVClosed, IsUPeriodic, IsVPeriodic, UPeriod, VPeriod, UContinuity, VContinuity

Methods: SurfaceParameterData()


Fields

UFirstParameter

cpp
double UFirstParameter;

ULastParameter

cpp
double ULastParameter;

U parameter bounds.

VFirstParameter

cpp
double VFirstParameter;

VLastParameter

cpp
double VLastParameter;

V parameter bounds.

IsUClosed

cpp
bool IsUClosed;

IsVClosed

cpp
bool IsVClosed;

True if surface is closed in U/V directions.

IsUPeriodic

cpp
bool IsUPeriodic;

IsVPeriodic

cpp
bool IsVPeriodic;

True if surface is periodic in U/V directions.

UPeriod

cpp
double UPeriod;

VPeriod

cpp
double VPeriod;

Period lengths (valid only if corresponding periodic flag is true)

UContinuity

cpp
int UContinuity;

VContinuity

cpp
int VContinuity;

Continuity levels: 0=C0, 1=C1, 2=C2, etc., -1=CN (infinite)

Methods

Instance Methods

SurfaceParameterData
cpp
 SurfaceParameterData() const;

LightOcct::TorusData

Torus data structure with coordinate system and radii. The Position defines the center (Location), axis (Direction), and orientation.

cpp
#include <light-occt/core/TorusData.hxx>

Quick Reference

Fields: Position, MajorRadius, MinorRadius

Methods: TorusData(), TorusData()


Fields

Position

cpp
Axis3Placement Position;

Coordinate system (center, axis as Z-direction, X and Y directions define orientation)

MajorRadius

cpp
double MajorRadius;

Distance from center to tube center.

MinorRadius

cpp
double MinorRadius;

Radius of the tube.

Methods

Instance Methods

TorusData
cpp
 TorusData() const;
TorusData
cpp
 TorusData(const  & Axis3Placement position, double majorRadius, double minorRadius) const;

LightOcct::TransformationData

3D transformation matrix data structure (4x4 matrix). Represents affine transformations in homogeneous coordinates. Matrix is stored in row-major order: [m00 m01 m02 m03; m10 m11 m12 m13; m20 m21 m22 m23; m30 m31 m32 m33]

cpp
#include <light-occt/core/TransformationData.hxx>

Quick Reference

Fields: m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33

Methods: TransformationData()


Fields

m00

cpp
double m00;

m01

cpp
double m01;

m02

cpp
double m02;

m03

cpp
double m03;

First row of transformation matrix.

m10

cpp
double m10;

m11

cpp
double m11;

m12

cpp
double m12;

m13

cpp
double m13;

Second row of transformation matrix.

m20

cpp
double m20;

m21

cpp
double m21;

m22

cpp
double m22;

m23

cpp
double m23;

Third row of transformation matrix.

m30

cpp
double m30;

m31

cpp
double m31;

m32

cpp
double m32;

m33

cpp
double m33;

Fourth row of transformation matrix.

Methods

Instance Methods

TransformationData
cpp
 TransformationData() const;

LightOcct::TransformationData2d

2D transformation matrix data structure (3x3 matrix). Represents affine transformations in 2D homogeneous coordinates. Matrix is stored in row-major order: [m00 m01 m02; m10 m11 m12; m20 m21 m22]

cpp
#include <light-occt/core/TransformationData2d.hxx>

Quick Reference

Fields: m00, m01, m02, m10, m11, m12, m20, m21, m22

Methods: TransformationData2d()


Fields

m00

cpp
double m00;

m01

cpp
double m01;

m02

cpp
double m02;

First row of 2D transformation matrix.

m10

cpp
double m10;

m11

cpp
double m11;

m12

cpp
double m12;

Second row of 2D transformation matrix.

m20

cpp
double m20;

m21

cpp
double m21;

m22

cpp
double m22;

Third row of 2D transformation matrix.

Methods

Instance Methods

TransformationData2d
cpp
 TransformationData2d() const;

LightOcct::TriangleData

POD structure for triangle data with three node indices. Each node index is 1-based and references nodes in a triangulation.

cpp
#include <light-occt/core/TriangleData.hxx>

Quick Reference

Fields: Node1, Node2, Node3

Methods: TriangleData(), TriangleData()


Fields

Node1

cpp
int Node1;

First node index (1-based)

Node2

cpp
int Node2;

Second node index (1-based)

Node3

cpp
int Node3;

Third node index (1-based)

Methods

Instance Methods

TriangleData
cpp
 TriangleData() const;
TriangleData
cpp
 TriangleData(int n1, int n2, int n3) const;

LightOcct::TriangulationData

POD structure for triangulation metadata and overall properties.

cpp
#include <light-occt/core/TriangulationData.hxx>

Quick Reference

Fields: NbNodes, NbTriangles, HasUVNodes, HasNormals, Deflection, Bounds

Methods: TriangulationData()


Fields

NbNodes

cpp
int NbNodes;

Number of nodes in the triangulation.

NbTriangles

cpp
int NbTriangles;

Number of triangles in the triangulation.

HasUVNodes

cpp
bool HasUVNodes;

Whether 2D UV nodes are available.

HasNormals

cpp
bool HasNormals;

Whether surface normals are available.

Deflection

cpp
double Deflection;

Maximum deflection from original surface.

Bounds

cpp
BoundingBox Bounds;

Bounding box of the triangulation.

Methods

Instance Methods

TriangulationData
cpp
 TriangulationData() const;

LightOcct::TriangulationNodesData

POD structure for efficient bulk access to triangulation nodes. Uses std::vector for SWIG compatibility across language bindings.

cpp
#include <light-occt/core/TriangulationNodesData.hxx>

Quick Reference

Fields: Nodes3D, NodesUV, Normals, HasUVNodes, HasNormals

Methods: TriangulationNodesData()


Fields

Nodes3D

cpp
std::vector<  > Point Nodes3D;

All 3D node positions.

NodesUV

cpp
std::vector<  > Point2d NodesUV;

All UV node positions (if available)

Normals

cpp
std::vector<  > Vector Normals;

All surface normals (if available)

HasUVNodes

cpp
bool HasUVNodes;

Whether UV data is available.

HasNormals

cpp
bool HasNormals;

Whether normal data is available.

Methods

Instance Methods

TriangulationNodesData
cpp
 TriangulationNodesData() const;

LightOcct::TriangulationTrianglesData

POD structure for efficient bulk access to triangulation triangles. Uses std::vector for SWIG compatibility across language bindings.

cpp
#include <light-occt/core/TriangulationTrianglesData.hxx>

Quick Reference

Fields: Triangles

Methods: TriangulationTrianglesData()


Fields

Triangles

cpp
std::vector<  > TriangleData Triangles;

All triangle data.

Methods

Instance Methods

TriangulationTrianglesData
cpp
 TriangulationTrianglesData() const;

LightOcct::TrimmedCurveData

3D trimmed curve data structure with parameter bounds and orientation. Represents a portion of a basis curve between two parameter values.

cpp
#include <light-occt/core/TrimmedCurveData.hxx>

Quick Reference

Fields: FirstParameter, LastParameter, SenseOfParametrization

Methods: TrimmedCurveData(), TrimmedCurveData()


Fields

FirstParameter

cpp
double FirstParameter;

First parameter of the trimmed portion.

LastParameter

cpp
double LastParameter;

Last parameter of the trimmed portion.

SenseOfParametrization

cpp
bool SenseOfParametrization;

True if same orientation as basis curve, false if reversed.

Methods

Instance Methods

TrimmedCurveData
cpp
 TrimmedCurveData() const;
TrimmedCurveData
cpp
 TrimmedCurveData(double first, double last, bool sense) const;

LightOcct::TrimmedCurveData2d

2D trimmed curve data structure with parameter bounds and orientation. Represents a portion of a basis curve between two parameter values.

cpp
#include <light-occt/core/TrimmedCurveData2d.hxx>

Quick Reference

Fields: FirstParameter, LastParameter, SenseOfParametrization

Methods: TrimmedCurveData2d(), TrimmedCurveData2d()


Fields

FirstParameter

cpp
double FirstParameter;

First parameter of the trimmed portion.

LastParameter

cpp
double LastParameter;

Last parameter of the trimmed portion.

SenseOfParametrization

cpp
bool SenseOfParametrization;

True if same orientation as basis curve, false if reversed.

Methods

Instance Methods

TrimmedCurveData2d
cpp
 TrimmedCurveData2d() const;
TrimmedCurveData2d
cpp
 TrimmedCurveData2d(double first, double last, bool sense) const;

LightOcct::TrimmedSurfaceData

Trimmed surface data structure with UV parameter bounds and orientation. Represents a rectangular portion of a basis surface trimmed by parameter bounds.

cpp
#include <light-occt/core/TrimmedSurfaceData.hxx>

Quick Reference

Fields: UFirstParameter, ULastParameter, VFirstParameter, VLastParameter, USenseOfParametrization, VSenseOfParametrization

Methods: TrimmedSurfaceData(), TrimmedSurfaceData()


Fields

UFirstParameter

cpp
double UFirstParameter;

ULastParameter

cpp
double ULastParameter;

U parameter bounds of the trimmed portion.

VFirstParameter

cpp
double VFirstParameter;

VLastParameter

cpp
double VLastParameter;

V parameter bounds of the trimmed portion.

USenseOfParametrization

cpp
bool USenseOfParametrization;

True if same U orientation as basis surface.

VSenseOfParametrization

cpp
bool VSenseOfParametrization;

True if same V orientation as basis surface.

Methods

Instance Methods

TrimmedSurfaceData
cpp
 TrimmedSurfaceData() const;
TrimmedSurfaceData
cpp
 TrimmedSurfaceData(double u1, double u2, double v1, double v2, bool uSense, bool vSense) const;

LightOcct::Vector

3D vector with components (x, y, z). Used for representing directions, normals, and displacements in 3D space.

cpp
#include <light-occt/core/Vector.hxx>

Quick Reference

Fields: x, y, z

Methods: Vector(), Vector()


Fields

x

cpp
double x;

y

cpp
double y;

z

cpp
double z;

components in 3D space. Vector

Methods

Instance Methods

Vector
cpp
 Vector() const;
Vector
cpp
 Vector(double x_, double y_, double z_) const;

LightOcct::Vector2d

2D vector with components (x, y). Used for representing directions and displacements in 2D space.

cpp
#include <light-occt/core/Vector2d.hxx>

Quick Reference

Fields: x, y

Methods: Vector2d(), Vector2d()


Fields

x

cpp
double x;

y

cpp
double y;

components in 2D space. Vector

Methods

Instance Methods

Vector2d
cpp
 Vector2d() const;
Vector2d
cpp
 Vector2d(double x_, double y_) const;

LightOcct::VertexData

Vertex-specific data POD structure. Contains geometric point data for vertex shapes.

cpp
#include <light-occt/core/VertexData.hxx>

Quick Reference

Fields: Position, Tolerance

Methods: VertexData(), VertexData()


Fields

Position

cpp
Point Position;

3D point position of the vertex

Tolerance

cpp
double Tolerance;

Geometric tolerance of the vertex.

Methods

Instance Methods

VertexData
cpp
 VertexData() const;
VertexData
cpp
 VertexData(const  & Point pos, double tol) const;

Released under the LGPL-2.1 License