OpenLexocad  28.0
Base Namespace Reference

Classes

class  AbortException
 
class  AbstractProducer
 Abstract base class of all producers. More...
 
class  AbstractWriter
 
class  AbstractXMLReader
 
class  AreaDensityUnit
 
class  AreaUnit
 
class  AssertSingleton
 
class  Axis
 
class  BadArguments
 
class  BaseClass
 BaseClass class and root of the type system. More...
 
class  BaseInit
 
class  BitsetLocker
 
struct  Bool
 
class  BoundBox2d
 
class  BoundBox3
 
class  Builder3D
 
class  CADKernelError
 
class  Color
 
class  ConstructionError
 
class  CoordinateSystem
 
class  CountryTool
 
class  CsvTool
 
class  DivisionByZeroError
 
struct  Double
 
class  DualNumber
 Dual Numbers aer 2-part numbers like complex numbers, but different algebra. They are denoted as a + b*eps, where eps^2 = 0. eps, the nilpotent, is like imaginary unit of complex numbers. The neat utility of dual numbers is that if you use them instead of normal numbers in a function like sin(), derivative is implicitly calculated as a multiplier to the dual part. More...
 
class  DualQuat
 The DualQuat class represents a dual quaternion, as a quaternion of dual number components. Dual quaternions are useful for placement interpolation, see pow method. More...
 
class  Exception
 
class  Factory
 
class  Factory2
 
class  FailedNotDone
 
class  FileDialog
 
class  FileException
 
struct  FlagToggler
 
struct  float_traits
 
struct  float_traits< double >
 
struct  float_traits< float >
 
class  GlobalAttachment
 
class  GlobalId
 
class  GlobalId_Policy
 
class  GlobalId_Policy_scoped
 
class  GlobalSave
 
class  GUID
 
class  GUID_Policy
 
class  GUID_Policy_scoped
 
class  GuidInUseException
 
class  Handled
 
struct  Int
 
class  InventorBuilder
 
struct  iotaGen
 
class  ItemNotFound
 
class  LastError
 
class  LengthUnit
 
class  Line2d
 
class  LogBaseClass
 
class  LogClass
 
class  Logger
 
class  manipulator
 
class  MassDensityUnit
 
class  MassUnit
 
class  Matrix4D
 
class  MColor
 
class  MemoryException
 
class  MemoryWriter
 
class  MessageBase
 
class  MessageEvent
 
class  MessageInterface
 
class  NoDebugClass
 
class  NotaNumber
 
class  NotImplementedError
 
class  ObjectStatusLocker
 
class  Observer
 
class  OutOfRange
 
class  Persistence
 Persistence class and root of the type system. More...
 
class  PersistenceVersion
 
class  Placement
 
class  PlaneAngleUnit
 
class  Polygon2d
 
class  Progress
 
class  ProgressInfo
 
class  ProgressObserver
 
class  PropertyNameTool
 
class  Reader
 
class  Reference
 
class  Rotation
 
class  RuntimeError
 
class  ScopedLog
 
class  ScopedLogger
 
class  scopedProfile
 
class  ScopedWaitingSpinner
 
class  ScriptFactorySingleton
 
class  ScriptProducer
 
class  SequencerBase
 
class  StateLocker
 
class  StopWatch
 
class  Stream
 
class  String
 A Utf-16 (windows) or ucs4 (unix) encoded string class. More...
 
class  StringTool
 
class  Subject
 
struct  TestModuleRegistry
 This class is holds the name of test modules that should be loaded for testing. More...
 
class  TimeInfo
 
class  timer
 
struct  Tools
 
class  Type
 
class  TypeError
 
class  ValueError
 
struct  vec_traits
 
struct  vec_traits< Rotation >
 
struct  vec_traits< Vector3d >
 
struct  vec_traits< Vector3f >
 
class  Vector2d
 
class  Vector3
 
class  VectorWithNullMagnitude
 
class  ViewOrthoProjMatrix
 
class  ViewProjMatrix
 
class  ViewProjMethod
 
class  VolumeUnit
 
class  WaitingSpinner
 
class  Writer
 
class  XMLReader
 

Typedefs

typedef BoundBox3< float > BoundBox3f
 
typedef BoundBox3< double > BoundBox3d
 
typedef std::function< void(ProgressInfo)> ProgressHandler
 
typedef std::function< void(int)> SequencerCallBackFunc
 
typedef Vector3< float > Vector3f
 
typedef Vector3< double > Vector3d
 

Enumerations

enum  FormworkType { FormworkType::PANEL, FormworkType::INNERCORNER, FormworkType::OUTERCORNER }
 
enum  FillingType {
  FillingType::NOFILLING, FillingType::WINDOW, FillingType::DOOR, FillingType::BASICWINDOW,
  FillingType::BASICDOOR
}
 
enum  OpeningType {
  OpeningType::WALL, OpeningType::RECTANGLE = 0, OpeningType::TRAPEZOID, OpeningType::ARCHED,
  OpeningType::OCTAGON, OpeningType::TRIANGLE, OpeningType::CIRCLE_WIN, OpeningType::ELLIPSE_WIN,
  OpeningType::SEMICIRCLE, OpeningType::FRENCHWINDOW, OpeningType::DOOR, OpeningType::GARAGEDOOR,
  OpeningType::FLOOR, OpeningType::ROOF, OpeningType::GENERAL, OpeningType::TYPE_FOR_COPY,
  OpeningType::ARCHDOOR, OpeningType::ARCHTOP, OpeningType::PENTAGON, OpeningType::QUARTERCIRCLE,
  OpeningType::TRANSOMDOOR, OpeningType::NOTDEFINED
}
 
enum  PurposeGroup {
  PurposeGroup::DOOR, PurposeGroup::GARAGE, PurposeGroup::FRENCHWINDOW, PurposeGroup::ARCHDOOR,
  PurposeGroup::TRANSOMDOOR, PurposeGroup::NOTDEFINED
}
 
enum  DoorTypeOperationEnum {
  DoorTypeOperationEnum::SINGLE_SWING_LEFT = 0, DoorTypeOperationEnum::SINGLE_SWING_RIGHT = 1, DoorTypeOperationEnum::DOUBLE_DOOR_SINGLE_SWING = 2, DoorTypeOperationEnum::DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT = 3,
  DoorTypeOperationEnum::DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT = 4, DoorTypeOperationEnum::DOUBLE_SWING_LEFT = 5, DoorTypeOperationEnum::DOUBLE_SWING_RIGHT = 6, DoorTypeOperationEnum::DOUBLE_DOOR_DOUBLE_SWING = 7,
  DoorTypeOperationEnum::SLIDING_TO_LEFT = 8, DoorTypeOperationEnum::SLIDING_TO_RIGHT = 9, DoorTypeOperationEnum::DOUBLE_DOOR_SLIDING = 10, DoorTypeOperationEnum::FOLDING_TO_LEFT = 11,
  DoorTypeOperationEnum::FOLDING_TO_RIGHT = 12, DoorTypeOperationEnum::DOUBLE_DOOR_FOLDING = 13, DoorTypeOperationEnum::REVOLVING = 14, DoorTypeOperationEnum::ROLLINGUP = 15,
  DoorTypeOperationEnum::SWING_FIXED_LEFT = 16, DoorTypeOperationEnum::SWING_FIXED_RIGHT = 17, DoorTypeOperationEnum::USERDEFINED = 18, DoorTypeOperationEnum::NOTDEFINED = 19,
  DoorTypeOperationEnum::TRIPLE_DOOR_SWING_RIGHT = 24, DoorTypeOperationEnum::TRIPLE_DOOR_SWING_LEFT = 25, DoorTypeOperationEnum::TRIPLE_DOOR_TRIPLE_SWING_RIGHT = 26, DoorTypeOperationEnum::TRIPLE_DOOR_TRIPLE_SWING_LEFT = 27
}
 
enum  Divider {
  Divider::NONE, Divider::VERTICAL, Divider::CROSS, Divider::HORIZONTAL,
  Divider::TWOVERTICAL
}
 
enum  SplitStatus {
  SplitStatus::PLANE, SplitStatus::HORIZONTAL, SplitStatus::VERTICAL_X, SplitStatus::VERTICAL_Y,
  SplitStatus::VIEWER_PERPENDICULAR_2P, SplitStatus::TWO_SURFACES, SplitStatus::MESH_SPLIT, SplitStatus::PLANE_3P,
  SplitStatus::VERTICAL_LINE, SplitStatus::VERTICAL_FACE_FOR_TERRAIN, SplitStatus::PROJECT_VERTICAL_LINE, SplitStatus::LINE_ON_MESH,
  SplitStatus::CUT_AND_FILL_MESH, SplitStatus::CUT_BIM_ACC_LINE, SplitStatus::CUT_BY_RECTANGLE, SplitStatus::CUT_BY_CONTOUR,
  SplitStatus::BOOLEAN_CUT, SplitStatus::PARAMETRIC_CUT, SplitStatus::CUT_IN_TWO, SplitStatus::CUT_TERRAIN
}
 
enum  LOGLEVEL {
  D_OFF = 0, D_FATAL = 1, D_ERROR = 2, D_WARN = 3,
  D_INFO = 4, D_DEBUG = 5, D_ALL = 6
}
 
enum  PropertyKind {
  P_MODIFY_DATA = 0, P_MODIFY_PLACEMENT = 1 << 0, P_MODIFY_LINK = 1 << 1, P_MODIFY_VISIBLITY = 1 << 3,
  P_MODIFY_SHAPE = 1 << 4, P_MODIFY_APPEARANCE = 1 << 5
}
 
enum  PName {
  m_No_Name = 0, m_GlobalId, m_OwnerHistory, m_Name,
  m_Description, m_ObjectType, m_ObjectPlacement, m_Representation,
  m_Radius, m_Position, m_Tag, m_XLength,
  m_YLength, m_ZLength, m_Location, m_Axis,
  m_RefDirection, m_Coordinates, m_Inverse = 10000, m_StyledByItem_inverse,
  m_HasAssignments_inverse, m_Nests_inverse, m_IsNestedBy_inverse, m_HasContext_inverse,
  m_IsDecomposedBy_inverse, m_Decomposes_inverse, m_HasAssociations_inverse, m_IsDeclaredBy_inverse,
  m_Declares_inverse, m_IsTypedBy_inverse, m_IsDefinedBy_inverse, m_ReferencedBy_inverse,
  m_FillsVoids_inverse, m_ConnectedTo_inverse, m_IsInterferedByElements_inverse, m_InterferesElements_inverse,
  m_HasProjections_inverse, m_ReferencedInStructures_inverse, m_HasOpenings_inverse, m_IsConnectionRealization_inverse,
  m_ProvidesBoundaries_inverse, m_ConnectedFrom_inverse, m_HasCoverings_inverse, m_ContainedInStructure_inverse,
  m_User = 20000
}
 
enum  SIPrefix {
  SIPrefix::EXA, SIPrefix::PETA, SIPrefix::TERA, SIPrefix::GIGA,
  SIPrefix::MEGA, SIPrefix::KILO, SIPrefix::HECTO, SIPrefix::DECA,
  SIPrefix::NONE, SIPrefix::DECI, SIPrefix::CENTI, SIPrefix::MILLI,
  SIPrefix::MICRO, SIPrefix::NANO, SIPrefix::PICO, SIPrefix::FEMTO,
  SIPrefix::ATTO
}
 
enum  SIUnitName {
  SIUnitName::AMPERE, SIUnitName::BECQUEREL, SIUnitName::CANDELA, SIUnitName::COULOMB,
  SIUnitName::CUBIC_METRE, SIUnitName::DEGREE_CELSIUS, SIUnitName::FARAD, SIUnitName::GRAM,
  SIUnitName::GRAY, SIUnitName::HENRY, SIUnitName::HERTZ, SIUnitName::JOULE,
  SIUnitName::KELVIN, SIUnitName::LUMEN, SIUnitName::LUX, SIUnitName::METRE,
  SIUnitName::MOLE, SIUnitName::NEWTON, SIUnitName::OHM, SIUnitName::PASCAL_UNIT,
  SIUnitName::RADIAN, SIUnitName::SECOND, SIUnitName::SIEMENS, SIUnitName::SIEVERT,
  SIUnitName::SQUARE_METRE, SIUnitName::STERADIAN, SIUnitName::TESLA, SIUnitName::VOLT,
  SIUnitName::WATT, SIUnitName::WEBER
}
 
enum  Quantity {
  Quantity::AMOUNT_OF_SUBSTANCE, Quantity::ELECTRIC_CURRENT, Quantity::LENGTH, Quantity::LUMINOUS_INTENSITY,
  Quantity::MASS, Quantity::TIME, Quantity::THERMODYNAMIC_TEMPERATURE, Quantity::ABSORBED_DOSE,
  Quantity::CATALYTIC_ACTIVITY, Quantity::ELECTRIC_CAPACITANCE, Quantity::ELECTRIC_CHARGE, Quantity::ELECTRIC_RESISTANCE,
  Quantity::ELECTRICAL_CONDUCTANCE, Quantity::ELECTRICAL_POTENTIAL_DIFFERENCE, Quantity::ELECTROMOTIVE_FORCE, Quantity::ENERGY,
  Quantity::EQUIVALENT_DOSE, Quantity::FORCE, Quantity::FREQUENCY, Quantity::HEAT,
  Quantity::ILLUMINANCE, Quantity::IMPEDANCE, Quantity::INDUCTANCE, Quantity::LUMINOUS_FLUX,
  Quantity::MAGNETIC_FIELD, Quantity::MAGNETIC_FLUX, Quantity::PLANE_ANGLE, Quantity::POWER,
  Quantity::PRESSURE, Quantity::RADIANT_FLUX, Quantity::RADIOACTIVITY, Quantity::REACTANCE,
  Quantity::SOLID_ANGLE, Quantity::STRESS, Quantity::TEMPERATURE, Quantity::VOLTAGE,
  Quantity::WEIGHT, Quantity::WORK, Quantity::AREA, Quantity::MASS_DENSITY,
  Quantity::AREA_DENSITY, Quantity::VOLUME
}
 

Functions

template<class InputIt , class OutputIt , class Pred , class Fct >
void transform_if (InputIt first, InputIt last, OutputIt dest, Pred pred, Fct transform)
 
template<class Cont , class OutputIt , class Pred , class Fct >
void transform_if (Cont container, OutputIt dest, Pred pred, Fct transform)
 
template<typename Container , typename OutputIt , typename BinaryFunction >
void transform (Container container, OutputIt out, BinaryFunction function)
 
template<typename Container , typename T , typename BinaryFunction >
accumulate (Container container, T init, BinaryFunction function)
 
template<typename To , template< typename... > class Cont, typename FromPtr >
const Cont< To * > & castToBaseContainer (const Cont< FromPtr > &v)
 
template<typename To , template< typename... > class Cont, typename FromPtr >
Cont< To * > & castToBaseContainer (Cont< FromPtr > &v)
 
template<typename Val , typename Cont >
bool allSubtype (const Cont &cont)
 
template<typename BaseClass , template< typename... > class Cont, typename... Derivates>
bool isAnyDerivedFrom (const Cont< BaseClass * > &container)
 Tests if at least one element of the container is a subclass (dynamic castable) of at least one of the Derivates. E.g. we have a vector<Element*> elems and we want to know if any of the elements is a subclass of either one of those: App::CrossSectionElement, App::CrossPlaneElement, App::ElevationElement. We tests is like this: isAnyDerivedFrom<App::Element,vector,App::CrossSectionElement, App::CrossPlaneElement, App::ElevationElement>(elems). There is a couple of specializations in App/ContainerTool.h for more call convenience. More...
 
template<typename T >
T * cast2 (Base::BaseClass *b)
 
template<typename T >
const T * ccast2 (const Base::BaseClass *b)
 
LX_BASE_EXPORT std::ostream & operator<< (std::ostream &o, const Base::Color &color)
 
template<class _Vec , typename float_type >
_Vec make_vec (const std::tuple< float_type, float_type, float_type > &&t)
 
template<class _Vec , typename float_type >
_Vec make_vec (const std::tuple< float_type, float_type, float_type, float_type > &&t)
 
template<class _Vec1 , class _Vec2 >
_Vec1 convertTo (const _Vec2 &v)
 
DualNumber operator+ (DualNumber a, DualNumber b)
 
DualNumber operator+ (DualNumber a, double b)
 
DualNumber operator+ (double a, DualNumber b)
 
DualNumber operator- (DualNumber a, DualNumber b)
 
DualNumber operator- (DualNumber a, double b)
 
DualNumber operator- (double a, DualNumber b)
 
DualNumber operator* (DualNumber a, DualNumber b)
 
DualNumber operator* (double a, DualNumber b)
 
DualNumber operator* (DualNumber a, double b)
 
DualNumber operator/ (DualNumber a, DualNumber b)
 
DualNumber operator/ (DualNumber a, double b)
 
DualNumber pow (DualNumber a, double pw)
 
DualQuat operator+ (DualQuat a, DualQuat b)
 
DualQuat operator- (DualQuat a, DualQuat b)
 
DualQuat operator* (DualQuat a, DualQuat b)
 
DualQuat operator* (DualQuat a, double b)
 
DualQuat operator* (double a, DualQuat b)
 
DualQuat operator* (DualQuat a, DualNumber b)
 
DualQuat operator* (DualNumber a, DualQuat b)
 
template<typename BaseClassType , typename ClassType >
BaseClassType * CreateObject ()
 
ScriptFactorySingletonScriptFactory ()
 
LX_BASE_EXPORT void setLogLevel (LOGLEVEL)
 
LX_BASE_EXPORT LOGLEVEL getLogLevel ()
 
void LogV (LOGLEVEL level, const QString &s, va_list ap)
 
LX_BASE_EXPORT LogClass Log (Base::LOGLEVEL level)
 
LX_BASE_EXPORT LogClass Log (Base::LOGLEVEL level, const char *msg,...)
 
Vector3foperator*= (Vector3f &rclVect, const Matrix4D &rclMtrx)
 
LX_BASE_EXPORT Base::MessageBaseMessage ()
 
LX_BASE_EXPORT ProgressProgressSingleton ()
 
LX_BASE_EXPORT void SequencerCallBackFunc_Default (int)
 
LX_BASE_EXPORT Base::SequencerBaseSequencer (void)
 Singleton getter of the Sequencer. More...
 
LX_BASE_EXPORT std::ostream & operator<< (std::ostream &o, const Base::String &s)
 
std::ostream & tabsN (std::ostream &os, int n)
 
std::ostream & blanksN (std::ostream &os, int n)
 
manipulator< int > tabs (int n)
 
manipulator< int > blanks (int n)
 
template<class T >
clamp (T num, T lower, T upper)
 
template<class T >
sgn (T t)
 
template<class T >
toRadians (T d)
 
template<class T >
toDegrees (T r)
 
template<class T >
fmod (T numerator, T denominator)
 
Vector2d operator* (double c, const Vector2d &v)
 
LX_BASE_EXPORT std::string getPrefixSymbol (Base::SIPrefix prefix)
 
template<class _Precision >
_Precision Distance (const Vector3< _Precision > &v1, const Vector3< _Precision > &v2)
 Returns the distance between two points. More...
 
template<class _Precision >
_Precision DistanceP2 (const Vector3< _Precision > &v1, const Vector3< _Precision > &v2)
 Returns the squared distance between two points. More...
 
template<class _Precision >
Vector3< _Precision > operator* (_Precision fFac, const Vector3< _Precision > &rcVct)
 Multiplication of scalar with vector. More...
 
template<class _Pr1 , class _Pr2 >
Vector3< _Pr1 > toVector (const Vector3< _Pr2 > &v)
 

Variables

LX_BASE_EXPORT TestModuleRegistry testModuleRegistry
 

Detailed Description

The PropertyKind enum determines what a modification of this property does to the object it is contained in. The setting of the PropertyKind has direct influence on the recompute of an object: P_MODIFY_DATA -> triggers NO RECOMPUTE P_MODIFY_PLACEMENT -> triggers a recompute of the objects placement only P_MODIFY_LINK -> depricated, don't use P_MODIFY_VISIBLITY -> triggers a change of the objects visibility P_MODIFY_SHAPE -> triggers a recompute of the objects shape. This always results in a recompute of the appearance aswell. P_MODIFY_APPEARANCE -> triggers a recompute of the objects appearance (color, textures, styles)

Typedef Documentation

◆ BoundBox3d

typedef BoundBox3<double> Base::BoundBox3d

◆ BoundBox3f

typedef BoundBox3<float> Base::BoundBox3f

◆ ProgressHandler

typedef std::function<void(ProgressInfo)> Base::ProgressHandler

◆ SequencerCallBackFunc

typedef std::function<void(int)> Base::SequencerCallBackFunc

◆ Vector3d

typedef Vector3<double> Base::Vector3d

◆ Vector3f

typedef Vector3<float> Base::Vector3f

Enumeration Type Documentation

◆ Divider

enum Base::Divider
strong
Enumerator
NONE 
VERTICAL 
CROSS 
HORIZONTAL 
TWOVERTICAL 

◆ DoorTypeOperationEnum

Enumerator
SINGLE_SWING_LEFT 
SINGLE_SWING_RIGHT 
DOUBLE_DOOR_SINGLE_SWING 
DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT 
DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT 
DOUBLE_SWING_LEFT 
DOUBLE_SWING_RIGHT 
DOUBLE_DOOR_DOUBLE_SWING 
SLIDING_TO_LEFT 
SLIDING_TO_RIGHT 
DOUBLE_DOOR_SLIDING 
FOLDING_TO_LEFT 
FOLDING_TO_RIGHT 
DOUBLE_DOOR_FOLDING 
REVOLVING 
ROLLINGUP 
SWING_FIXED_LEFT 
SWING_FIXED_RIGHT 
USERDEFINED 
NOTDEFINED 
TRIPLE_DOOR_SWING_RIGHT 
TRIPLE_DOOR_SWING_LEFT 
TRIPLE_DOOR_TRIPLE_SWING_RIGHT 
TRIPLE_DOOR_TRIPLE_SWING_LEFT 

◆ FillingType

enum Base::FillingType
strong
Enumerator
NOFILLING 
WINDOW 
DOOR 
BASICWINDOW 
BASICDOOR 

◆ FormworkType

enum Base::FormworkType
strong
Enumerator
PANEL 
INNERCORNER 
OUTERCORNER 

◆ LOGLEVEL

Enumerator
D_OFF 
D_FATAL 
D_ERROR 
D_WARN 
D_INFO 
D_DEBUG 
D_ALL 

◆ OpeningType

enum Base::OpeningType
strong
Enumerator
WALL 
RECTANGLE 
TRAPEZOID 
ARCHED 
OCTAGON 
TRIANGLE 
CIRCLE_WIN 
ELLIPSE_WIN 
SEMICIRCLE 
FRENCHWINDOW 
DOOR 
GARAGEDOOR 
FLOOR 
ROOF 
GENERAL 
TYPE_FOR_COPY 
ARCHDOOR 
ARCHTOP 
PENTAGON 
QUARTERCIRCLE 
TRANSOMDOOR 
NOTDEFINED 

◆ PName

Enumerator
m_No_Name 
m_GlobalId 
m_OwnerHistory 
m_Name 
m_Description 
m_ObjectType 
m_ObjectPlacement 
m_Representation 
m_Radius 
m_Position 
m_Tag 
m_XLength 
m_YLength 
m_ZLength 
m_Location 
m_Axis 
m_RefDirection 
m_Coordinates 
m_Inverse 
m_StyledByItem_inverse 
m_HasAssignments_inverse 
m_Nests_inverse 
m_IsNestedBy_inverse 
m_HasContext_inverse 
m_IsDecomposedBy_inverse 
m_Decomposes_inverse 
m_HasAssociations_inverse 
m_IsDeclaredBy_inverse 
m_Declares_inverse 
m_IsTypedBy_inverse 
m_IsDefinedBy_inverse 
m_ReferencedBy_inverse 
m_FillsVoids_inverse 
m_ConnectedTo_inverse 
m_IsInterferedByElements_inverse 
m_InterferesElements_inverse 
m_HasProjections_inverse 
m_ReferencedInStructures_inverse 
m_HasOpenings_inverse 
m_IsConnectionRealization_inverse 
m_ProvidesBoundaries_inverse 
m_ConnectedFrom_inverse 
m_HasCoverings_inverse 
m_ContainedInStructure_inverse 
m_User 

◆ PropertyKind

Enumerator
P_MODIFY_DATA 
P_MODIFY_PLACEMENT 
P_MODIFY_LINK 
P_MODIFY_VISIBLITY 
P_MODIFY_SHAPE 
P_MODIFY_APPEARANCE 

◆ PurposeGroup

enum Base::PurposeGroup
strong
Enumerator
DOOR 
GARAGE 
FRENCHWINDOW 
ARCHDOOR 
TRANSOMDOOR 
NOTDEFINED 

◆ Quantity

enum Base::Quantity
strong
Enumerator
AMOUNT_OF_SUBSTANCE 
ELECTRIC_CURRENT 
LENGTH 
LUMINOUS_INTENSITY 
MASS 
TIME 
THERMODYNAMIC_TEMPERATURE 
ABSORBED_DOSE 
CATALYTIC_ACTIVITY 
ELECTRIC_CAPACITANCE 
ELECTRIC_CHARGE 
ELECTRIC_RESISTANCE 
ELECTRICAL_CONDUCTANCE 
ELECTRICAL_POTENTIAL_DIFFERENCE 
ELECTROMOTIVE_FORCE 
ENERGY 
EQUIVALENT_DOSE 
FORCE 
FREQUENCY 
HEAT 
ILLUMINANCE 
IMPEDANCE 
INDUCTANCE 
LUMINOUS_FLUX 
MAGNETIC_FIELD 
MAGNETIC_FLUX 
PLANE_ANGLE 
POWER 
PRESSURE 
RADIANT_FLUX 
RADIOACTIVITY 
REACTANCE 
SOLID_ANGLE 
STRESS 
TEMPERATURE 
VOLTAGE 
WEIGHT 
WORK 
AREA 
MASS_DENSITY 
AREA_DENSITY 
VOLUME 

◆ SIPrefix

enum Base::SIPrefix
strong
Enumerator
EXA 
PETA 
TERA 
GIGA 
MEGA 
KILO 
HECTO 
DECA 
NONE 
DECI 
CENTI 
MILLI 
MICRO 
NANO 
PICO 
FEMTO 
ATTO 

◆ SIUnitName

enum Base::SIUnitName
strong
Enumerator
AMPERE 
BECQUEREL 
CANDELA 
COULOMB 
CUBIC_METRE 
DEGREE_CELSIUS 
FARAD 
GRAM 
GRAY 
HENRY 
HERTZ 
JOULE 
KELVIN 
LUMEN 
LUX 
METRE 
MOLE 
NEWTON 
OHM 
PASCAL_UNIT 
RADIAN 
SECOND 
SIEMENS 
SIEVERT 
SQUARE_METRE 
STERADIAN 
TESLA 
VOLT 
WATT 
WEBER 

◆ SplitStatus

enum Base::SplitStatus
strong
Enumerator
PLANE 
HORIZONTAL 
VERTICAL_X 
VERTICAL_Y 
VIEWER_PERPENDICULAR_2P 
TWO_SURFACES 
MESH_SPLIT 
PLANE_3P 
VERTICAL_LINE 
VERTICAL_FACE_FOR_TERRAIN 
PROJECT_VERTICAL_LINE 
LINE_ON_MESH 
CUT_AND_FILL_MESH 
CUT_BIM_ACC_LINE 
CUT_BY_RECTANGLE 
CUT_BY_CONTOUR 
BOOLEAN_CUT 
PARAMETRIC_CUT 
CUT_IN_TWO 
CUT_TERRAIN 

Function Documentation

◆ accumulate()

template<typename Container , typename T , typename BinaryFunction >
T Base::accumulate ( Container  container,
init,
BinaryFunction  function 
)

◆ allSubtype()

template<typename Val , typename Cont >
bool Base::allSubtype ( const Cont &  cont)

◆ blanks()

manipulator<int> Base::blanks ( int  n)
inline

◆ blanksN()

std::ostream& Base::blanksN ( std::ostream &  os,
int  n 
)
inline

◆ cast2()

template<typename T >
T* Base::cast2 ( Base::BaseClass b)

◆ castToBaseContainer() [1/2]

template<typename To , template< typename... > class Cont, typename FromPtr >
const Cont<To*>& Base::castToBaseContainer ( const Cont< FromPtr > &  v)

◆ castToBaseContainer() [2/2]

template<typename To , template< typename... > class Cont, typename FromPtr >
Cont<To*>& Base::castToBaseContainer ( Cont< FromPtr > &  v)

◆ ccast2()

template<typename T >
const T* Base::ccast2 ( const Base::BaseClass b)

◆ clamp()

template<class T >
T Base::clamp ( num,
lower,
upper 
)
inline

◆ convertTo()

template<class _Vec1 , class _Vec2 >
_Vec1 Base::convertTo ( const _Vec2 &  v)
inline

◆ CreateObject()

template<typename BaseClassType , typename ClassType >
BaseClassType* Base::CreateObject ( )

◆ Distance()

template<class _Precision >
_Precision Base::Distance ( const Vector3< _Precision > &  v1,
const Vector3< _Precision > &  v2 
)
inline

Returns the distance between two points.

◆ DistanceP2()

template<class _Precision >
_Precision Base::DistanceP2 ( const Vector3< _Precision > &  v1,
const Vector3< _Precision > &  v2 
)
inline

Returns the squared distance between two points.

◆ fmod()

template<class T >
T Base::fmod ( numerator,
denominator 
)
inline

◆ getLogLevel()

LX_BASE_EXPORT LOGLEVEL Base::getLogLevel ( )

◆ getPrefixSymbol()

LX_BASE_EXPORT std::string Base::getPrefixSymbol ( Base::SIPrefix  prefix)

◆ isAnyDerivedFrom()

template<typename BaseClass , template< typename... > class Cont, typename... Derivates>
bool Base::isAnyDerivedFrom ( const Cont< BaseClass * > &  container)

Tests if at least one element of the container is a subclass (dynamic castable) of at least one of the Derivates. E.g. we have a vector<Element*> elems and we want to know if any of the elements is a subclass of either one of those: App::CrossSectionElement, App::CrossPlaneElement, App::ElevationElement. We tests is like this: isAnyDerivedFrom<App::Element,vector,App::CrossSectionElement, App::CrossPlaneElement, App::ElevationElement>(elems). There is a couple of specializations in App/ContainerTool.h for more call convenience.

Template Parameters
BaseClassPolymorphic Base.
ContSimple container type compatible with std::ranges.
DerivatesPack of types to be tested.
Parameters
containerConatainer of pointers to BaseClass.
Returns
true if the above holds.

◆ Log() [1/2]

LX_BASE_EXPORT LogClass Base::Log ( Base::LOGLEVEL  level)

◆ Log() [2/2]

LX_BASE_EXPORT LogClass Base::Log ( Base::LOGLEVEL  level,
const char *  msg,
  ... 
)

◆ LogV()

void Base::LogV ( LOGLEVEL  level,
const QString &  s,
va_list  ap 
)

◆ make_vec() [1/2]

template<class _Vec , typename float_type >
_Vec Base::make_vec ( const std::tuple< float_type, float_type, float_type > &&  t)

◆ make_vec() [2/2]

template<class _Vec , typename float_type >
_Vec Base::make_vec ( const std::tuple< float_type, float_type, float_type, float_type > &&  t)

◆ Message()

LX_BASE_EXPORT Base::MessageBase& Base::Message ( )
inline

◆ operator*() [1/10]

template<class _Precision >
Vector3<_Precision> Base::operator* ( _Precision  fFac,
const Vector3< _Precision > &  rcVct 
)
inline

Multiplication of scalar with vector.

◆ operator*() [2/10]

DualNumber Base::operator* ( double  a,
DualNumber  b 
)
inline

◆ operator*() [3/10]

DualQuat Base::operator* ( double  a,
DualQuat  b 
)

◆ operator*() [4/10]

Vector2d Base::operator* ( double  c,
const Vector2d v 
)
inline

◆ operator*() [5/10]

DualNumber Base::operator* ( DualNumber  a,
double  b 
)
inline

◆ operator*() [6/10]

DualNumber Base::operator* ( DualNumber  a,
DualNumber  b 
)
inline

◆ operator*() [7/10]

DualQuat Base::operator* ( DualNumber  a,
DualQuat  b 
)

◆ operator*() [8/10]

DualQuat Base::operator* ( DualQuat  a,
double  b 
)

◆ operator*() [9/10]

DualQuat Base::operator* ( DualQuat  a,
DualNumber  b 
)

◆ operator*() [10/10]

DualQuat Base::operator* ( DualQuat  a,
DualQuat  b 
)

◆ operator*=()

Vector3f& Base::operator*= ( Vector3f rclVect,
const Matrix4D rclMtrx 
)
inline

◆ operator+() [1/4]

DualNumber Base::operator+ ( double  a,
DualNumber  b 
)
inline

◆ operator+() [2/4]

DualNumber Base::operator+ ( DualNumber  a,
double  b 
)
inline

◆ operator+() [3/4]

DualNumber Base::operator+ ( DualNumber  a,
DualNumber  b 
)
inline

◆ operator+() [4/4]

DualQuat Base::operator+ ( DualQuat  a,
DualQuat  b 
)

◆ operator-() [1/4]

DualNumber Base::operator- ( double  a,
DualNumber  b 
)
inline

◆ operator-() [2/4]

DualNumber Base::operator- ( DualNumber  a,
double  b 
)
inline

◆ operator-() [3/4]

DualNumber Base::operator- ( DualNumber  a,
DualNumber  b 
)
inline

◆ operator-() [4/4]

DualQuat Base::operator- ( DualQuat  a,
DualQuat  b 
)

◆ operator/() [1/2]

DualNumber Base::operator/ ( DualNumber  a,
double  b 
)
inline

◆ operator/() [2/2]

DualNumber Base::operator/ ( DualNumber  a,
DualNumber  b 
)
inline

◆ operator<<() [1/2]

LX_BASE_EXPORT std::ostream& Base::operator<< ( std::ostream &  o,
const Base::Color color 
)

◆ operator<<() [2/2]

LX_BASE_EXPORT std::ostream& Base::operator<< ( std::ostream &  o,
const Base::String s 
)

◆ pow()

DualNumber Base::pow ( DualNumber  a,
double  pw 
)
inline

◆ ProgressSingleton()

LX_BASE_EXPORT Progress& Base::ProgressSingleton ( )

◆ ScriptFactory()

ScriptFactorySingleton& Base::ScriptFactory ( )
inline

◆ Sequencer()

LX_BASE_EXPORT Base::SequencerBase& Base::Sequencer ( void  )
inline

Singleton getter of the Sequencer.

◆ SequencerCallBackFunc_Default()

LX_BASE_EXPORT void Base::SequencerCallBackFunc_Default ( int  )

◆ setLogLevel()

LX_BASE_EXPORT void Base::setLogLevel ( LOGLEVEL  )

◆ sgn()

template<class T >
T Base::sgn ( t)
inline

◆ tabs()

manipulator<int> Base::tabs ( int  n)
inline

◆ tabsN()

std::ostream& Base::tabsN ( std::ostream &  os,
int  n 
)
inline

◆ toDegrees()

template<class T >
T Base::toDegrees ( r)
inline

◆ toRadians()

template<class T >
T Base::toRadians ( d)
inline

◆ toVector()

template<class _Pr1 , class _Pr2 >
Vector3<_Pr1> Base::toVector ( const Vector3< _Pr2 > &  v)
inline

◆ transform()

template<typename Container , typename OutputIt , typename BinaryFunction >
void Base::transform ( Container  container,
OutputIt  out,
BinaryFunction  function 
)

◆ transform_if() [1/2]

template<class Cont , class OutputIt , class Pred , class Fct >
void Base::transform_if ( Cont  container,
OutputIt  dest,
Pred  pred,
Fct  transform 
)

◆ transform_if() [2/2]

template<class InputIt , class OutputIt , class Pred , class Fct >
void Base::transform_if ( InputIt  first,
InputIt  last,
OutputIt  dest,
Pred  pred,
Fct  transform 
)

Variable Documentation

◆ testModuleRegistry

LX_BASE_EXPORT TestModuleRegistry Base::testModuleRegistry