Free Electron
Classes | Typedefs | Enumerations | Functions | Variables
fe Namespace Reference

kernel More...

Classes

class  Accessor
 The main data access class for the data system. More...
 
class  AccessorSet
 Set of accessors. More...
 
class  AccessorSets
 
class  Annotate
 
class  AppDebugWindow
 
class  Arena
 
class  Array
 Wrapper for std::vector. More...
 
class  AsComponent
 just a Component More...
 
class  AsGeneric
 Generic reusable attributes. More...
 
class  AsSequenceSignal
 Sequencer signal. More...
 
class  Assign
 
class  AsSystem
 System reserved attributes. More...
 
class  AttachOp
 
class  Attract
 
class  Attribute
 An attribute within a Layout (record type) More...
 
class  AttributeController
 
class  BallCollideCLOp
 
class  Barycenter
 Barycentric coordinates for a triangle. More...
 
class  BaseAccessor
 Type inspecific Accessor. More...
 
class  BaseType
 A class to associate functionality with run time types. More...
 
class  Behavior
 
class  BenderOp
 
class  BindEditOp
 
class  BladeOp
 
class  BloatOp
 
class  Box
 N-dimensional axis-aligned bounding-box. More...
 
class  BroydenInertial
 Broyden time integration. More...
 
class  BrushTestOp
 
class  BruteCollide
 
class  BruteScan
 Analyze text on the fly. More...
 
class  ButtonController
 
class  CacheCLOp
 
class  CacheOp
 
class  Castable
 Base participation non-RTTI fallback dynamic casting mechanism. More...
 
class  CastableAs
 Per-class participation non-RTTI fallback dynamic casting mechanism. More...
 
class  Catalog
 Dictionary of Arbitrary Instances. More...
 
class  ChainOp
 
class  ChainOpController
 
class  ChainSignaler
 
class  ChannelBinder
 
class  ChannelController
 
class  ChannelFilter
 
class  ClaspOp
 
class  ClassSafe
 Class level locking for thread safety. More...
 
class  ClassSafeShared
 Class level locking for thread safety. More...
 
class  ClientPipeline
 
class  Cloner
 Deep cloning tool. More...
 
class  ClumpCLOp
 
class  ClumpOp
 
class  Collect
 
class  Color
 Special vector for color (RGBA) More...
 
class  Communicate
 
class  Component
 Base for all interfacable components. More...
 
class  ConfiguredApplication
 
class  ConnectOp
 
class  ConsoleKeys
 
class  Construct
 
class  ContractOp
 
class  Control
 
class  ControlCenter
 
class  Counted
 Heap-based support for classes participating in fe::ptr <> More...
 
class  cp
 Copy-On-Write shared pointer. More...
 
class  CreatePlanetHandler
 
class  Crowd
 
class  CurlOp
 
class  CurvaceousOp
 
class  CurveCombineOp
 
class  CurveCreateOp
 
class  CurveFollowOp
 
class  CurveSampleOp
 
class  CurveSeparateOp
 
class  Cylinder
 
class  DAGNode
 Node in a Directed Acyclic Graph. More...
 
class  DataIOController
 
class  datatoolAS
 
class  datauiAS
 
class  datauiDL
 
class  DebugController
 
class  DebugWindow
 
class  DensitySink
 
class  DensitySource
 
class  Depend
 Attribute dependency information. More...
 
class  Detonate
 
class  Discard
 
class  Disk
 
class  DL_Loader
 Raw access to a dynamic library. More...
 
class  DodgeOp
 
class  Dominate
 
class  DrawAtoms
 
class  DrawAttributeLabels
 
class  DrawButtons
 
class  DrawChainOps
 
class  DrawConstruct
 
class  DrawNodes
 Draw nodes. More...
 
class  DrawPairs
 
class  DrawParticle
 
class  DrawPick
 Draw forward pick. More...
 
class  DrawPlant
 
class  DrawPoints
 
class  DrawRadio
 
class  DrawRayTrace
 
class  DrawRod
 
class  DrawRouter
 
class  DrawScalarField
 
class  DrawScan
 
class  DrawSelection
 
class  DrawStringEntry
 
class  DrawTargeting
 
class  DrawTerrain
 
class  DrawTestOp
 
class  DrawThrust
 
class  DrawTransform
 
class  DrawVectorField
 draw a vector field More...
 
class  DrawView
 
class  DualString
 Automatically reference-counted string container. More...
 
class  Euler
 Special vector for concatenated Euler angles. More...
 
class  EventMap
 
class  ExcarnateOp
 
class  Exception
 Generic exception carrying a fe::String payload. More...
 
class  ExistController
 
class  ExplicitInertial
 
class  Explosion
 
class  ExportOp
 
class  FlatnessOp
 
class  Flatten
 
class  FloraHandler
 
class  FollicleOp
 
class  Forest
 
class  Fork
 
class  FormDrag
 
class  FuseOp
 
class  FusionOp
 
class  GenerateNav
 Generate a navigation field, which is a vector field of directions to get to a target destination point. More...
 
class  GotoMethod
 
class  GotoOrigin
 dummy test object More...
 
class  Gravity
 
class  GridWrapOp
 
class  GroupExtract
 
class  GroupOp
 
class  HammerOp
 
class  Handled
 Base class providing an fe::Handle to the derived class. More...
 
class  HingeOp
 
class  HobbleOp
 
class  hp
 Safe handle for shared pointer. More...
 
class  IdleSpinOp
 
class  ImguiHandler
 
class  ImportOp
 
class  InfluenceOp
 
class  Initialize
 Per-class participation in the Initialized <> mechanism. More...
 
class  Initialized
 Base class providing collective initialization (post-constructor) More...
 
class  Insert
 
class  InspectController
 
class  Instance
 Smart pointer used with types represented by BaseType. More...
 
class  InstanceMap
 Group of named instances. More...
 
class  Intersectors
 
class  Jitter
 randomly displace a particle More...
 
class  JointCombineOp
 
class  JointSeparateOp
 
class  JoySDL
 
class  JunkOp
 
class  KinkCLOp
 
class  KinkOp
 
class  LayoutAV
 Record "type" definition. More...
 
class  LayoutSB
 Record "type" definition. More...
 
class  LengthCorrectOp
 
class  Library
 Interface into a dynamic library to access its factories. More...
 
class  LimberOp
 
class  LinearReaction
 
class  List
 Fully Bidirectional Doubly-Linked List. More...
 
class  ListCore
 Type-nonspecific Base Functionality of fe::List <> More...
 
class  Log
 Base class for logging system Log objects. More...
 
class  Logger
 C++ portion of logging interface implementation. More...
 
class  LogHandler
 
class  LogWindowHandler
 
class  LuaBehavior
 
class  LuaBind
 
class  LuaExec
 
class  LuaHandler
 
class  LuaIterate
 
class  Manipulator
 
class  ManipulatorCommon
 
class  MapOp
 
class  Master
 Central access point for key pseudo-global objects. More...
 
class  Material
 
class  Matrix
 General template for fixed size numeric matrices. More...
 
class  Matrix< 3, 4, T >
 Matrix for 3D transformations. More...
 
class  mechanicsAS
 
class  Memory
 Basic memory management. More...
 
class  MeshSeparateOp
 
class  Metabolism
 
class  MimicOp
 
class  MirrorOp
 
class  Mitosis
 
class  Mortal
 
class  MultiGroupReader
 
class  MultiGroupWriter
 
class  MultiModOp
 
class  NativeEventContext
 
class  NativeKeyboard
 
class  NativeWindow
 
class  NetworkCatalog
 
class  NetworkOp
 
class  NewtonEuler
 
class  NexusOp
 
class  NoiseOp
 
class  NotSafe
 No locking for thread safety. More...
 
class  NotSafeShared
 No locking for thread safety. More...
 
class  NullOp
 
class  NullViewer
 
class  ObjectSafe
 Object level locking for thread safety. More...
 
class  ObjectSafeShared
 Object level locking for thread safety. More...
 
class  ObjectViewer
 
class  Observation
 
class  OffsetOp
 
class  OpaqueDrag
 
class  OpenCLOp
 
class  OpenSubdivOp
 
class  Operator
 
class  OperatorThreaded
 
class  OrthonormalBasis
 OrthonormalBasis for 3D transformations. More...
 
class  OrthoViewer
 
class  PaneLocate
 
class  Particle
 
class  PartitionOp
 
class  PerspectiveViewer
 
class  PickPoint
 
class  planAS
 
class  planetAS
 
class  PlanHandler
 Processes plans. More...
 
class  Plant
 
class  PlantSeed
 
class  PlayerPipeline
 
class  Poison
 Death pill for threads. More...
 
class  Poisoned
 An exception to be thrown when active Poison has been detected. More...
 
class  PoisonOp
 
class  PopulateI
 Populate a layout with attributes. More...
 
class  PortalOp
 
class  PostGuideCLOp
 
class  PotentialNav
 
class  PreviewOp
 
class  Profiler
 Group of tick-based precision profilers. More...
 
class  Projector
 
class  ProjectPoint
 
class  Protectable
 Base class providing protection counting for cp<> More...
 
class  Provot
 
class  ProxBrute
 
class  ProxHash
 
class  Proximity
 
class  ProxMultiGrid
 
class  ProxSweep
 
class  PuppetOp
 
class  PushSequencer
 
class  Quaternion
 Four-dimensional complex number. More...
 
class  QuickViewer
 
class  QuiltOp
 
class  Radio
 
class  RasterOp
 
class  Recordable
 
class  RecordArrayAV
 Homogeneous collection of Records. More...
 
class  RecordArraySB
 Homogeneous collection of Records. More...
 
class  RecordAV
 Reference to an instance of a Layout. More...
 
class  RecordCookbook
 Instructions to set attributes of a Record. More...
 
class  RecordFactoryI
 Component to create and initialize a Record. More...
 
class  RecordGroup
 A heterogenous collection of records. More...
 
class  RecordGroupDebug
 
class  RecordOperation
 An operation on a record. More...
 
class  RecordPlayer
 
class  RecordRecorder
 
class  RecordSB
 Reference to an instance of a Layout. More...
 
class  RegionalDebug
 
class  Registry
 Dynamic Library Manager. More...
 
class  Rod
 
class  RootLocate
 
class  RouteController
 
class  RouteHandler
 
class  RulerOp
 
class  Scan
 
class  ScatterOp
 
class  Scope
 Layout namespace. More...
 
class  ScopeDebug
 
class  SegmentStore
 Memory manager for state blocks. More...
 
class  SelectController
 
class  SemiImplicit
 
class  SemiImplicit1D
 
class  SemiImplicit2D
 
class  SemiImplicitInertial
 
class  shapeAS
 
class  ShapeSelector
 
class  Shoot
 
class  SignalerViewerI
 
class  SignalMessenger
 
class  SignalReceiver
 
class  SignalSender
 
class  SimPlant
 
class  SimpleDiffusion
 
class  SimpleGrid
 
class  SimpleNav
 
class  SimulationPipeline
 
class  Sing
 
class  SingleMaster
 Point of Entry for Development. More...
 
class  SocketHandler
 
class  solveAS
 
class  SourceSink
 
class  sp
 Intrusive Smart Pointer. More...
 
class  Sphere
 
class  SpineFitOp
 
class  Splat
 
class  SpreadsheetOp
 
class  StashOp
 
class  StateCatalog
 Catalog with extensible mirroring. More...
 
class  StdAllocator
 Replacement for std::allocator using the FE memory system. More...
 
class  StepCostI
 Calculate a quantity (cost) associated with a directional step in space. More...
 
class  StickLevel
 
class  StoreI
 Base class for state block memeory managers. More...
 
class  Strata
 
class  Stratum
 
class  String
 Automatically reference-counted string container. More...
 
class  StringEntryController
 
class  StringScanI
 Text Analyzer. More...
 
class  SubdivideOp
 
class  SurfaceAttrConformOp
 
class  SurfaceAttrCopyOp
 
class  SurfaceAttrCreateOp
 
class  SurfaceAttrLabOp
 
class  SurfaceAttrRampOp
 
class  SurfaceBindOp
 
class  SurfaceCopyOp
 
class  SurfaceDrawOp
 
class  SurfaceMetricOp
 
class  SurfaceNormalOp
 
class  SurfacePoint
 
class  SurfaceProxyOp
 
class  SurfaceSampleOp
 
class  SurfaceSummaryOp
 
class  SurfaceViewerOp
 
class  SurfaceWalkOp
 
class  SurfaceWaveOp
 
class  SurfaceWrapCLOp
 
class  SurfaceWrapOp
 
class  Surveillance
 
class  SwayCLOp
 
class  Swim
 
class  System
 System call wrappers. More...
 
class  SystemTicker
 High precision timer. More...
 
class  Terrain
 
class  Theater
 
class  Thrust
 
class  Tick
 
class  Tracker
 Watches the usage of reference counted objects. More...
 
class  TransformManipulator
 
class  TreeLevel
 
class  TreeOp
 
class  TreeSeed
 
class  TubeOp
 
class  TwistBindOp
 
class  TwistWrapOp
 
class  Type
 A class to associate functionality with run time types. More...
 
class  TypeInfo
 C++ type_info wrapper. More...
 
class  TypeMaster
 Run time C++ type management. More...
 
class  UnitRepulse
 
class  UnitTest
 Counts success and failures in a style similar to assertions. More...
 
class  UnitThrust
 Dummy test object. More...
 
class  UnveilOp
 
class  ValidateOp
 
class  ValueManipulator
 
class  Vector
 Dense vector - size fixed by template. More...
 
class  Vector< 4, T >
 Partially specialized 4-component vector intended for spatial use. More...
 
class  Vector< FE_VDIM, F32 >
 Fully specialized 3 or 4 component F32 vector using GNU SIMD. More...
 
class  VeilOp
 
class  VideoRecorder
 
class  viewerAS
 
class  WayPathOp
 
class  WayPointOp
 
class  WayRestraintOp
 
class  WeakRecordAV
 Non-persistent reference to an instance of a Layout. More...
 
class  WeakRecordSB
 Non-persistent reference to an instance of a Layout. More...
 
class  windowAS
 
class  WindowController
 
class  WindowPipeline
 
class  WorldPipeline
 
class  WorldWindow
 
class  xClient
 
class  xDataPrimer
 
class  xDataui
 
class  xFloat
 
class  xImage
 
class  xRay
 
class  xRayBox
 
class  XRayOp
 
class  xSansGroups
 
class  xScope
 
class  xServer
 
class  xSurface
 
class  xTerrain
 
class  xTree
 
class  xTriangle
 
class  xTurtle
 
class  xViewer
 
class  xWeakRecord
 
class  xWorld
 

Typedefs

typedef double t_solve_real
 
typedef Vector< 2, t_solve_real > t_solve_v2
 
typedef Vector< 3, t_solve_real > t_solve_v3
 
typedef Matrix< 3, 3, t_solve_real > t_solve_matrix
 
typedef Matrix< 2, 2, t_solve_real > t_solve_m2
 
typedef std::map< String, Stringt_mapStrStr
 
typedef Array< Stringt_vecstring
 
typedef std::deque< Stringt_dequestring
 
typedef std::type_info fe_type_info
 
typedef AutoHashMap< TypeInfo, sp< BaseType > > type_info_map
 
typedef AutoHashMap< String, sp< BaseType > > string_type_map
 
typedef AutoHashMap< sp< BaseType >, Stringtype_string_map
 
typedef AutoHashMap< sp< BaseType >, sp< TypeConversion > > out_converter_map
 
typedef AutoHashMap< sp< BaseType >, out_converter_map > in_out_converter_map
 
typedef LayoutAV LayoutDefault
 
typedef RecordSB Record
 
typedef RecordSBInfo RecordInfo
 
typedef RecordArraySB RecordArray
 
typedef PtrRecordArraySBInfo PtrRecordArrayInfo
 
typedef sp< RecordArrayAVRecordArrayAVPtr
 
typedef HashMap< FE_UWORD, IWORD, hash_av, eq_av > t_av_map
 
typedef sp< RecordArraySBRecordArraySBPtr
 
typedef HashMap< void *, IWORD, hash_sb_pointer, eq_sb_pointer > t_sb_map
 
typedef sp< RecordGroupRecordGroupPtr
 
typedef std::map< hp< Layout >, sp< RecordArray > > t_layout_ra
 
typedef std::map< BaseAccessor, sp< WatcherI > > t_attribute_watcher
 
typedef std::set< sp< WatcherI > > t_watchers
 
typedef std::list< BaseAccessorFilterList
 
typedef std::map< sp< RecordGroup >, sp< RecordGroup > > t_srcrg_dstrg
 
typedef std::map< RecordSB, RecordSBt_srcr_dstr
 
typedef AutoHashMap< String, Array< String > > StringStringsMap
 
typedef AutoHashMap< hp< Layout >, sp< StoreI > > layout_store_map
 
typedef Array< sp< Attribute > > t_attributes
 Attribute collection. More...
 
typedef std::list< sp< Depend > > t_depends
 Depend collection. More...
 
typedef Array< hp< Layout > > t_layouts
 Layout collection. More...
 
typedef std::map< String, unsigned int > t_indexmap
 
typedef std::map< Attribute *, unsigned int > t_attrmap
 
typedef WeakRecordSB WeakRecord
 
typedef WeakRecordSBInfo WeakRecordInfo
 
typedef SpatialVector t_two_vecs[2]
 
typedef Barycenter< Real > SpatialBary
 
typedef Box< 2, I32 > Box2i
 
typedef Box< 2, F32 > Box2f
 
typedef Box< 2, F64 > Box2d
 
typedef Box< 2, Real > Box2
 
typedef Box< 3, F32 > Box3f
 
typedef Box< 3, F64 > Box3d
 
typedef Box< 3, Real > Box3
 
typedef Box< 3, Real > SpatialBox
 
typedef Euler< F32 > Eulerf
 
typedef Euler< F64 > Eulerd
 
typedef Euler< Real > SpatialEuler
 
typedef Vector< 3, Real > SpatialVector
 
typedef Matrix< 3, 3, Real > SpatialMatrix
 
typedef Matrix< 3, 4, F32 > Matrix3x4f
 
typedef Matrix< 3, 4, F64 > Matrix3x4d
 
typedef Matrix< 3, 4, Real > SpatialTransform
 
typedef OrthonormalBasis< F32 > OrthonormalBasisf
 
typedef OrthonormalBasis< F64 > OrthonormalBasisd
 
typedef OrthonormalBasis< Real > SpatialBasis
 
typedef Quaternion< F32 > Quaternionf
 
typedef Quaternion< F64 > Quaterniond
 
typedef Quaternion< Real > SpatialQuaternion
 
typedef Vector< 2, double > Vector2d
 
typedef Vector< 2, float > Vector2f
 
typedef Vector< 2, FE_UWORD > Vector2u
 
typedef Vector< 2, I32 > Vector2i
 
typedef Vector< 2, Real > Vector2
 
typedef Vector< 3, double > Vector3d
 
typedef Vector< 3, float > Vector3f
 
typedef Vector< 3, FE_UWORD > Vector3u
 
typedef Vector< 3, int > Vector3i
 
typedef Vector< 3, Real > Vector3
 
typedef Vector< 4, F64 > Vector4d
 
typedef Vector< 4, F32 > Vector4f
 
typedef Vector< 4, FE_UWORD > Vector4u
 
typedef Vector< 4, int > Vector4i
 
typedef Vector< 4, Real > Vector4
 
typedef float Real
 
typedef Real t_real
 
typedef std::vector< I32 > t_vecint
 
typedef std::vector< t_real > t_vecreal
 
typedef Logt_logptr
 
typedef void *FE_CDECL allocateFunction(FE_UWORD byteCount)
 
typedef void *FE_CDECL reallocateFunction(void *pMemory, FE_UWORD byteCount)
 
typedef void *FE_CDECL MutexInitFunction(bool a_recursive)
 
typedef void * a_pRawMutex
 
typedef void bool a_un
 
typedef void bool bool a_try
 
typedef void bool bool bool a_readOnly
 
typedef void *FE_CDECL MutexGuardInitFunction(bool a_recursive, void *a_pRawMutex, bool a_readOnly)
 
typedef void * a_pRawGuard
 
typedef void *FE_CDECL MutexConditionInitFunction(void)
 
typedef bool a_recursive
 
typedef bool a_all
 
typedef void *FE_CDECL RegexInitFunction(const char *a_pattern)
 
typedef void *FE_CDECL RegexMatchFunction(void *a_expression, const char *a_candidate)
 
typedef const char *FE_CDECL RegexResultFunction(void *a_result, U32 a_index)
 
typedef void *FE_CDECL RegexReplaceFunction(void *a_expression, const char *a_candidate, const char *a_replacement)
 
typedef void *FE_CDECL ThreadDefaultInitFunction(void)
 
typedef void *FE_CDECL ThreadInitFunction(void *a_pFunctor)
 
typedef String a_property
 
typedef String String a_value
 
typedef void *FE_CDECL ThreadGroupInitFunction(void)
 
typedef void *FE_CDECL ThreadGroupCreateFunction(void *a_pRawThreadGroup, void *a_pFunctor)
 

Enumerations

enum  Axis {
  e_xAxis =0x00,
  e_yAxis =0x01,
  e_zAxis =0x02
}
 
