Project
Loading...
Searching...
No Matches
o2::cad::BVHSurfaceRecord Struct Reference

The persistent record of one successful Add*Surface call; reading a solid back replays the records. More...

#include <O2BVHSurfaceSolid.h>

Public Types

enum  Kind {
  PlanarPolygon = 0 , CurvedPlanar = 1 , Cylindrical = 2 , Spherical = 3 ,
  Conical = 4 , Toroidal = 5
}
 

Static Public Member Functions

static int expectedScalarCount (int recordKind)
 How many entries scalars must hold for kind, or -1 for an unknown kind.
 

Public Attributes

int kind = PlanarPolygon
 
double origin [3] = {0., 0., 0.}
 origin / centerPoint / center
 
double axisA [3] = {0., 0., 0.}
 axisU / axis / polarAxis
 
double axisB [3] = {0., 0., 0.}
 axisV / referenceAxisU
 
std::vector< double > scalars
 
bool innerWall = false
 
bool trimmed = false
 the wire-trim overload was used (quadrics only)
 
std::vector< double > polygonPoints
 The wires, outer first: PlanarPolygon stores (u, v) pairs in polygonPoints, the others curves; wireSizes counts per wire.
 
std::vector< BVHSurfaceCurveRecordcurves
 
std::vector< intwireSizes
 
std::vector< unsigned intboundaryEdgeIds
 Sidecar v3 boundary edge identities in curve order: an edge-table index and a BoundaryEdgeFlag byte; empty when not stated.
 
std::vector< unsigned charboundaryEdgeFlags
 

Detailed Description

The persistent record of one successful Add*Surface call; reading a solid back replays the records.

Definition at line 46 of file O2BVHSurfaceSolid.h.

Member Enumeration Documentation

◆ Kind

Enumerator
PlanarPolygon 
CurvedPlanar 
Cylindrical 
Spherical 
Conical 
Toroidal 

Definition at line 47 of file O2BVHSurfaceSolid.h.

Member Function Documentation

◆ expectedScalarCount()

int BVHSurfaceRecord::expectedScalarCount ( int  recordKind)
static

How many entries scalars must hold for kind, or -1 for an unknown kind.

Definition at line 848 of file O2BVHSurfaceSolid.cxx.

Member Data Documentation

◆ axisA

double o2::cad::BVHSurfaceRecord::axisA[3] = {0., 0., 0.}

axisU / axis / polarAxis

Definition at line 56 of file O2BVHSurfaceSolid.h.

◆ axisB

double o2::cad::BVHSurfaceRecord::axisB[3] = {0., 0., 0.}

axisV / referenceAxisU

Definition at line 57 of file O2BVHSurfaceSolid.h.

◆ boundaryEdgeFlags

std::vector<unsigned char> o2::cad::BVHSurfaceRecord::boundaryEdgeFlags

Definition at line 73 of file O2BVHSurfaceSolid.h.

◆ boundaryEdgeIds

std::vector<unsigned int> o2::cad::BVHSurfaceRecord::boundaryEdgeIds

Sidecar v3 boundary edge identities in curve order: an edge-table index and a BoundaryEdgeFlag byte; empty when not stated.

Definition at line 72 of file O2BVHSurfaceSolid.h.

◆ curves

std::vector<BVHSurfaceCurveRecord> o2::cad::BVHSurfaceRecord::curves

Definition at line 68 of file O2BVHSurfaceSolid.h.

◆ innerWall

bool o2::cad::BVHSurfaceRecord::innerWall = false

Definition at line 63 of file O2BVHSurfaceSolid.h.

◆ kind

int o2::cad::BVHSurfaceRecord::kind = PlanarPolygon

Definition at line 54 of file O2BVHSurfaceSolid.h.

◆ origin

double o2::cad::BVHSurfaceRecord::origin[3] = {0., 0., 0.}

origin / centerPoint / center

Definition at line 55 of file O2BVHSurfaceSolid.h.

◆ polygonPoints

std::vector<double> o2::cad::BVHSurfaceRecord::polygonPoints

The wires, outer first: PlanarPolygon stores (u, v) pairs in polygonPoints, the others curves; wireSizes counts per wire.

Definition at line 67 of file O2BVHSurfaceSolid.h.

◆ scalars

std::vector<double> o2::cad::BVHSurfaceRecord::scalars

The remaining scalar arguments in Add*Surface declaration order (see expectedScalarCount); the count is checked against the kind on replay.

Definition at line 61 of file O2BVHSurfaceSolid.h.

◆ trimmed

bool o2::cad::BVHSurfaceRecord::trimmed = false

the wire-trim overload was used (quadrics only)

Definition at line 64 of file O2BVHSurfaceSolid.h.

◆ wireSizes

std::vector<int> o2::cad::BVHSurfaceRecord::wireSizes

Definition at line 69 of file O2BVHSurfaceSolid.h.


The documentation for this struct was generated from the following files: