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.
#include <light-occt/core/AssemblyHierarchyData.hxx>Quick Reference
Fields: AssemblyNodes, RootEntries, MaxAssemblyDepth
Methods: AssemblyHierarchyData()
Fields
AssemblyNodes
std::vector< > AssemblyNodeData AssemblyNodes;All assembly nodes.
RootEntries
std::vector< std::string > RootEntries;Entry strings of root nodes.
MaxAssemblyDepth
int MaxAssemblyDepth;Maximum nesting level.
Methods
Instance Methods
AssemblyHierarchyData
AssemblyHierarchyData() const;LightOcct::AssemblyNodeData
POD structure for single assembly node. Simple node with entry, type, and assembly tag. No embedded vectors.
#include <light-occt/core/AssemblyNodeData.hxx>Quick Reference
Fields: Entry, ShapeType, AssemblyTag
Methods: AssemblyNodeData()
Fields
Entry
std::string Entry;XCAF label entry string (unique identifier)
ShapeType
XcafShapeType ShapeType;Type of shape in assembly context.
AssemblyTag
int AssemblyTag;Assembly depth level (0=root, 1=child, etc.)
Methods
Instance Methods
AssemblyNodeData
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.
#include <light-occt/core/Axis1Placement.hxx>Quick Reference
Methods: Axis1Placement(), Axis1Placement()
Fields
Location
Point Location;Direction
Vector Direction;Methods
Instance Methods
Axis1Placement
Axis1Placement() const;Axis1Placement
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.
#include <light-occt/core/Axis2Placement.hxx>Quick Reference
Fields: Location, Direction, XDirection
Methods: Axis2Placement(), Axis2Placement()
Fields
Location
Point Location;Direction
Vector Direction;XDirection
Vector XDirection;Methods
Instance Methods
Axis2Placement
Axis2Placement() const;Axis2Placement
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.
#include <light-occt/core/Axis2Placement2d.hxx>Quick Reference
Fields: Location, XDirection
Methods: Axis2Placement2d(), Axis2Placement2d()
Fields
Location
Point2d Location;XDirection
Vector2d XDirection;Methods
Instance Methods
Axis2Placement2d
Axis2Placement2d() const;Axis2Placement2d
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).
#include <light-occt/core/Axis3Placement.hxx>Quick Reference
Fields: Location, Direction, XDirection, YDirection
Methods: Axis3Placement(), Axis3Placement()
Fields
Location
Point Location;Direction
Vector Direction;XDirection
Vector XDirection;YDirection
Vector YDirection;Methods
Instance Methods
Axis3Placement
Axis3Placement() const;Axis3Placement
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.
#include <light-occt/core/BezierCurveData.hxx>Quick Reference
Fields: Degree, IsRational, FirstParameter, LastParameter, Poles, Weights
Methods: BezierCurveData(), BezierCurveData()
Fields
Degree
int Degree;Degree of the Bezier curve.
IsRational
bool IsRational;True if the curve has weights (rational)
FirstParameter
double FirstParameter;First parameter value (always 0.0)
LastParameter
double LastParameter;Last parameter value (always 1.0)
Poles
std::vector< > Point Poles;Control points (poles) of the curve.
Weights
std::vector< double > Weights;Weights for rational curves (empty if non-rational)
Methods
Instance Methods
BezierCurveData
BezierCurveData() const;BezierCurveData
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.
#include <light-occt/core/BezierCurveData2d.hxx>Quick Reference
Fields: Degree, IsRational, FirstParameter, LastParameter, Poles, Weights
Methods: BezierCurveData2d(), BezierCurveData2d()
Fields
Degree
int Degree;Degree of the Bezier curve.
IsRational
bool IsRational;True if the curve has weights (rational)
FirstParameter
double FirstParameter;First parameter value (always 0.0)
LastParameter
double LastParameter;Last parameter value (always 1.0)
Poles
std::vector< > Point2d Poles;Control points (poles) of the curve.
Weights
std::vector< double > Weights;Weights for rational curves (empty if non-rational)
Methods
Instance Methods
BezierCurveData2d
BezierCurveData2d() const;BezierCurveData2d
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.
#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
int UDegree;VDegree
int VDegree;Degrees in U and V parametric directions.
IsURational
bool IsURational;IsVRational
bool IsVRational;True if surface has weights in U/V directions.
UFirstParameter
double UFirstParameter;ULastParameter
double ULastParameter;U parameter bounds (always 0.0 to 1.0)
VFirstParameter
double VFirstParameter;VLastParameter
double VLastParameter;V parameter bounds (always 0.0 to 1.0)
Poles
std::vector< > Point Poles;Control points grid (flattened in row-major order)
Weights
std::vector< double > Weights;Weights grid (flattened, empty if non-rational)
NbUPoles
int NbUPoles;NbVPoles
int NbVPoles;Grid dimensions (number of poles in U and V directions)
Methods
Instance Methods
BezierSurfaceData
BezierSurfaceData() const;GetPole
Point GetPole(int u, int v) const;SetPole
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.
#include <light-occt/core/BooleanOperationData.hxx>Quick Reference
Fields: Operation, GlueType, FuzzyValue, NonDestructive, UseParallelMode, CheckInverted
Methods: BooleanOperationData()
Fields
Operation
BooleanOperationType Operation;Type of boolean operation to perform.
GlueType
BooleanGlueType GlueType;Glue option for adjacent faces.
FuzzyValue
double FuzzyValue;Fuzzy tolerance for imprecise matching (0.0 = precise)
NonDestructive
bool NonDestructive;Whether to preserve input shapes (default: true)
UseParallelMode
bool UseParallelMode;Enable parallel processing (default: false)
CheckInverted
bool CheckInverted;Check for inverted solids (default: true)
Methods
Instance Methods
BooleanOperationData
BooleanOperationData() const;LightOcct::BooleanOperationResult
Boolean operation result data. Contains the result and metadata from a boolean operation.
#include <light-occt/core/BooleanOperationResult.hxx>Quick Reference
Fields: IsValid, ErrorCode, WarningCode, ExecutionTime, ModifiedShapeCount, GeneratedShapeCount, DeletedShapeCount
Methods: BooleanOperationResult()
Fields
IsValid
bool IsValid;Whether the operation completed successfully.
ErrorCode
int ErrorCode;Error code (0 = success, non-zero = error)
WarningCode
int WarningCode;Warning code (0 = no warnings)
ExecutionTime
double ExecutionTime;Operation execution time in seconds.
ModifiedShapeCount
int ModifiedShapeCount;Number of modified shapes from arguments.
GeneratedShapeCount
int GeneratedShapeCount;Number of generated shapes.
DeletedShapeCount
int DeletedShapeCount;Number of deleted shapes from arguments.
Methods
Instance Methods
BooleanOperationResult
BooleanOperationResult() const;LightOcct::BoundingBox
Bounding box data structure for 3D space. Represents an axis-aligned bounding box defined by minimum and maximum points.
#include <light-occt/core/BoundingBox.hxx>Quick Reference
Methods: BoundingBox(), BoundingBox()
Fields
MinPoint
Point MinPoint;Minimum point (lower corner) of the bounding box.
MaxPoint
Point MaxPoint;Maximum point (upper corner) of the bounding box.
Methods
Instance Methods
BoundingBox
BoundingBox() const;BoundingBox
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.
#include <light-occt/core/BSplineCurveData.hxx>Quick Reference
Fields: Degree, IsPeriodic, IsRational, FirstParameter, LastParameter, Poles, Weights, Knots, Multiplicities
Methods: BSplineCurveData(), BSplineCurveData()
Fields
Degree
int Degree;Degree of the B-Spline curve.
IsPeriodic
bool IsPeriodic;True if the curve is periodic.
IsRational
bool IsRational;True if the curve has weights (rational)
FirstParameter
double FirstParameter;First parameter value.
LastParameter
double LastParameter;Last parameter value.
Poles
std::vector< > Point Poles;Control points (poles) of the curve.
Weights
std::vector< double > Weights;Weights for rational curves (empty if non-rational)
Knots
std::vector< double > Knots;Knot vector values.
Multiplicities
std::vector< int > Multiplicities;Knot multiplicities.
Methods
Instance Methods
BSplineCurveData
BSplineCurveData() const;BSplineCurveData
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.
#include <light-occt/core/BSplineCurveData2d.hxx>Quick Reference
Fields: Degree, IsPeriodic, IsRational, FirstParameter, LastParameter, Poles, Weights, Knots, Multiplicities
Methods: BSplineCurveData2d(), BSplineCurveData2d()
Fields
Degree
int Degree;Degree of the B-Spline curve.
IsPeriodic
bool IsPeriodic;True if the curve is periodic.
IsRational
bool IsRational;True if the curve has weights (rational)
FirstParameter
double FirstParameter;First parameter value.
LastParameter
double LastParameter;Last parameter value.
Poles
std::vector< > Point2d Poles;Control points (poles) of the curve.
Weights
std::vector< double > Weights;Weights for rational curves (empty if non-rational)
Knots
std::vector< double > Knots;Knot vector values.
Multiplicities
std::vector< int > Multiplicities;Knot multiplicities.
Methods
Instance Methods
BSplineCurveData2d
BSplineCurveData2d() const;BSplineCurveData2d
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.
#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
int UDegree;VDegree
int VDegree;Degrees in U and V parametric directions.
IsUPeriodic
bool IsUPeriodic;IsVPeriodic
bool IsVPeriodic;True if surface is periodic in U/V directions.
IsURational
bool IsURational;IsVRational
bool IsVRational;True if surface has weights in U/V directions.
UFirstParameter
double UFirstParameter;ULastParameter
double ULastParameter;U parameter bounds.
VFirstParameter
double VFirstParameter;VLastParameter
double VLastParameter;V parameter bounds.
Poles
std::vector< > Point Poles;Control points grid (flattened in row-major order)
Weights
std::vector< double > Weights;Weights grid (flattened, empty if non-rational)
UKnots
std::vector< double > UKnots;U knot vector values.
VKnots
std::vector< double > VKnots;V knot vector values.
UMultiplicities
std::vector< int > UMultiplicities;U knot multiplicities.
VMultiplicities
std::vector< int > VMultiplicities;V knot multiplicities.
NbUPoles
int NbUPoles;NbVPoles
int NbVPoles;Grid dimensions (number of poles in U and V directions)
Methods
Instance Methods
BSplineSurfaceData
BSplineSurfaceData() const;GetPole
Point GetPole(int u, int v) const;SetPole
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).
#include <light-occt/core/CircleData.hxx>Quick Reference
Methods: CircleData(), CircleData()
Fields
Position
Axis2Placement Position;Coordinate system (center, normal as Z-direction, X-direction defines parameterization start)
Radius
double Radius;Circle radius.
Methods
Instance Methods
CircleData
CircleData() const;CircleData
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).
#include <light-occt/core/CircleData2d.hxx>Quick Reference
Methods: CircleData2d(), CircleData2d()
Fields
Position
Axis2Placement2d Position;Coordinate system (center, X-direction defines parameterization start)
Radius
double Radius;Circle radius.
Methods
Instance Methods
CircleData2d
CircleData2d() const;CircleData2d
CircleData2d(const & Axis2Placement2d position, double radius) const;LightOcct::Color
Viewer-friendly type (simplified access). Used for viewer operations and rendering. Color
#include <light-occt/core/Color.hxx>Quick Reference
Fields
r
double r;Red component (0.0 to 1.0)
g
double g;Green component (0.0 to 1.0)
b
double b;Blue component (0.0 to 1.0)
a
double a;Alpha/transparency component (0.0 to 1.0, 1.0 = opaque)
Methods
Instance Methods
Color
Color() const;Color
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
#include <light-occt/core/ColorData.hxx>Quick Reference
Fields: Red, Green, Blue, Alpha
Methods: ColorData(), ColorData()
Fields
Red
double Red;Red component (0.0 to 1.0)
Green
double Green;Green component (0.0 to 1.0)
Blue
double Blue;Blue component (0.0 to 1.0)
Alpha
double Alpha;Alpha/transparency component (0.0 to 1.0, 1.0 = opaque)
Methods
Instance Methods
ColorData
ColorData() const;ColorData
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.
#include <light-occt/core/ConeData.hxx>Quick Reference
Fields: Position, Radius, SemiAngle
Methods: ConeData(), ConeData()
Fields
Position
Axis3Placement Position;Coordinate system (apex, axis as Z-direction, X and Y directions define orientation)
Radius
double Radius;Radius at reference location (typically at apex for OCCT cones)
SemiAngle
double SemiAngle;Semi-angle in radians.
Methods
Instance Methods
ConeData
ConeData() const;ConeData
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.
#include <light-occt/core/CurveDerivativeData.hxx>Quick Reference
Fields: Position, FirstDerivative, SecondDerivative, ThirdDerivative
Methods: CurveDerivativeData(), CurveDerivativeData(), CurveDerivativeData(), CurveDerivativeData(), CurveDerivativeData()
Fields
Position
Point Position;at parameter (D0 evaluation) Point
FirstDerivative
Vector FirstDerivative;First derivative vector (D1)
SecondDerivative
Vector SecondDerivative;Second derivative vector (D2)
ThirdDerivative
Vector ThirdDerivative;Third derivative vector (D3)
Methods
Instance Methods
CurveDerivativeData
CurveDerivativeData() const;CurveDerivativeData
CurveDerivativeData(const & Point pos) const;CurveDerivativeData
CurveDerivativeData(const & Point pos, const & Vector d1) const;CurveDerivativeData
CurveDerivativeData(const & Point pos, const & Vector d1, const & Vector d2) const;CurveDerivativeData
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.
#include <light-occt/core/CurveDerivativeData2d.hxx>Quick Reference
Fields: Position, FirstDerivative, SecondDerivative, ThirdDerivative
Methods: CurveDerivativeData2d(), CurveDerivativeData2d(), CurveDerivativeData2d(), CurveDerivativeData2d(), CurveDerivativeData2d()
Fields
Position
Point2d Position;at parameter (D0 evaluation) Point
FirstDerivative
Vector2d FirstDerivative;First derivative vector (D1)
SecondDerivative
Vector2d SecondDerivative;Second derivative vector (D2)
ThirdDerivative
Vector2d ThirdDerivative;Third derivative vector (D3)
Methods
Instance Methods
CurveDerivativeData2d
CurveDerivativeData2d() const;CurveDerivativeData2d
CurveDerivativeData2d(const & Point2d pos) const;CurveDerivativeData2d
CurveDerivativeData2d(const & Point2d pos, const & Vector2d d1) const;CurveDerivativeData2d
CurveDerivativeData2d(const & Point2d pos, const & Vector2d d1, const & Vector2d d2) const;CurveDerivativeData2d
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.
#include <light-occt/core/CurveParameterData.hxx>Quick Reference
Fields: FirstParameter, LastParameter, IsClosed, IsPeriodic, Period, Continuity
Methods: CurveParameterData()
Fields
FirstParameter
double FirstParameter;First parameter value of the curve.
LastParameter
double LastParameter;Last parameter value of the curve.
IsClosed
bool IsClosed;True if the curve forms a closed loop.
IsPeriodic
bool IsPeriodic;True if the curve is periodic.
Period
double Period;Period length (valid only if IsPeriodic is true)
Continuity
int Continuity;Continuity level: 0=C0, 1=C1, 2=C2, etc., -1=CN (infinite)
Methods
Instance Methods
CurveParameterData
CurveParameterData() const;LightOcct::CurveParameterData2d
2D curve parameter analysis data structure. Contains parametric properties and continuity information for curve analysis.
#include <light-occt/core/CurveParameterData2d.hxx>Quick Reference
Fields: FirstParameter, LastParameter, IsClosed, IsPeriodic, Period, Continuity
Methods: CurveParameterData2d()
Fields
FirstParameter
double FirstParameter;First parameter value of the curve.
LastParameter
double LastParameter;Last parameter value of the curve.
IsClosed
bool IsClosed;True if the curve forms a closed loop.
IsPeriodic
bool IsPeriodic;True if the curve is periodic.
Period
double Period;Period length (valid only if IsPeriodic is true)
Continuity
int Continuity;Continuity level: 0=C0, 1=C1, 2=C2, etc., -1=CN (infinite)
Methods
Instance Methods
CurveParameterData2d
CurveParameterData2d() const;LightOcct::CylinderData
Cylinder data structure with coordinate system and radius. The Position defines the origin (Location), axis (Direction), and orientation (XDirection, YDirection).
#include <light-occt/core/CylinderData.hxx>Quick Reference
Methods: CylinderData(), CylinderData()
Fields
Position
Axis3Placement Position;Coordinate system (origin, axis as Z-direction, X and Y directions define orientation)
Radius
double Radius;Cylinder radius.
Methods
Instance Methods
CylinderData
CylinderData() const;CylinderData
CylinderData(const & Axis3Placement position, double radius) const;LightOcct::EdgeData
Edge parameter range POD structure. Contains parametric bounds and curve information for edge shapes.
#include <light-occt/core/EdgeData.hxx>Quick Reference
Fields: FirstParameter, LastParameter, Tolerance, IsClosed, IsDegenerate
Methods: EdgeData(), EdgeData()
Fields
FirstParameter
double FirstParameter;Start parameter on underlying curve.
LastParameter
double LastParameter;End parameter on underlying curve.
Tolerance
double Tolerance;Geometric tolerance of the edge.
IsClosed
bool IsClosed;True if edge forms a closed loop.
IsDegenerate
bool IsDegenerate;True if edge has zero length (degenerate)
Methods
Instance Methods
EdgeData
EdgeData() const;EdgeData
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).
#include <light-occt/core/EllipseData.hxx>Quick Reference
Fields: Position, MajorRadius, MinorRadius
Methods: EllipseData(), EllipseData()
Fields
Position
Axis2Placement Position;Coordinate system (center, normal as Z-direction, major axis as X-direction)
MajorRadius
double MajorRadius;Major radius (semi-axis along X-direction)
MinorRadius
double MinorRadius;Minor radius (semi-axis along Y-direction)
Methods
Instance Methods
EllipseData
EllipseData() const;EllipseData
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).
#include <light-occt/core/EllipseData2d.hxx>Quick Reference
Fields: Position, MajorRadius, MinorRadius
Methods: EllipseData2d(), EllipseData2d()
Fields
Position
Axis2Placement2d Position;Coordinate system (center, major axis as X-direction)
MajorRadius
double MajorRadius;Major radius (semi-axis along X-direction)
MinorRadius
double MinorRadius;Minor radius (semi-axis along Y-direction)
Methods
Instance Methods
EllipseData2d
EllipseData2d() const;EllipseData2d
EllipseData2d(const & Axis2Placement2d position, double majorRadius, double minorRadius) const;LightOcct::ExchangeConfig
POD structure for exchange operation configuration.
#include <light-occt/core/ExchangeConfig.hxx>Quick Reference
Fields: Units, WriteAscii, MergeShapes, Precision, GenerateNormals, IncludeColors, IncludeMaterials
Methods: ExchangeConfig()
Fields
Units
double Units;Units scaling factor (default: 1.0)
WriteAscii
bool WriteAscii;Write in ASCII format when supported.
MergeShapes
bool MergeShapes;Merge multiple shapes into one.
Precision
double Precision;Geometric precision.
GenerateNormals
bool GenerateNormals;Generate normals for mesh formats.
IncludeColors
bool IncludeColors;Include color information.
IncludeMaterials
bool IncludeMaterials;Include material information.
Methods
Instance Methods
ExchangeConfig
ExchangeConfig() const;LightOcct::ExchangeResultInfo
POD structure for exchange operation result information.
#include <light-occt/core/ExchangeResultInfo.hxx>Quick Reference
Fields: Result, Message, FilePath, FormatName, ProviderName, ProcessingTime
Methods: ExchangeResultInfo()
Fields
Result
ExchangeResult Result;Operation result.
Message
std::string Message;Detailed result message.
FilePath
std::string FilePath;File path involved in operation.
FormatName
std::string FormatName;Detected or used format name.
ProviderName
std::string ProviderName;Provider used for operation.
ProcessingTime
double ProcessingTime;Time taken for operation (seconds)
Methods
Instance Methods
ExchangeResultInfo
ExchangeResultInfo() const;LightOcct::ExplorerData
POD structure for explorer configuration data. Contains all explorer settings for cross-language exchange.
#include <light-occt/core/ExplorerData.hxx>Quick Reference
Fields: ToFind, ToAvoid, State, CurrentIndex, TotalCount, HasAvoidance
Methods: ExplorerData(), ExplorerData()
Fields
ToFind
ShapeType ToFind;Type of shapes being found.
ToAvoid
ShapeType ToAvoid;Type of shapes being avoided (SHAPE_UNDEFINED if none)
State
int State;Current explorer state (using int for cross-language compatibility)
CurrentIndex
int CurrentIndex;Current position in iteration (0-based, -1 if not started)
TotalCount
int TotalCount;Total number of shapes found (-1 if not counted yet)
HasAvoidance
bool HasAvoidance;Whether avoidance is configured.
Methods
Instance Methods
ExplorerData
ExplorerData() const;ExplorerData
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.
#include <light-occt/core/ExtrusionSurfaceData.hxx>Quick Reference
Fields: Direction
Methods: ExtrusionSurfaceData(), ExtrusionSurfaceData()
Fields
Direction
Vector Direction;Extrusion direction vector.
Methods
Instance Methods
ExtrusionSurfaceData
ExtrusionSurfaceData() const;ExtrusionSurfaceData
ExtrusionSurfaceData(const & Vector direction) const;LightOcct::FaceData
Face parameter bounds POD structure. Contains UV parametric domain information for face shapes.
#include <light-occt/core/FaceData.hxx>Quick Reference
Fields: UMin, UMax, VMin, VMax, Tolerance, IsUClosed, IsVClosed, IsUPeriodic, IsVPeriodic
Methods: FaceData(), FaceData()
Fields
UMin
double UMin;UMax
double UMax;U parameter bounds.
VMin
double VMin;VMax
double VMax;V parameter bounds.
Tolerance
double Tolerance;Geometric tolerance of the face.
IsUClosed
bool IsUClosed;True if face is closed in U direction.
IsVClosed
bool IsVClosed;True if face is closed in V direction.
IsUPeriodic
bool IsUPeriodic;True if face is periodic in U direction.
IsVPeriodic
bool IsVPeriodic;True if face is periodic in V direction.
Methods
Instance Methods
FaceData
FaceData() const;FaceData
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.
#include <light-occt/core/FormatInfo.hxx>Quick Reference
Fields: FormatName, Vendor, Extensions, Description, SupportsRead, SupportsWrite
Methods: FormatInfo()
Fields
FormatName
std::string FormatName;Format name from provider.
Vendor
std::string Vendor;Provider vendor.
Extensions
std::vector< std::string > Extensions;Supported file extensions.
Description
std::string Description;Format description.
SupportsRead
bool SupportsRead;Whether reading is supported.
SupportsWrite
bool SupportsWrite;Whether writing is supported.
Methods
Instance Methods
FormatInfo
FormatInfo() const;LightOcct::HLRAlgorithmData
POD structure for HLR algorithm configuration. Controls HLR computation parameters and quality settings.
#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
HLRAlgorithmType AlgorithmType;Which HLR algorithm to use (BRep or Poly)
WithHidden
bool WithHidden;Include hidden edges in results.
WithSmooth
bool WithSmooth;Smooth edge computation.
WithOutline
bool WithOutline;Include outline/silhouette edges.
WithSharpEdges
bool WithSharpEdges;Include sharp edges.
WithIsoLines
bool WithIsoLines;Include isoparametric lines.
Tolerance
double Tolerance;Geometric tolerance for computations.
EdgeTolerance
double EdgeTolerance;Tolerance for edge comparisons.
NbIsolines
int NbIsolines;Number of isoparametric lines (if WithIsoLines is true)
PolyAngle
double PolyAngle;Angular tolerance for PolyAlgo (radians)
PolyWithHLRandRG1
bool PolyWithHLRandRG1;Enable HLR and RG1 computation for PolyAlgo.
PolyWithBackFaceCulling
bool PolyWithBackFaceCulling;Enable back-face culling for PolyAlgo.
Methods
Instance Methods
HLRAlgorithmData
HLRAlgorithmData() const;LightOcct::HLREdgeData
POD structure for a single HLR edge result. Contains geometric and visibility information for one edge.
#include <light-occt/core/HLREdgeData.hxx>Quick Reference
Fields: EdgeType, Geometry3D, Geometry2D, StartParameter, EndParameter, IsSmooth, IsOutline, OriginalFaceId
Methods: HLREdgeData()
Fields
EdgeType
HLREdgeType EdgeType;Visibility classification of the edge.
Geometry3D
LinePoints Geometry3D;3D line geometry (start and end points)
Geometry2D
LinePoints2d Geometry2D;2D projected geometry (in projection plane)
StartParameter
double StartParameter;Parameter at start of edge on original curve.
EndParameter
double EndParameter;Parameter at end of edge on original curve.
IsSmooth
bool IsSmooth;True if edge represents smooth transition.
IsOutline
bool IsOutline;True if edge is on object outline/silhouette.
OriginalFaceId
int OriginalFaceId;ID of face this edge belongs to (if applicable)
Methods
Instance Methods
HLREdgeData
HLREdgeData() const;LightOcct::HLROperationInfo
POD structure for HLR operation configuration and results. Complete information about an HLR computation operation.
#include <light-occt/core/HLROperationInfo.hxx>Quick Reference
Fields: Result, Message, Projector, Algorithm, Statistics, ActualTolerance
Methods: HLROperationInfo()
Fields
Result
HLRResult Result;Operation result status.
Message
std::string Message;Detailed operation message.
Projector
HLRProjectorData Projector;Projector configuration used.
Algorithm
HLRAlgorithmData Algorithm;Algorithm parameters used.
Statistics
HLRStatistics Statistics;Detailed computation statistics.
ActualTolerance
double ActualTolerance;Actual tolerance used in computation.
Methods
Instance Methods
HLROperationInfo
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.
#include <light-occt/core/HLRProjectorData.hxx>Quick Reference
Fields: ProjectionType, EyePosition, TargetPosition, UpDirection, ViewDirection, FocusLength, IsPerspective, ViewTransform, ProjectTransform
Methods: HLRProjectorData(), HLRProjectorData()
Fields
ProjectionType
HLRProjectionType ProjectionType;Type of projection (perspective/parallel)
EyePosition
Point EyePosition;Eye/camera position (for perspective projection)
TargetPosition
Point TargetPosition;Target point being viewed.
UpDirection
Vector UpDirection;Up direction vector (normalized)
ViewDirection
Vector ViewDirection;View direction vector (normalized, from eye to target)
FocusLength
double FocusLength;Focus length for perspective (distance eye to projection plane)
IsPerspective
bool IsPerspective;True if perspective projection, false if parallel.
ViewTransform
TransformationData ViewTransform;View transformation matrix.
ProjectTransform
TransformationData ProjectTransform;Projection transformation matrix.
Methods
Instance Methods
HLRProjectorData
HLRProjectorData() const;HLRProjectorData
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.
#include <light-occt/core/HLRResultData.hxx>Quick Reference
Fields: Result, Message, VisibleEdges, HiddenEdges, OutlineEdges, SmoothEdges, SharpEdges, IsoLines, TotalEdgesProcessed, ComputationTime, ProjectedBounds
Methods: HLRResultData()
Fields
Result
HLRResult Result;Computation result status.
Message
std::string Message;Detailed result message.
VisibleEdges
std::vector< > HLREdgeData VisibleEdges;All visible edges.
HiddenEdges
std::vector< > HLREdgeData HiddenEdges;All hidden edges.
OutlineEdges
std::vector< > HLREdgeData OutlineEdges;Outline/silhouette edges.
SmoothEdges
std::vector< > HLREdgeData SmoothEdges;Smooth edges.
SharpEdges
std::vector< > HLREdgeData SharpEdges;Sharp edges.
IsoLines
std::vector< > HLREdgeData IsoLines;Isoparametric lines (if requested)
TotalEdgesProcessed
int TotalEdgesProcessed;Total number of input edges.
ComputationTime
double ComputationTime;Time taken for HLR computation (seconds)
ProjectedBounds
BoundingBox ProjectedBounds;2D bounding box of projected result
Methods
Instance Methods
HLRResultData
HLRResultData() const;LightOcct::HLRStatistics
POD structure for HLR computation statistics. Contains detailed information about HLR algorithm performance.
#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
int InputShapes;Number of input shapes processed.
InputFaces
int InputFaces;Number of input faces.
InputEdges
int InputEdges;Number of input edges.
VisibleEdgeCount
int VisibleEdgeCount;Number of visible edges found.
HiddenEdgeCount
int HiddenEdgeCount;Number of hidden edges found.
OutlineEdgeCount
int OutlineEdgeCount;Number of outline edges found.
SmoothEdgeCount
int SmoothEdgeCount;Number of smooth edges found.
SharpEdgeCount
int SharpEdgeCount;Number of sharp edges found.
IsoLineCount
int IsoLineCount;Number of iso lines found.
PreprocessingTime
double PreprocessingTime;Time for preprocessing (seconds)
AlgorithmTime
double AlgorithmTime;Time for main algorithm (seconds)
PostprocessingTime
double PostprocessingTime;Time for postprocessing (seconds)
TotalTime
double TotalTime;Total computation time (seconds)
Methods
Instance Methods
HLRStatistics
HLRStatistics() const;LightOcct::HyperbolaData
Hyperbola data structure with coordinate system and radii. The Position defines the center (Location), normal (Direction), and major axis (XDirection).
#include <light-occt/core/HyperbolaData.hxx>Quick Reference
Fields: Position, MajorRadius, MinorRadius
Methods: HyperbolaData(), HyperbolaData()
Fields
Position
Axis2Placement Position;Coordinate system (center, normal as Z-direction, major axis as X-direction)
MajorRadius
double MajorRadius;Major radius (semi-axis along X-direction)
MinorRadius
double MinorRadius;Minor radius (semi-axis along Y-direction)
Methods
Instance Methods
HyperbolaData
HyperbolaData() const;HyperbolaData
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).
#include <light-occt/core/HyperbolaData2d.hxx>Quick Reference
Fields: Position, MajorRadius, MinorRadius
Methods: HyperbolaData2d(), HyperbolaData2d()
Fields
Position
Axis2Placement2d Position;Coordinate system (center, major axis as X-direction)
MajorRadius
double MajorRadius;Major radius (semi-axis along X-direction)
MinorRadius
double MinorRadius;Minor radius (semi-axis along Y-direction)
Methods
Instance Methods
HyperbolaData2d
HyperbolaData2d() const;HyperbolaData2d
HyperbolaData2d(const & Axis2Placement2d position, double majorRadius, double minorRadius) const;LightOcct::IncrementalMeshParams
POD structure for incremental mesh parameters. Controls precision, algorithm behavior, and quality settings.
#include <light-occt/core/IncrementalMeshParams.hxx>Quick Reference
Fields: LinearDeflection, AngularDeflection, MinimumSize, RelativeMode, InParallel, InternalVerticesMode, ControlSurfaceDeflection, CleanModel, AdjustMinSize
Methods: IncrementalMeshParams(), IncrementalMeshParams()
Fields
LinearDeflection
double LinearDeflection;Maximum linear deflection (chordal deviation)
AngularDeflection
double AngularDeflection;Maximum angular deflection in radians.
MinimumSize
double MinimumSize;Minimum size of mesh elements.
RelativeMode
bool RelativeMode;Use relative deflection based on shape size.
InParallel
bool InParallel;Enable parallel mesh generation.
InternalVerticesMode
bool InternalVerticesMode;Add internal vertices for better quality.
ControlSurfaceDeflection
bool ControlSurfaceDeflection;Control surface deflection separately.
CleanModel
bool CleanModel;Clean model before meshing.
AdjustMinSize
bool AdjustMinSize;Automatically adjust minimum size.
Methods
Instance Methods
IncrementalMeshParams
IncrementalMeshParams() const;IncrementalMeshParams
IncrementalMeshParams(double linearDefl, double angularDefl, double minSize) const;LightOcct::IteratorData
POD structure for iterator configuration data. Contains all iterator settings for cross-language exchange.
#include <light-occt/core/IteratorData.hxx>Quick Reference
Fields: State, CumulativeOrientation, CumulativeLocation, CurrentIndex, TotalCount
Methods: IteratorData(), IteratorData()
Fields
State
int State;Current iterator state (using int for cross-language compatibility)
CumulativeOrientation
bool CumulativeOrientation;Whether orientations are being composed.
CumulativeLocation
bool CumulativeLocation;Whether locations are being composed.
CurrentIndex
int CurrentIndex;Current position in iteration (0-based, -1 if not started)
TotalCount
int TotalCount;Total number of child shapes (-1 if not counted yet)
Methods
Instance Methods
IteratorData
IteratorData() const;IteratorData
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.
#include <light-occt/core/LineData.hxx>Quick Reference
Fields: Position
Methods: LineData(), LineData()
Fields
Position
Axis1Placement Position;Line position (location + direction)
Methods
Instance Methods
LineData
LineData() const;LineData
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.
#include <light-occt/core/LineData2d.hxx>Quick Reference
Methods: LineData2d(), LineData2d()
Fields
Location
Point2d Location;A point on the line.
Direction
Vector2d Direction;Direction vector of the line (should be normalized)
Methods
Instance Methods
LineData2d
LineData2d() const;LineData2d
LineData2d(const & Point2d location, const & Vector2d direction) const;LightOcct::LinePoints
Line data structure containing two points. Used for representing line segments in 3D space.
#include <light-occt/core/LinePoints.hxx>Quick Reference
Methods: LinePoints(), LinePoints()
Fields
P1
Point P1;P2
Point P2;Start and end points of the line.
Methods
Instance Methods
LinePoints
LinePoints() const;LinePoints
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.
#include <light-occt/core/LinePoints2d.hxx>Quick Reference
Methods: LinePoints2d(), LinePoints2d()
Fields
P1
Point2d P1;P2
Point2d P2;Start and end points of the 2D line.
Methods
Instance Methods
LinePoints2d
LinePoints2d() const;LinePoints2d
LinePoints2d(const & Point2d p1, const & Point2d p2) const;LightOcct::Material
properties for 3D rendering. Used by viewer and visualization systems. Material
#include <light-occt/core/Material.hxx>Quick Reference
Fields: ambient, diffuse, specular, emissive, shininess, transparency
Methods: Material()
Fields
ambient
Color ambient;Ambient color component.
diffuse
Color diffuse;Diffuse color component.
specular
Color specular;Specular color component.
emissive
Color emissive;Emissive color component.
shininess
double shininess;Shininess factor (0.0 to 1.0)
transparency
double transparency;Transparency (0.0 = opaque, 1.0 = transparent)
Methods
Instance Methods
Material
Material() const;LightOcct::MeshNodeData
POD structure for mesh node data with position, UV, and normal information.
#include <light-occt/core/MeshNodeData.hxx>Quick Reference
Fields: Position, UVPosition, Normal, HasUV, HasNormal
Methods: MeshNodeData()
Fields
Position
Point Position;3D position of the node
UVPosition
Point2d UVPosition;UV coordinates on the surface (if HasUV is true)
Normal
Vector Normal;Surface normal at the node (if HasNormal is true)
HasUV
bool HasUV;Whether UV coordinates are available.
HasNormal
bool HasNormal;Whether normal vector is available.
Methods
Instance Methods
MeshNodeData
MeshNodeData() const;LightOcct::MeshQualityData
POD structure for mesh quality analysis data. Contains detailed information about mesh element quality.
#include <light-occt/core/MeshQualityData.hxx>Quick Reference
Fields: AspectRatio, SkewnessAngle, Area, EdgeLengthRatio, IsDegenerate, MeetsQualityThreshold
Methods: MeshQualityData()
Fields
AspectRatio
double AspectRatio;Element aspect ratio.
SkewnessAngle
double SkewnessAngle;Element skewness angle in radians.
Area
double Area;Element area.
EdgeLengthRatio
double EdgeLengthRatio;Ratio of longest to shortest edge.
IsDegenerate
bool IsDegenerate;True if element is degenerate.
MeetsQualityThreshold
bool MeetsQualityThreshold;True if element meets quality criteria.
Methods
Instance Methods
MeshQualityData
MeshQualityData() const;LightOcct::MeshResultInfo
POD structure for mesh generation result information. Contains result status, statistics, and operation details.
#include <light-occt/core/MeshResultInfo.hxx>Quick Reference
Fields: Result, Message, MesherUsed, Parameters, Statistics, ActualLinearDeflection, ActualAngularDeflection
Methods: MeshResultInfo()
Fields
Result
MesherResult Result;Operation result status.
Message
std::string Message;Detailed result message.
MesherUsed
MesherType MesherUsed;Mesher algorithm used.
Parameters
IncrementalMeshParams Parameters;Parameters used for meshing.
Statistics
MeshStatistics Statistics;Generated mesh statistics.
ActualLinearDeflection
double ActualLinearDeflection;Actual linear deflection achieved.
ActualAngularDeflection
double ActualAngularDeflection;Actual angular deflection achieved.
Methods
Instance Methods
MeshResultInfo
MeshResultInfo() const;LightOcct::MeshSizeControl
POD structure for mesh element size control. Defines local size control for mesh generation.
#include <light-occt/core/MeshSizeControl.hxx>Quick Reference
Fields: Location, ElementSize, InfluenceRadius
Methods: MeshSizeControl(), MeshSizeControl()
Fields
Location
Point Location;Location for size control.
ElementSize
double ElementSize;Desired element size at location.
InfluenceRadius
double InfluenceRadius;Radius of influence for size control.
Methods
Instance Methods
MeshSizeControl
MeshSizeControl() const;MeshSizeControl
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.
#include <light-occt/core/MeshStatistics.hxx>Quick Reference
Fields: TotalFaces, TotalTriangles, TotalNodes, TotalEdges, AverageTriangleArea, MinTriangleArea, MaxTriangleArea, AverageTriangleQuality, MinTriangleQuality, ProcessingTime
Methods: MeshStatistics()
Fields
TotalFaces
int TotalFaces;Number of faces processed.
TotalTriangles
int TotalTriangles;Total triangles generated.
TotalNodes
int TotalNodes;Total nodes generated.
TotalEdges
int TotalEdges;Total edges processed.
AverageTriangleArea
double AverageTriangleArea;Average triangle area.
MinTriangleArea
double MinTriangleArea;Minimum triangle area.
MaxTriangleArea
double MaxTriangleArea;Maximum triangle area.
AverageTriangleQuality
double AverageTriangleQuality;Average triangle quality (0-1)
MinTriangleQuality
double MinTriangleQuality;Minimum triangle quality.
ProcessingTime
double ProcessingTime;Time taken for mesh generation (seconds)
Methods
Instance Methods
MeshStatistics
MeshStatistics() const;LightOcct::MetadataEntry
Metadata container for string/variant key-value pairs. Supports different value types commonly used in CAD metadata.
#include <light-occt/core/MetadataEntry.hxx>Quick Reference
Fields: Key, StringValue, DoubleValue, IntValue, IsString, IsDouble, IsInt
Methods: MetadataEntry(), MetadataEntry(), MetadataEntry(), MetadataEntry()
Fields
Key
std::string Key;Metadata key.
StringValue
std::string StringValue;String value (always available)
DoubleValue
double DoubleValue;Numeric value.
IntValue
int IntValue;Integer value.
IsString
bool IsString;True if primary value is string.
IsDouble
bool IsDouble;True if primary value is double.
IsInt
bool IsInt;True if primary value is int.
Methods
Instance Methods
MetadataEntry
MetadataEntry() const;MetadataEntry
MetadataEntry(const std::string & key, const std::string & value) const;MetadataEntry
MetadataEntry(const std::string & key, double value) const;MetadataEntry
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.
#include <light-occt/core/OffsetCurveData.hxx>Quick Reference
Methods: OffsetCurveData(), OffsetCurveData()
Fields
Offset
double Offset;Offset distance (positive or negative)
Direction
Vector Direction;Offset direction vector.
Methods
Instance Methods
OffsetCurveData
OffsetCurveData() const;OffsetCurveData
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.
#include <light-occt/core/OffsetCurveData2d.hxx>Quick Reference
Fields: Offset
Methods: OffsetCurveData2d(), OffsetCurveData2d()
Fields
Offset
double Offset;Offset distance (positive or negative)
Methods
Instance Methods
OffsetCurveData2d
OffsetCurveData2d() const;OffsetCurveData2d
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.
#include <light-occt/core/OffsetSurfaceData.hxx>Quick Reference
Fields: Offset
Methods: OffsetSurfaceData(), OffsetSurfaceData()
Fields
Offset
double Offset;Offset distance (positive or negative)
Methods
Instance Methods
OffsetSurfaceData
OffsetSurfaceData() const;OffsetSurfaceData
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).
#include <light-occt/core/ParabolaData.hxx>Quick Reference
Fields: Position, FocalLength
Methods: ParabolaData(), ParabolaData()
Fields
Position
Axis2Placement Position;Coordinate system (vertex as location, axis as Z-direction, X-direction defines parameterization)
FocalLength
double FocalLength;Focal length parameter.
Methods
Instance Methods
ParabolaData
ParabolaData() const;ParabolaData
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).
#include <light-occt/core/ParabolaData2d.hxx>Quick Reference
Fields: Position, FocalLength
Methods: ParabolaData2d(), ParabolaData2d()
Fields
Position
Axis2Placement2d Position;Coordinate system (vertex as location, X-direction defines parameterization)
FocalLength
double FocalLength;Focal length parameter.
Methods
Instance Methods
ParabolaData2d
ParabolaData2d() const;ParabolaData2d
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).
#include <light-occt/core/PlaneData.hxx>Quick Reference
Fields: Position
Methods: PlaneData(), PlaneData()
Fields
Position
Axis3Placement Position;Coordinate system (origin, normal as Z-direction, X and Y directions define plane orientation)
Methods
Instance Methods
PlaneData
PlaneData() const;PlaneData
PlaneData(const & Axis3Placement position) const;LightOcct::Point
3D point with coordinates (x, y, z). Used throughout the API for representing positions in 3D space.
#include <light-occt/core/Point.hxx>Quick Reference
Fields
x
double x;y
double y;z
double z;Coordinates in 3D space.
Methods
Instance Methods
Point
Point() const;Point
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.
#include <light-occt/core/Point2d.hxx>Quick Reference
Fields
x
double x;y
double y;Coordinates in 2D space.
Methods
Instance Methods
Point2d
Point2d() const;Point2d
Point2d(double x_, double y_) const;LightOcct::Polygon2DData
POD structure for 2D polygon data with nodes in parametric space.
#include <light-occt/core/Polygon2DData.hxx>Quick Reference
Fields: NbNodes, Deflection, Nodes
Methods: Polygon2DData()
Fields
NbNodes
int NbNodes;Number of nodes in the polygon.
Deflection
double Deflection;Maximum deflection from original curve.
Nodes
std::vector< > Point2d Nodes;Array of 2D points (SWIG-compatible)
Methods
Instance Methods
Polygon2DData
Polygon2DData() const;LightOcct::Polygon3DData
POD structure for 3D polygon data with nodes and optional parameters.
#include <light-occt/core/Polygon3DData.hxx>Quick Reference
Fields: NbNodes, HasParameters, Deflection, Nodes, Parameters
Methods: Polygon3DData()
Fields
NbNodes
int NbNodes;Number of nodes in the polygon.
HasParameters
bool HasParameters;Whether curve parameters are available.
Deflection
double Deflection;Maximum deflection from original curve.
Nodes
std::vector< > Point Nodes;Array of 3D points (SWIG-compatible)
Parameters
std::vector< double > Parameters;Optional curve parameters for each node.
Methods
Instance Methods
Polygon3DData
Polygon3DData() const;LightOcct::ProviderInfo
POD structure for provider information.
#include <light-occt/core/ProviderInfo.hxx>Quick Reference
Fields: Name, Vendor, Version, FormatName, IsLoaded, LibraryPath
Methods: ProviderInfo()
Fields
Name
std::string Name;Provider name.
Vendor
std::string Vendor;Provider vendor.
Version
std::string Version;Provider version.
FormatName
std::string FormatName;Supported format name.
IsLoaded
bool IsLoaded;Whether provider is loaded.
LibraryPath
std::string LibraryPath;Path to dynamic library (if applicable)
Methods
Instance Methods
ProviderInfo
ProviderInfo() const;LightOcct::RevolutionSurfaceData
Revolution surface data structure with revolution axis. Represents a surface created by revolving a basis curve around an axis.
#include <light-occt/core/RevolutionSurfaceData.hxx>Quick Reference
Fields: AxisLocation, AxisDirection
Methods: RevolutionSurfaceData(), RevolutionSurfaceData()
Fields
AxisLocation
Point AxisLocation;on the revolution axis. Point
AxisDirection
Vector AxisDirection;Direction vector of the revolution axis.
Methods
Instance Methods
RevolutionSurfaceData
RevolutionSurfaceData() const;RevolutionSurfaceData
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.
#include <light-occt/core/ShapeAttributeData.hxx>Quick Reference
Fields: Name, LayerName, IsVisible, HasColor, Color, Metadata
Methods: ShapeAttributeData()
Fields
Name
std::string Name;Shape name/label.
LayerName
std::string LayerName;Layer assignment.
IsVisible
bool IsVisible;Visibility flag.
HasColor
bool HasColor;Whether color is assigned.
Color
ColorData Color;Shape color (if HasColor is true)
Metadata
std::vector< > MetadataEntry Metadata;Custom metadata key-value pairs.
Methods
Instance Methods
ShapeAttributeData
ShapeAttributeData() const;LightOcct::ShapeData
Complete shape data POD structure for cross-language exchange. Contains all shape metadata including type, orientation, flags, and transformation.
#include <light-occt/core/ShapeData.hxx>Quick Reference
Fields: Type, Orientation, Flags, Location, NbChildren
Methods: ShapeData(), ShapeData()
Fields
Type
ShapeType Type;Shape type (VERTEX, EDGE, FACE, etc.)
Orientation
ShapeOrientation Orientation;Shape orientation relative to container.
Flags
ShapeFlags Flags;Boolean state flags.
Location
TransformationData Location;Local coordinate system transformation.
NbChildren
int NbChildren;Number of direct sub-shapes.
Methods
Instance Methods
ShapeData
ShapeData() const;ShapeData
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.
#include <light-occt/core/ShapeFlags.hxx>Quick Reference
Fields: Free, Locked, Modified, Checked, Orientable, Closed, Infinite, Convex
Methods: ShapeFlags(), ShapeFlags()
Fields
Free
bool Free;True if shape is free (not connected to others)
Locked
bool Locked;True if shape is locked (cannot be modified)
Modified
bool Modified;True if shape has been modified since creation.
Checked
bool Checked;True if shape has been checked for validity.
Orientable
bool Orientable;True if shape can be oriented.
Closed
bool Closed;True if shape is closed (forms a boundary)
Infinite
bool Infinite;True if shape extends to infinity.
Convex
bool Convex;True if shape is convex.
Methods
Instance Methods
ShapeFlags
ShapeFlags() const;ShapeFlags
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.
#include <light-occt/core/SphereData.hxx>Quick Reference
Methods: SphereData(), SphereData()
Fields
Position
Axis3Placement Position;Coordinate system (center as Location, Direction/XDirection/YDirection not significant for spheres)
Radius
double Radius;Sphere radius.
Methods
Instance Methods
SphereData
SphereData() const;SphereData
SphereData(const & Axis3Placement position, double radius) const;LightOcct::SplitOperationData
Split operation data for advanced shape subdivision. Contains parameters for splitting shapes with multiple tools.
#include <light-occt/core/SplitOperationData.hxx>Quick Reference
Fields: GlueType, FuzzyValue, NonDestructive, UseParallelMode
Methods: SplitOperationData()
Fields
GlueType
BooleanGlueType GlueType;Glue option for faces.
FuzzyValue
double FuzzyValue;Fuzzy tolerance for matching.
NonDestructive
bool NonDestructive;Whether to preserve input shapes.
UseParallelMode
bool UseParallelMode;Enable parallel processing.
Methods
Instance Methods
SplitOperationData
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.
#include <light-occt/core/SurfaceDerivativeData.hxx>Quick Reference
Fields: Position, UDerivative, VDerivative, UUDerivative, UVDerivative, VVDerivative
Methods: SurfaceDerivativeData(), SurfaceDerivativeData(), SurfaceDerivativeData()
Fields
Position
Point Position;at UV parameter (D0 evaluation) Point
UDerivative
Vector UDerivative;First partial derivative in U direction (D1U)
VDerivative
Vector VDerivative;First partial derivative in V direction (D1V)
UUDerivative
Vector UUDerivative;Second partial derivative UU (D2UU)
UVDerivative
Vector UVDerivative;Mixed partial derivative UV (D2UV)
VVDerivative
Vector VVDerivative;Second partial derivative VV (D2VV)
Methods
Instance Methods
SurfaceDerivativeData
SurfaceDerivativeData() const;SurfaceDerivativeData
SurfaceDerivativeData(const & Point pos) const;SurfaceDerivativeData
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.
#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
double UFirstParameter;ULastParameter
double ULastParameter;U parameter bounds.
VFirstParameter
double VFirstParameter;VLastParameter
double VLastParameter;V parameter bounds.
IsUClosed
bool IsUClosed;IsVClosed
bool IsVClosed;True if surface is closed in U/V directions.
IsUPeriodic
bool IsUPeriodic;IsVPeriodic
bool IsVPeriodic;True if surface is periodic in U/V directions.
UPeriod
double UPeriod;VPeriod
double VPeriod;Period lengths (valid only if corresponding periodic flag is true)
UContinuity
int UContinuity;VContinuity
int VContinuity;Continuity levels: 0=C0, 1=C1, 2=C2, etc., -1=CN (infinite)
Methods
Instance Methods
SurfaceParameterData
SurfaceParameterData() const;LightOcct::TorusData
Torus data structure with coordinate system and radii. The Position defines the center (Location), axis (Direction), and orientation.
#include <light-occt/core/TorusData.hxx>Quick Reference
Fields: Position, MajorRadius, MinorRadius
Methods: TorusData(), TorusData()
Fields
Position
Axis3Placement Position;Coordinate system (center, axis as Z-direction, X and Y directions define orientation)
MajorRadius
double MajorRadius;Distance from center to tube center.
MinorRadius
double MinorRadius;Radius of the tube.
Methods
Instance Methods
TorusData
TorusData() const;TorusData
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]
#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
double m00;m01
double m01;m02
double m02;m03
double m03;First row of transformation matrix.
m10
double m10;m11
double m11;m12
double m12;m13
double m13;Second row of transformation matrix.
m20
double m20;m21
double m21;m22
double m22;m23
double m23;Third row of transformation matrix.
m30
double m30;m31
double m31;m32
double m32;m33
double m33;Fourth row of transformation matrix.
Methods
Instance Methods
TransformationData
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]
#include <light-occt/core/TransformationData2d.hxx>Quick Reference
Fields: m00, m01, m02, m10, m11, m12, m20, m21, m22
Methods: TransformationData2d()
Fields
m00
double m00;m01
double m01;m02
double m02;First row of 2D transformation matrix.
m10
double m10;m11
double m11;m12
double m12;Second row of 2D transformation matrix.
m20
double m20;m21
double m21;m22
double m22;Third row of 2D transformation matrix.
Methods
Instance Methods
TransformationData2d
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.
#include <light-occt/core/TriangleData.hxx>Quick Reference
Methods: TriangleData(), TriangleData()
Fields
Node1
int Node1;First node index (1-based)
Node2
int Node2;Second node index (1-based)
Node3
int Node3;Third node index (1-based)
Methods
Instance Methods
TriangleData
TriangleData() const;TriangleData
TriangleData(int n1, int n2, int n3) const;LightOcct::TriangulationData
POD structure for triangulation metadata and overall properties.
#include <light-occt/core/TriangulationData.hxx>Quick Reference
Fields: NbNodes, NbTriangles, HasUVNodes, HasNormals, Deflection, Bounds
Methods: TriangulationData()
Fields
NbNodes
int NbNodes;Number of nodes in the triangulation.
NbTriangles
int NbTriangles;Number of triangles in the triangulation.
HasUVNodes
bool HasUVNodes;Whether 2D UV nodes are available.
HasNormals
bool HasNormals;Whether surface normals are available.
Deflection
double Deflection;Maximum deflection from original surface.
Bounds
BoundingBox Bounds;Bounding box of the triangulation.
Methods
Instance Methods
TriangulationData
TriangulationData() const;LightOcct::TriangulationNodesData
POD structure for efficient bulk access to triangulation nodes. Uses std::vector for SWIG compatibility across language bindings.
#include <light-occt/core/TriangulationNodesData.hxx>Quick Reference
Fields: Nodes3D, NodesUV, Normals, HasUVNodes, HasNormals
Methods: TriangulationNodesData()
Fields
Nodes3D
std::vector< > Point Nodes3D;All 3D node positions.
NodesUV
std::vector< > Point2d NodesUV;All UV node positions (if available)
Normals
std::vector< > Vector Normals;All surface normals (if available)
HasUVNodes
bool HasUVNodes;Whether UV data is available.
HasNormals
bool HasNormals;Whether normal data is available.
Methods
Instance Methods
TriangulationNodesData
TriangulationNodesData() const;LightOcct::TriangulationTrianglesData
POD structure for efficient bulk access to triangulation triangles. Uses std::vector for SWIG compatibility across language bindings.
#include <light-occt/core/TriangulationTrianglesData.hxx>Quick Reference
Fields: Triangles
Methods: TriangulationTrianglesData()
Fields
Triangles
std::vector< > TriangleData Triangles;All triangle data.
Methods
Instance Methods
TriangulationTrianglesData
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.
#include <light-occt/core/TrimmedCurveData.hxx>Quick Reference
Fields: FirstParameter, LastParameter, SenseOfParametrization
Methods: TrimmedCurveData(), TrimmedCurveData()
Fields
FirstParameter
double FirstParameter;First parameter of the trimmed portion.
LastParameter
double LastParameter;Last parameter of the trimmed portion.
SenseOfParametrization
bool SenseOfParametrization;True if same orientation as basis curve, false if reversed.
Methods
Instance Methods
TrimmedCurveData
TrimmedCurveData() const;TrimmedCurveData
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.
#include <light-occt/core/TrimmedCurveData2d.hxx>Quick Reference
Fields: FirstParameter, LastParameter, SenseOfParametrization
Methods: TrimmedCurveData2d(), TrimmedCurveData2d()
Fields
FirstParameter
double FirstParameter;First parameter of the trimmed portion.
LastParameter
double LastParameter;Last parameter of the trimmed portion.
SenseOfParametrization
bool SenseOfParametrization;True if same orientation as basis curve, false if reversed.
Methods
Instance Methods
TrimmedCurveData2d
TrimmedCurveData2d() const;TrimmedCurveData2d
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.
#include <light-occt/core/TrimmedSurfaceData.hxx>Quick Reference
Fields: UFirstParameter, ULastParameter, VFirstParameter, VLastParameter, USenseOfParametrization, VSenseOfParametrization
Methods: TrimmedSurfaceData(), TrimmedSurfaceData()
Fields
UFirstParameter
double UFirstParameter;ULastParameter
double ULastParameter;U parameter bounds of the trimmed portion.
VFirstParameter
double VFirstParameter;VLastParameter
double VLastParameter;V parameter bounds of the trimmed portion.
USenseOfParametrization
bool USenseOfParametrization;True if same U orientation as basis surface.
VSenseOfParametrization
bool VSenseOfParametrization;True if same V orientation as basis surface.
Methods
Instance Methods
TrimmedSurfaceData
TrimmedSurfaceData() const;TrimmedSurfaceData
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.
#include <light-occt/core/Vector.hxx>Quick Reference
Fields
x
double x;y
double y;z
double z;components in 3D space. Vector
Methods
Instance Methods
Vector
Vector() const;Vector
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.
#include <light-occt/core/Vector2d.hxx>Quick Reference
Methods: Vector2d(), Vector2d()
Fields
x
double x;y
double y;components in 2D space. Vector
Methods
Instance Methods
Vector2d
Vector2d() const;Vector2d
Vector2d(double x_, double y_) const;LightOcct::VertexData
Vertex-specific data POD structure. Contains geometric point data for vertex shapes.
#include <light-occt/core/VertexData.hxx>Quick Reference
Methods: VertexData(), VertexData()
Fields
Position
Point Position;3D point position of the vertex
Tolerance
double Tolerance;Geometric tolerance of the vertex.
Methods
Instance Methods
VertexData
VertexData() const;VertexData
VertexData(const & Point pos, double tol) const;