enum  Result {
  e_ok =0x00000000,
  e_cancel,
  e_poison,
  e_alreadyAvailable,
  e_undefinedFailure =FE_FAILURE,
  e_unsupported,
  e_refused,
  e_outOfMemory,
  e_invalidFile,
  e_invalidHandle,
  e_invalidPointer,
  e_invalidRange,
  e_notInitialized,
  e_cannotChange,
  e_aborted,
  e_writeFailed,
  e_readFailed,
  e_cannotFind,
  e_cannotCreate,
  e_unsolvable,
  e_impossible,
  e_usage,
  e_system,
  e_typeMismatch,
  e_corrupt
}
 Generalized return value indicating success or failure, and why. More...
 

Functions

String print (ext::DrawMode::DrawStyle a_drawStyle)
 
String print (ext::DrawMode::Coloring a_coloring)
 
String print (const sp< ext::DrawMode > spDrawMode)
 
FE_DL_EXPORT void assertMaya (sp< TypeMaster > spTypeMaster)
 
LibraryCreateMechanicsLibrary (sp< Master > spMaster)
 
const t_solve_v3 solveZeroVector (0.0, 0.0, 0.0)
 
String print (const ext::WindowEvent &event)
 
template<typename P >
void wavefrontPotential (Continuum< P > &a_potential, sp< StepCostI > a_costFn, const SpatialVector &a_target, const P &a_max, const P &a_min)
 
void assertCore (sp< TypeMaster > spTypeMaster)
 
template<typename T >
const fe_type_info & getTypeId (void)
 
template<typename T >
void deleteByType (T t)
 
void deleteByType (void *pT)
 
template<typename T >
void deleteByType (T *pT)
 
template<typename T >
void deleteByType (T **ppT)
 
template<typename T >
defaultByType (T t)
 
template<typename T >
T * defaultByType (T *pT)
 
void skip (std::istream &istrm, FE_UWORD cnt)
 
void output (std::ostream &ostrm, const String &s)
 
void output (std::ostream &ostrm, U8 u8)
 
void output (std::ostream &ostrm, U32 u32)
 
void output (std::ostream &ostrm, I32 i32)
 
void input (std::istream &istrm, String &s)
 
void input (std::istream &istrm, U8 &u8)
 
void input (std::istream &istrm, U32 &u32)
 
void input (std::istream &istrm, I32 &i32)
 
void milliSleep (long milliseconds)
 Sleep the current process for the given number of milliseconds. More...
 
void microSleep (long microseconds)
 Sleep the current process for the given number of microseconds. More...
 
void minimumSleep (long microseconds=1)
 Sleep the current process for the given number of microseconds or the minimum that the OS can resolve, whichever is larger. More...
 
void nanoSpin (long nanoseconds)
 Delay the current thread for the given number of nanoseconds. More...
 
unsigned long systemTick (void)
 Sleep the current thread for the given number of seconds and nanoseconds. More...
 
unsigned long systemMicroseconds (void)
 Get the high precision microsecond timer. More...
 
template<class T >
sp< BaseTypeassertType (sp< TypeMaster > spTypeMaster, const String &name)
 
FE_DL_EXPORT LibraryCreateDataLibrary (sp< Master > spMaster)
 
bool operator< (const RecordAV &lhs, const RecordAV &rhs)
 
bool operator< (const RecordSB &lhs, const RecordSB &rhs)
 
void assertData (sp< TypeMaster > spTypeMaster)
 
BWORD intersectRaySphere (Real *a_collisionDistance, const SpatialVector &a_rayRoot, const SpatialVector &a_rayDirection, const SpatialVector &a_sphereCenter, const Real &a_sphereRadius)
 
BWORD intersectLinePlane (SpatialVector &a_intersection, BWORD a_loBound, BWORD a_hiBound, const SpatialVector &a_lineLo, const SpatialVector &a_lineHi, const SpatialVector &a_pointOnPlane, const SpatialVector &a_planeNormal)
 
BWORD intersectRayPlane (SpatialVector &a_intersection, const SpatialVector &a_lineLo, const SpatialVector &a_lineHi, const SpatialVector &a_pointOnPlane, const SpatialVector &a_planeNormal)
 
BWORD intersectLineTriangle (SpatialVector &a_intersection, BWORD a_loBound, BWORD a_hiBound, const SpatialVector &a_lineLo, const SpatialVector &a_lineHi, const SpatialVector &a_triA, const SpatialVector &a_triB, const SpatialVector &a_triC, const SpatialVector &a_triNormal)
 
BWORD intersectRayTriangle (SpatialVector &a_intersection, const SpatialVector &a_lineLo, const SpatialVector &a_lineHi, const SpatialVector &a_triA, const SpatialVector &a_triB, const SpatialVector &a_triC)
 
BWORD intersectTrianglePlane (SpatialVector &a_intersectionA, SpatialVector &a_intersectionB, const SpatialVector &a_triA, const SpatialVector &a_triB, const SpatialVector &a_triC, const SpatialVector &a_pointOnPlane, const SpatialVector &a_planeNormal)
 
BWORD sideCheck (const SpatialVector &a_p1, const SpatialVector &a_p2, const SpatialVector &a_a, const SpatialVector &a_b)
 
BWORD pointInTriangle (const SpatialVector &a_point, const SpatialVector &a_triA, const SpatialVector &a_triB, const SpatialVector &a_triC)
 
BWORD triangleDuDv (SpatialVector &a_du, SpatialVector &a_dv, const SpatialVector &a_point0, const SpatialVector &a_point1, const SpatialVector &a_point2, const Vector2 &a_uv0, const Vector2 &a_uv1, const Vector2 &a_uv2)
 
BWORD tangentFromDuDvN (Vector< 3, Real > &a_tangent, const Vector< 3, Real > &a_du, const Vector< 3, Real > &a_dv, const Vector< 3, Real > &a_normal)
 
void randomRealSeed (const U32 &a_seed)
 
Real randomReal (const Real &a_min, const Real &a_max)
 
Real randomRealReentrant (U32 *a_pSeed, const Real &a_min, const Real &a_max)
 
FE_DL_PUBLIC BWORD triangleDuDv (Vector< 3, Real > &a_du, Vector< 3, Real > &a_dv, const Vector< 3, Real > &a_point0, const Vector< 3, Real > &a_point1, const Vector< 3, Real > &a_point2, const Vector2 &a_uv0, const Vector2 &a_uv1, const Vector2 &a_uv2)
 
void assertMath (sp< TypeMaster > spTypeMaster)
 
template<class T , typename U , typename V , typename W >
Barycenter< T > & set (Barycenter< T > &a_lhs, U a_b0, V a_b1, W a_b2)
 
template<class T , typename U , typename V , typename W >
Vector< 3, T > location (const Barycenter< T > &a_barycenter, const Vector< 3, U > &a_vert0, const Vector< 3, V > &a_vert1, const Vector< 3, W > &a_vert2)
 
const Box3 aabb (const Vector3f &location, const Vector3f &span, F32 baseRadius, F32 endRadius)
 
const Box3 aabb (const Vector3f &location, F32 radius)
 
Colorset (Color &lhs)
 
template<typename U >
Colorset (Color &lhs, U r)
 
template<typename U , typename V >
Colorset (Color &lhs, U r, V g)
 
template<typename U , typename V , typename W >
Colorset (Color &lhs, U r, V g, W b)
 
template<class T >
minimum (T a, T b)
 
template<class T >
maximum (T a, T b)
 
template<class T >
clamp (T a, T lo, T hi)
 
template<class T >
clampmax (T a, T hi)
 
template<class T >
clampmin (T a, T lo)
 
template<class T >
sign (T a)
 
template<typename T , typename U >
bool isZero (T a_value, U a_tolerance)
 
template<typename T >
bool isZeroV3 (const Vector< 3, T > &a_vec, T a_tolerance)
 
template<typename T >
bool isZero (T a_value)
 
bool isZero (const Vector< 3, double > &a_vec)
 
bool isZero (const Vector< 3, float > &a_vec)
 
const SpatialVector zeroVector (Real(0), Real(0), Real(0))
 
template<int M, int N, class T >
Matrix< M, N, T > & set (Matrix< M, N, T > &matrix)
 
template<int M, int N, class T , class U >
Matrix< M, N, T > & set (Matrix< M, N, T > &matrix, const U *pArray)
 
template<int M, int N, class T , class U >
Matrix< M, N, T > & setAll (Matrix< M, N, T > &matrix, const U value)
 
template<int M, int N, class T >
void squareroot (Matrix< M, N, T > &a_U, const Matrix< M, N, T > &a_A)
 Square root of a matrix. More...
 
template<int M, int N, class T >
void backSub (const Matrix< M, N, T > &a_A, Vector< N, T > &a_x, const Vector< N, T > &a_b)
 
template<int M, int N, class T >
void transposeForeSub (const Matrix< M, N, T > &a_A, Vector< N, T > &a_x, const Vector< N, T > &a_b)
 
template<typename T >
Matrix< 4, 4, T > & osg_invert (Matrix< 4, 4, T > &a_inverted, const Matrix< 4, 4, T > &a_matrix)
 4x4 invert More...
 
template<typename T >
determinant3x3 (T a1, T a2, T a3, T b1, T b2, T b3, T c1, T c2, T c3)
 
template<typename T >
determinant (const Matrix< 4, 4, T > &m)
 
template<typename T >
Matrix< 4, 4, T > & jad_invert (Matrix< 4, 4, T > &a_inverted, const Matrix< 4, 4, T > &a_matrix)
 
template<typename T >
Matrix< 4, 4, T > & brk_invert (Matrix< 4, 4, T > &a_inverted, const Matrix< 4, 4, T > &a_matrix)
 
template<typename T >
Matrix< 4, 4, T > & invert (Matrix< 4, 4, T > &a_inverted, const Matrix< 4, 4, T > &a_matrix)
 4x4 full matrix inversion More...
 
template<typename T >
Matrix< 3, 3, T > & invert (Matrix< 3, 3, T > &a_inverted, const Matrix< 3, 3, T > &a_matrix)
 3x3 matrix inversion More...
 
template<typename T >
bool inverted (Matrix< 3, 3, T > &a_inverted, const Matrix< 3, 3, T > &a_matrix)
 
template<typename T >
Matrix< 4, 4, T > perspective (T fovy, T aspect, T nearplane, T farplane)
 Create perspective projection transform just like gluPerspective. More...
 
template<typename T >
void decomposePerspective (const Matrix< 4, 4, T > &a_rProjection, T &a_rFovy, T &a_rAspect, T &a_rNearplane, T &a_rFarplane)
 Try to extract settings of a perspective matrix. More...
 
template<typename T >
Matrix< 4, 4, T > ortho (T left, T right, T bottom, T top, T near_val, T far_val)
 Create orthogonal projection transform just like glOrtho. More...
 
template<typename T >
void project (Vector< 4, T > &a_r, const Matrix< 4, 4, T > &a_m, const Vector< 4, T > &a_v)
 project vector through matrix. divides by transformed w More...
 
template<typename T >
void transformVector (const Matrix< 4, 4, T > &a_m, const Vector< 4, T > &a_v, Vector< 4, T > &a_r)
 
template<typename T >
void transposeTransformVector (const Matrix< 4, 4, T > &a_m, const Vector< 4, T > &a_v, Vector< 4, T > &a_r)
 
template<int N, class T >
Matrix< N, N, T > & outerProduct (Matrix< N, N, T > &result, const Vector< N, T > &a, const Vector< N, T > &b)
 
BWORD makeFrame (SpatialTransform &a_frame, const SpatialVector &a_0, const SpatialVector &a_1, const SpatialVector &a_2, const SpatialVector &a_offset)
 
BWORD makeFrame (SpatialTransform &a_frame, const SpatialVector &a_0, const SpatialVector &a_1, const SpatialVector &a_2, const SpatialTransform &a_transform)
 
BWORD makeFrame (SpatialTransform &a_frame, const SpatialVector &a_location, const SpatialVector &a_direction, const SpatialVector &a_up)
 
BWORD makeFrameCameraZ (SpatialTransform &a_frame, const SpatialVector &a_location, const SpatialVector &a_yDir, const SpatialVector &a_cameraZ)
 
BWORD makeFrameTangentX (SpatialTransform &a_frame, const SpatialVector &a_location, const SpatialVector &a_tangentX, const SpatialVector &a_normalY)
 
BWORD makeFrameNormalY (SpatialTransform &a_frame, const SpatialVector &a_location, const SpatialVector &a_tangentX, const SpatialVector &a_normalY)
 
BWORD makeFrameNormalZ (SpatialTransform &a_frame, const SpatialVector &a_location, const SpatialVector &a_tangentX, const SpatialVector &a_normalZ)
 
template<typename T >
Matrix< 3, 4, T > & setIdentity (Matrix< 3, 4, T > &lhs)
 
template<int N, typename T >
Vector< N, T > rotateVector (const Matrix< 3, 4, T > &lhs, const Vector< N, T > &in)
 
template<int N, typename T >
Vector< N, T > inverseRotateVector (const Matrix< 3, 4, T > &lhs, const Vector< N, T > &in)
 
template<int N, typename T >
Vector< N, T > transformVector (const Matrix< 3, 4, T > &lhs, const Vector< N, T > &in)
 
template<int N, typename T >
Vector< N, T > inverseTransformVector (const Matrix< 3, 4, T > &lhs, const Vector< N, T > &in)
 
template<typename T >
void setColumn (int i, Matrix< 3, 4, T > &lhs, const Vector< 3, T > &v)
 
template<typename T >
void getColumn (int i, const Matrix< 3, 4, T > &lhs, Vector< 3, T > &v)
 
template<typename T , typename U >
Matrix< 3, 4, T > & scaleAll (Matrix< 3, 4, T > &lhs, U scalefactor)
 
template<typename T , typename U , int N>
Matrix< 3, 4, T > & scale (Matrix< 3, 4, T > &lhs, Vector< N, U > scalefactor)
 
template<typename T , typename U >
Matrix< 3, 4, T > & scale (Matrix< 3, 4, T > &lhs, Vector< 2, U > scalefactor)
 
template<typename T , typename U >
Matrix< 3, 4, T > & scale (Matrix< 3, 4, T > &lhs, Vector< 1, U > scalefactor)
 
template<int M, int N, class T >
void copy (Matrix< 3, 4, T > &lhs, const Matrix< M, N, T > &rhs)
 
template<int M, int N, class T >
void copy (Matrix< M, N, T > &lhs, const Matrix< 3, 4, T > &rhs)
 
template<typename T >
determinant (const Matrix< 3, 4, T > &matrix)
 
template<class T >
Matrix< 3, 4, T > operator* (const Matrix< 3, 4, T > &left, const Matrix< 3, 4, T > &right)
 
FE_DL_PUBLIC BWORD makeFrame (SpatialTransform &a_frame, const Vector< 3, Real > &a_0, const Vector< 3, Real > &a_1, const Vector< 3, Real > &a_2, const Vector< 3, Real > &a_offset)
 
FE_DL_PUBLIC BWORD makeFrame (SpatialTransform &a_frame, const Vector< 3, Real > &a_0, const Vector< 3, Real > &a_1, const Vector< 3, Real > &a_2, const SpatialTransform &a_transform)
 
FE_DL_PUBLIC BWORD makeFrame (SpatialTransform &a_frame, const Vector< 3, Real > &a_location, const Vector< 3, Real > &a_direction, const Vector< 3, Real > &a_up)
 
FE_DL_PUBLIC BWORD makeFrameCameraZ (SpatialTransform &a_frame, const Vector< 3, Real > &a_location, const Vector< 3, Real > &a_yDir, const Vector< 3, Real > &a_cameraZ)
 
FE_DL_PUBLIC BWORD makeFrameTangentX (SpatialTransform &a_frame, const Vector< 3, Real > &a_location, const Vector< 3, Real > &a_tangentX, const Vector< 3, Real > &a_normalY)
 
FE_DL_PUBLIC BWORD makeFrameNormalY (SpatialTransform &a_frame, const Vector< 3, Real > &a_location, const Vector< 3, Real > &a_tangentX, const Vector< 3, Real > &a_normalY)
 
FE_DL_PUBLIC BWORD makeFrameNormalZ (SpatialTransform &a_frame, const Vector< 3, Real > &a_location, const Vector< 3, Real > &a_tangentX, const Vector< 3, Real > &a_normalZ)
 
SpatialQuaternion stepVelocity (const SpatialQuaternion &previous, const SpatialQuaternion &desired, Real deltaT, Real maxVelocity, Real maxAcceleration)
 Return a new velocity based on desired change and constraints. More...
 
template<typename T >
void rotateVector (const Quaternion< T > &lhs, const Vector< 3, T > &in, Vector< 3, T > &out)
 
template<typename T >
void rotateXVector (const Quaternion< T > &lhs, Real x, Vector< 3, T > &out)
 
template<typename T >
void rotateYVector (const Quaternion< T > &lhs, Real y, Vector< 3, T > &out)
 
template<typename T >
void rotateZVector (const Quaternion< T > &lhs, Real z, Vector< 3, T > &out)
 
template<class T >
Real removeTwistAboutX (Quaternion< T > &rRotation)
 
template<class T >
Real removeTwistAboutY (Quaternion< T > &rRotation)
 
template<class T >
Real removeTwistAboutZ (Quaternion< T > &rRotation)
 
template<typename T >
BWORD checkValid (const T &a_value)
 
template<typename T >
void confirmValid (const T &a_value)
 
BWORD checkValid (const F32 &a_value)
 
void confirmValid (const F32 &a_value)
 
BWORD checkValid (const F64 &a_value)
 
void confirmValid (const F64 &a_value)
 
template<int N, typename T >
BWORD checkValid (const Vector< N, T > &a_vector)
 
template<int N, typename T >
void confirmValid (const Vector< N, T > &a_vector)
 
template<int N>
BWORD checkValid (const Vector< N, F32 > &a_vector)
 
template<int N>
void confirmValid (const Vector< N, F32 > &a_vector)
 
template<int N>
BWORD checkValid (const Vector< N, F64 > &a_vector)
 
template<int N>
void confirmValid (const Vector< N, F64 > &a_vector)
 
template<typename T >
void maybeConfirmValid (const T &a_value)
 
template<class T >
Vector< 2, T > & set (Vector< 2, T > &lhs)
 
template<class T , typename U , typename V >
Vector< 2, T > & set (Vector< 2, T > &lhs, U x, V y=0.0)
 
template<class T >
Vector< 2, T > operator+ (const Vector< 2, T > &lhs, const Vector< 2, T > &rhs)
 
template<class T >
Vector< 2, T > operator- (const Vector< 2, T > &lhs, const Vector< 2, T > &rhs)
 
template<class T >
void polyInterp (const Array< Vector< 2, T > > &a_xy, const T &a_x, T &a_y, T &a_dy)
 
template<class T >
Vector< 3, T > & cross3 (Vector< 3, T > &r, const Vector< 3, T > &lhs, const Vector< 3, T > &rhs)
 
template<class T >
Vector< 3, T > cross3 (const Vector< 3, T > &lhs, const Vector< 3, T > &rhs)
 
template<class T >
Vector< 3, T > & cross (Vector< 3, T > &r, const Vector< 3, T > &lhs, const Vector< 3, T > &rhs)
 
template<class T >
Vector< 3, T > cross (const Vector< 3, T > &lhs, const Vector< 3, T > &rhs)
 
template<class T >
Vector< 3, T > & set (Vector< 3, T > &lhs)
 
template<class T , typename U >
Vector< 3, T > & set (Vector< 3, T > &lhs, U x)
 
template<class T , typename U , typename V >
Vector< 3, T > & set (Vector< 3, T > &lhs, U x, V y)
 
template<class T , typename U , typename V , typename W >
Vector< 3, T > & set (Vector< 3, T > &lhs, U x, V y, W z)
 
void fe_memory_lock (void)
 
void fe_memory_unlock (void)
 
FE_DL_EXPORT void *FE_CDECL ex_allocate (FE_UWORD byteCount)
 
FE_DL_EXPORT void *FE_CDECL ex_reallocate (void *pMemory, FE_UWORD byteCount)
 
FE_DL_EXPORT void FE_CDECL ex_deallocate (void *pMemory)
 
FE_DL_PUBLIC void intrusive_ptr_add_ref (Log *a_log)
 
FE_DL_PUBLIC void intrusive_ptr_release (Log *a_log)
 
void vsPrintf (std::string &target, const char *fmt, va_list ap, int &size)
 Format text into a fe::String. More...
 
DualString errorDualString (int errnum)
 Return a string for an FE_ERRNO code. More...
 
BWORD operator== (const DualString &s1, const DualString &s2)
 Compare two DualString's. More...
 
BWORD operator== (const char *s1, const DualString &s2)
 Compare a byte buffer to an DualString. More...
 
BWORD operator== (const DualString &s1, const char *s2)
 Compare an DualString to a byte buffer. More...
 
BWORD operator!= (const DualString &s1, const DualString &s2)
 Compare two DualString's (reverse logic) More...
 
BWORD operator!= (const char *s1, const DualString &s2)
 Compare a byte buffer to an DualString (reverse logic) More...
 
BWORD operator!= (const DualString &s1, const char *s2)
 Compare an DualString to a byte buffer (reverse logic) More...
 
DualString operator+ (const DualString &s1, const DualString &s2)
 
String print (const Exception &a_rException)
 
typedef void (FE_CDECL deallocateFunction)(void *pMemory)
 
void * allocate (FE_UWORD byteCount)
 
void deallocate (void *pMemory)
 
void * reallocate (void *pMemory, FE_UWORD byteCount)
 
FE_DL_EXPORT void FE_CDECL setAllocateFunction (allocateFunction *p_fn)
 
FE_DL_EXPORT void FE_CDECL setDeallocateFunction (deallocateFunction *p_fn)
 
typedef bool (FE_CDECL MutexLockFunction)(bool a_recursive
 
void * ompmutex_init (bool a_recursive)
 
bool ompmutex_lock (bool a_recursive, void *a_pMutex, bool a_un, bool a_try, bool a_readOnly)
 
void ompmutex_finish (bool a_recursive, void *a_pMutex)
 
void * ompguard_init (bool a_recursive, void *a_pMutex, bool a_readOnly)
 
bool ompguard_lock (bool a_recursive, void *a_pGuard, bool a_un, bool a_try, bool a_readOnly)
 
void ompguard_finish (bool a_recursive, void *a_pGuard, bool a_readOnly)
 
void * ompcondition_init (void)
 
bool ompcondition_wait (void *a_pCondition, bool a_recursive, void *a_pGuard, bool a_readOnly)
 
bool ompcondition_notify (void *a_pCondition, bool a_all)
 
void ompcondition_finish (void *a_pCondition)
 
FE_DL_EXPORT bool omp_mutex_init (void)
 
void * ompthread_default_init (void)
 
void * ompthread_init (void *a_pFunctor)
 
void ompthread_interrupt (void *a_pThread)
 
void ompthread_join (void *a_pThread)
 
void ompthread_finish (void *a_pThread)
 
void ompthread_interruption (void)
 
int ompthread_concurrency (void)
 
void * ompgroup_init (void)
 
void * ompgroup_create (void *a_pThreadGroup, void *a_pFunctor)
 
void ompgroup_join_all (void *a_pThreadGroup)
 
void ompgroup_finish (void *a_pThreadGroup)
 
FE_DL_EXPORT bool omp_thread_init (void)
 
float compute_dpi (void)
 
float determine_multiplication (Real a_dpi)
 
const char * resultString (Result result)
 Return a string for a result code. More...
 
BWORD successful (Result result)
 Returns TRUE if the result value indicates a success. More...
 
BWORD failure (Result result)
 Returns TRUE if the result value indicates a failure. More...
 
String errorString (int errnum)
 Return a string for an FE_ERRNO code. More...
 
void * fe_memrchr (const void *s, int c, size_t n)
 
BWORD operator== (const String &s1, const String &s2)
 Compare two String's. More...
 
BWORD operator== (const char *s1, const String &s2)
 Compare a byte buffer to an String. More...
 
BWORD operator== (const String &s1, const char *s2)
 Compare an String to a byte buffer. More...
 
BWORD operator!= (const String &s1, const String &s2)
 Compare two String's (reverse logic) More...
 
BWORD operator!= (const char *s1, const String &s2)
 Compare a byte buffer to an String (reverse logic) More...
 
BWORD operator!= (const String &s1, const char *s2)
 Compare an String to a byte buffer (reverse logic) More...
 
String operator+ (const String &s1, const String &s2)
 
String operator+ (const String &s1, const int &i)
 
String operator+ (const int &i, const String &s1)
 
String operator+ (const String &s1, const float &f)
 
String operator+ (const float &f, const String &s1)
 
String print (const String &a_rString)
 
String print (char *a_buffer)
 
String print (U32 a_integer)
 
String print (I32 a_integer)
 
String print (F32 a_float)
 
String print (F64 a_double)
 
typedef int (FE_CDECL ThreadConcurrencyFunction)(void)
 
template<class T >
fe::String FE_CDECL fe_type_name ()
 
void assertPlugin (sp< TypeMaster > spTypeMaster)
 
template<class T >
sp< T > component_cast (sp< Component > spC)
 

Variables

Real epsilon = 1.0
 
const EpsilonCalc epscalc
 
const Real pi =Real(M_PI)
 
const Real degToRad =fe::pi/Real(180)
 
const Real radToDeg =Real(180)/fe::pi
 
const Real tol =1e-5f
 
FE_DL_PUBLIC FE_DL_EXPORT RegexInitFunction * gs_fnRegexInit =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT RegexMatchFunction * gs_fnRegexMatch =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT RegexMatchFunction * gs_fnRegexSearch =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT RegexResultFunction * gs_fnRegexResult =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT RegexReplaceFunction * gs_fnRegexReplace =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT RegexFinishFunction * gs_fnRegexFinish =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT RegexReleaseFunction * gs_fnRegexRelease =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT BWORD gs_regexChecked =FALSE
 
FE_DL_PUBLIC FE_DL_EXPORT MutexInitFunction * gs_fnMutexInit =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT MutexLockFunction * gs_fnMutexLock =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT MutexFinishFunction * gs_fnMutexFinish =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT MutexGuardInitFunction * gs_fnMutexGuardInit =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT MutexGuardLockFunction * gs_fnMutexGuardLock =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT MutexGuardFinishFunction * gs_fnMutexGuardFinish =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT MutexConditionInitFunction * gs_fnMutexConditionInit =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT MutexConditionWaitFunction * gs_fnMutexConditionWait =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT MutexConditionNotifyFunction * gs_fnMutexConditionNotify =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT MutexConditionFinishFunction * gs_fnMutexConditionFinish =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT String gs_mutexSupport
 
FE_DL_PUBLIC FE_DL_EXPORT BWORD gs_mutexChecked =FALSE
 
FE_DL_PUBLIC FE_DL_EXPORT ThreadDefaultInitFunction * gs_fnThreadDefaultInit =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT ThreadInitFunction * gs_fnThreadInit =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT ThreadConfigFunction * gs_fnThreadConfig =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT ThreadInterruptFunction * gs_fnThreadInterrupt =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT ThreadJoinFunction * gs_fnThreadJoin =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT ThreadFinishFunction * gs_fnThreadFinish =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT ThreadInterruptionFunction * gs_fnThreadInterruption =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT ThreadConcurrencyFunction * gs_fnThreadConcurrency =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT ThreadGroupInitFunction * gs_fnThreadGroupInit =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT ThreadGroupCreateFunction * gs_fnThreadGroupCreate =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT ThreadGroupJoinAllFunction * gs_fnThreadGroupJoinAll =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT ThreadGroupFinishFunction * gs_fnThreadGroupFinish =NULL
 
FE_DL_PUBLIC FE_DL_EXPORT String gs_threadSupport
 
FE_DL_PUBLIC FE_DL_EXPORT BWORD gs_threadChecked =FALSE
 
allocateFunction * gs_pAllocateFunction
 
deallocateFunction * gs_pDeallocateFunction
 
reallocateFunction * gs_pReallocateFunction
 
void * gs_pHeapBase
 
I32 gs_newCheck
 

Detailed Description

kernel

Typedef Documentation

◆ t_attributes

Attribute collection.

◆ t_depends

typedef std::list< sp<Depend> > fe::t_depends

Depend collection.

◆ t_layouts

typedef Array< hp<Layout> > fe::t_layouts

Layout collection.

Function Documentation

◆ checkValid() [1/6]

template<typename T >
BWORD fe::checkValid ( const T &  a_value)
inline

◆ checkValid() [2/6]

BWORD fe::checkValid ( const F32 &  a_value)
inline

◆ checkValid() [3/6]

BWORD fe::checkValid ( const F64 &  a_value)
inline

◆ checkValid() [4/6]

template<int N, typename T >
BWORD fe::checkValid ( const Vector< N, T > &  a_vector)
inline

◆ checkValid() [5/6]

template<int N>
BWORD fe::checkValid ( const Vector< N, F32 > &  a_vector)
inline

◆ checkValid() [6/6]

template<int N>
BWORD fe::checkValid ( const Vector< N, F64 > &  a_vector)
inline

◆ confirmValid() [1/6]

template<typename T >
void fe::confirmValid ( const T &  a_value)
inline

Referenced by maybeConfirmValid().

◆ confirmValid() [2/6]

void fe::confirmValid ( const F32 &  a_value)
inline

References checkValid().

◆ confirmValid() [3/6]

void fe::confirmValid ( const F64 &  a_value)
inline

References checkValid().

◆ confirmValid() [4/6]

template<int N, typename T >
void fe::confirmValid ( const Vector< N, T > &  a_vector)
inline

◆ confirmValid() [5/6]

template<int N>
void fe::confirmValid ( const Vector< N, F32 > &  a_vector)
inline

◆ confirmValid() [6/6]

template<int N>
void fe::confirmValid ( const Vector< N, F64 > &  a_vector)
inline

◆ decomposePerspective()

template<typename T >
void fe::decomposePerspective ( const Matrix< 4, 4, T > &  a_rProjection,
T &  a_rFovy,
T &  a_rAspect,
T &  a_rNearplane,
T &  a_rFarplane 
)
inline

Try to extract settings of a perspective matrix.

◆ errorDualString()

DualString fe::errorDualString ( int  error)

Return a string for an FE_ERRNO code.

Referenced by operator!=().

◆ invert() [1/2]

template<typename T >
Matrix<4,4,T>& fe::invert ( Matrix< 4, 4, T > &  a_inverted,
const Matrix< 4, 4, T > &  a_matrix 
)
inline

4x4 full matrix inversion

References osg_invert().

Referenced by fe::Matrix< 3, 4, T >::copyTranslation().

◆ invert() [2/2]

template<typename T >
Matrix<3,3,T>& fe::invert ( Matrix< 3, 3, T > &  a_inverted,
const Matrix< 3, 3, T > &  a_matrix 
)
inline

3x3 matrix inversion

◆ maybeConfirmValid()

template<typename T >
void fe::maybeConfirmValid ( const T &  a_value)
inline

◆ operator!=() [1/6]

BWORD fe::operator!= ( const DualString s1,
const DualString s2 
)
inline

Compare two DualString's (reverse logic)

References fe::DualString::compare().

◆ operator!=() [2/6]

BWORD fe::operator!= ( const char *  s1,
const DualString s2 
)
inline

Compare a byte buffer to an DualString (reverse logic)

References fe::DualString::compare().

◆ operator!=() [3/6]

BWORD fe::operator!= ( const DualString s1,
const char *  s2 
)
inline

Compare an DualString to a byte buffer (reverse logic)

References fe::DualString::c_str(), fe::DualString::catf(), fe::DualString::compare(), and errorDualString().

◆ operator!=() [4/6]

BWORD fe::operator!= ( const String s1,
const String s2 
)
inline

Compare two String's (reverse logic)

References fe::String::equals().

◆ operator!=() [5/6]

BWORD fe::operator!= ( const char *  s1,
const String s2 
)
inline

Compare a byte buffer to an String (reverse logic)

◆ operator!=() [6/6]

BWORD fe::operator!= ( const String s1,
const char *  s2 
)
inline

Compare an String to a byte buffer (reverse logic)

References fe::String::c_str(), fe::String::cat(), fe::String::equals(), and fe::String::sPrintf().

◆ operator==() [1/6]

BWORD fe::operator== ( const DualString s1,
const DualString s2 
)
inline

◆ operator==() [2/6]

BWORD fe::operator== ( const char *  s1,
const DualString s2 
)
inline

Compare a byte buffer to an DualString.

References fe::DualString::compare().

◆ operator==() [3/6]

BWORD fe::operator== ( const DualString s1,
const char *  s2 
)
inline

Compare an DualString to a byte buffer.

References fe::DualString::compare().

◆ operator==() [4/6]

BWORD fe::operator== ( const String s1,
const String s2 
)
inline

Compare two String's.

References fe::String::equals().

◆ operator==() [5/6]

BWORD fe::operator== ( const char *  s1,
const String s2 
)
inline

Compare a byte buffer to an String.

◆ operator==() [6/6]

BWORD fe::operator== ( const String s1,
const char *  s2 
)
inline

Compare an String to a byte buffer.

References fe::String::equals().

◆ ortho()

template<typename T >
Matrix<4,4,T> fe::ortho ( left,
right,
bottom,
top,
near_val,
far_val 
)
inline

Create orthogonal projection transform just like glOrtho.

◆ osg_invert()

template<typename T >
Matrix<4,4,T>& fe::osg_invert ( Matrix< 4, 4, T > &  a_inverted,
const Matrix< 4, 4, T > &  a_matrix 
)
inline

4x4 invert

Referenced by invert().

◆ perspective()

template<typename T >
Matrix<4,4,T> fe::perspective ( fovy,
aspect,
nearplane,
farplane 
)
inline

Create perspective projection transform just like gluPerspective.

◆ project()

template<typename T >
void fe::project ( Vector< 4, T > &  a_r,
const Matrix< 4, 4, T > &  a_m,
const Vector< 4, T > &  a_v 
)
inline

project vector through matrix. divides by transformed w

Referenced by fe::ext::ViewCommon::screenInfo().

◆ squareroot()

template<int M, int N, class T >
void fe::squareroot ( Matrix< M, N, T > &  a_U,
const Matrix< M, N, T > &  a_A 
)
inline

Square root of a matrix.

This is a Cholesky Factorization: trans(U)*U = A

◆ stepVelocity()

FE_DL_PUBLIC SpatialQuaternion fe::stepVelocity ( const SpatialQuaternion previous,
const SpatialQuaternion desired,
Real  deltaT,
Real  maxVelocity,
Real  maxAcceleration 
)

Return a new velocity based on desired change and constraints.

Over the given delta time, tries to return desired change, but contrains the result using the previous velocity, maximum velocity and maximum acceleration.

The desired change is how far the velocity would take the angle in this frame if acceleration was infinite. The result may try to predict deceleration if the remaining change is relatively small with respect to the maxAcceleration.

Note that the use of quaternions limits angular values to 180 degrees, including velocity and acceleration (per second and second^2).

◆ vsPrintf()

void FE_DL_EXPORT fe::vsPrintf ( std::string &  target,
const char *  fmt,
va_list  ap,
int &  size 
)

Format text into a fe::String.