PeriDyno 1.0.0
Loading...
Searching...
No Matches
dyno Namespace Reference

This is an implementation of AdditiveCCD based on peridyno. More...

Namespaces

namespace  cgeo
 
namespace  Function2Pt
 
namespace  SemiAnalyticalScheme
 

Classes

class  Action
 
class  AdaptiveBoundary
 
class  AdaptiveVolumeToTriangleSet
 
class  Add
 
class  AdditiveCCD
 
class  AddRealAndReal
 
class  AnchorPointToPointSet
 
class  AnimationCurve
 
class  AnimationDriver
 
class  AnimationPipeline
 
class  AppBase
 
class  ApplyBumpMap2TriangleSet
 
class  ApproximateImplicitViscosity
 
class  Arithmetic
 
class  Array
 This class is designed to be elegant, so it can be directly passed to GPU as parameters. More...
 
class  Array2D
 
class  Array2D< T, DeviceType::CPU >
 
class  Array2D< T, DeviceType::GPU >
 
struct  Array2DInfo
 
class  Array3D
 
class  Array3D< T, DeviceType::CPU >
 
class  Array3D< T, DeviceType::GPU >
 
struct  Array3DInfo
 
class  Array< T, DeviceType::CPU >
 
class  Array< T, DeviceType::GPU >
 
class  ArrayList
 
class  ArrayList< ElementType, DeviceType::CPU >
 
class  ArrayList< ElementType, DeviceType::GPU >
 
class  ArrayList< T, DeviceType::GPU >
 
struct  ArrayListInfo
 
class  ArrayMap
 
class  ArrayMap< ElementType, DeviceType::CPU >
 
class  ArrayMap< ElementType, DeviceType::GPU >
 
class  ArrudaBoyceModel
 
class  ArticulatedBody
 
class  AssignFrameNumberAct
 
class  Attribute
 particle attribute 0x00000000: [31-30]material; [29]motion; [28]Dynamic; [27-8]undefined yet, for future use; [7-0]correspondding to the id of a fluid phase in multiphase fluid or an object in a multibody system More...
 
class  AutoLayoutDAG
 Automatic layout for directed acyclic graph Refer to "Sugiyama Algorithm" by Nikola S. Nikolov[2015] for details. More...
 
class  BackgroundRenderer
 
class  BallAndSocketJoint
 
class  BasicShape
 
class  BasicShapeToVolume
 
class  BBoxRenderer
 
struct  binary_function
 
struct  BitAndFunc
 
struct  BitOrFunc
 
struct  BitXorFunc
 
class  Bone
 
class  Bool
 
class  BoundaryConstraint
 
class  BoundingBoxOfTextureMesh
 A class to facilitate showing the shape information. More...
 
class  BoundingBoxToEdgeSet
 
struct  BoxInfo
 
class  Buffer
 
class  BufferCopy
 
class  BVHNode
 
class  CalculateBoundingBox
 A class implementation to calculate bounding box. More...
 
class  CalculateMaximum
 
class  CalculateMinimum
 
class  CalculateNorm
 
class  CalculateNormalSDF
 
class  Camera
 
class  Canvas
 
class  CapillaryWave
 
struct  CapsuleInfo
 
class  CapsuleModel
 
class  CarDriver
 
class  CircularEmitter
 
class  ClassInfo
 
struct  ClipVertex
 
class  Cloth
 Peridynamics-based cloth. More...
 
class  CodimensionalPD
 
class  CollisionDetection
 
class  CollisionDetectionBroadPhase
 
class  CollisionDetector
 
class  CollistionDetectionBoundingBox
 
class  CollistionDetectionTriangleSet
 
class  Color
 
class  ColorMapping
 
class  Complex
 
class  ComputeModule
 
class  ComputeParticleAnisotropy
 
class  ComputeSurfaceLevelset
 
class  ConeModel
 
class  ConfigurableBody
 
class  ConstantKernel
 
class  ConstraintModule
 
class  ConstructTangentSpace
 
class  ContactRule
 
class  ContactsToEdgeSet
 
class  ContactsToPointSet
 
class  ContactsUnion
 
class  ConvertToTextureMesh
 
class  CopyModel
 
class  CopyToPoint
 
class  CorrectedKernel
 
class  CoSemiImplicitHyperelasticitySolver
 
class  CTimer
 
class  CubeModel
 
class  CubicKernel
 
class  Curve
 
class  CylinderModel
 
class  DataSource
 
class  DataTypes
 
class  DebugInfo
 
struct  dim3
 
class  DirectedAcyclicGraph
 Graph class represents a directed graph. More...
 
class  DiscreteElementRenderer
 
class  DiscreteElements
 
class  DiscreteElementsToTriangleSet
 
class  DistanceField3D
 
class  DistanceJoint
 
class  DivergenceFreeSphSolver
 
class  Divide
 
struct  DivideFunc
 
class  DivideRealAndReal
 
class  DragSurfaceInteraction
 
class  DragVertexInteraction
 
class  DualParticleFluid
 
class  DualParticleIsphModule
 
class  DualParticleSystemInitializer
 
class  EarClipper
 
class  EdgeInteraction
 
class  EdgePickerNode
 
class  EdgeSet
 
class  EditableMesh
 
class  EigenValueWriter
 
class  EKey
 
class  ElasticBody
 
class  ElastoplasticBody
 
class  ElastoplasticityModule
 
struct  ElementOffset
 
class  EnergyAnalysis
 
struct  EnergyModels
 
class  Envmap
 
struct  EqualFunc
 
class  ExtractEdgeSetFromPolygonSet
 
class  ExtractQaudSetFromPolygonSet
 
class  ExtractShape
 A class to merge TextureMeshs. More...
 
class  ExtractTriangleSetFromPolygonSet
 
class  ExtrudeModel
 
class  FArray
 
class  FArray2D
 
class  FArray3D
 
class  FastMarchingMethodGPU
 this class implements a GPU-based fast marching method to do boolean between two distance fields. More...
 
class  FastSweepingMethod
 This is a CPU-based implementation of grid-based signed distance field (level set) generator for triangle meshes. For more details, please refer to Robert Bridson's website (www.cs.ubc.ca/~rbridson). More...
 
class  FastSweepingMethodGPU
 This is a GPU-based fast sweeping method to generate signed distance field from a mesh. More...
 
class  FBase
 
class  FCallBackFunc
 
class  FiberModel
 
struct  Field_Type
 
class  FieldSignal
 
class  FilePath
 
class  FInstance
 Pointer of objects. More...
 
class  FixedJoint
 
class  FixedPoints
 
class  FloatingNumber
 
struct  FluidSolverParams
 
class  FractureModule
 
class  Frame
 A frame represents a point equipped with the orientation. More...
 
class  Framebuffer
 
class  FrameToPointSet
 
class  FungModel
 
class  FVar
 
class  FVar< PEnum >
 Specialization for the field type of PEnum.
 
class  FXAA
 
struct  GatherVisualModuleAction
 
class  Gear
 
class  GeometryLoader
 
class  GhostFluid
 Ghost fluid method. More...
 
class  GhostParticles
 
class  GLCommonPointVisualNode
 
class  GlfwApp
 
class  GlfwRenderWindow
 
class  GLInstanceVisualModule
 
class  GLInstanceVisualNode
 
class  GLMaterial
 
class  GLPhotorealisticInstanceRender
 
class  GLPhotorealisticRender
 
class  GLPointVisualModule
 
class  GLPointVisualNode
 
class  GLRenderEngine
 
class  GLRenderHelper
 
struct  GLRenderMode
 
class  GLShape
 
class  GLSurfaceVisualModule
 
class  GLSurfaceVisualNode
 
class  GLTextureMesh
 
class  GltfLoader
 
class  GLVisualModule
 
class  GLWireframeVisualModule
 
class  GLWireframeVisualNode
 
class  Gmsh
 
class  GranularMedia
 This class implements the shallow sand equation to simulate dry granular flows. For more details, refer to "Shallow Sand Equations: Real-Time Height Field Simulation of Dry Granular Flows" by Zhu et al.[2021], IEEE TVCG. More...
 
class  GranularModule
 
class  GraphicsObject
 
class  GraphicsPipeline
 
struct  greater
 
struct  GreaterEqualFunc
 
struct  GreaterFunc
 
class  GridHash
 
struct  GridIndex
 
struct  GridInfo
 
class  GridSet
 
class  GroundRenderer
 
class  Group
 
class  GroupModule
 
struct  HashGrid
 
class  HeightField
 
class  HeightFieldInitializer
 
class  HeightFieldToTriangleSet
 
class  Helmholtz
 
class  HexahedronSet
 
class  HierarchicalScene
 
class  HingeJoint
 
struct  HostArray2DInfo
 
class  HyperelasticBody
 
class  HyperelasticityModel
 
class  ImageLoader
 
class  ImChart
 
class  ImColorbar
 
class  ImplicitISPH
 This is an implementation of the Implicit Incompressible SPH (IISPH) solver based on PeriDyno. For details, refer to "Implicit Incompressible SPH" by Ihmsen et al., IEEE TVCG, 2015. The code was written by Shusen Liu, ISCAS, Sep, 2024. More...
 
class  ImplicitViscosity
 This class implements an implicit solver for artificial viscosity based on the XSPH method. More...
 
class  ImWidget
 
class  ImWindow
 
struct  Index2D
 
struct  Index2DPlane
 
struct  IndexCmp
 
class  IndexNode
 
class  InputModule
 
class  InstanceBase
 
class  InstanceTransform
 
class  InteractionInitializer
 
class  Interval
 
class  IOInitializer
 
class  IterativeDensitySolver
 This is an implementation of the iterative density solver integrated into the Position Based Dynamics framework. More...
 
struct  iterator_traits
 
struct  iterator_traits< const T * >
 
struct  iterator_traits< T * >
 
struct  JCapsule
 
class  Jeep
 
class  Joint
 
class  JointAnimationInfo
 
class  JointDeform
 A class to facilitate showing the shape information. More...
 
class  JointInfo
 
class  JointTree
 A JointTree(Skeleton) represents a hierarchical tree structure of joints. More...
 
class  Kernel
 
class  KeyboardInputModule
 
class  LandScape
 
class  LargeOcean
 
struct  less
 
struct  LessEqualFunc
 
struct  LessFunc
 
class  LevelSet
 
class  LinearBVH
 
class  LinearDamping
 A linear damping model. More...
 
class  LinearElasticitySolver
 This is an implementation of elasticity based on projective peridynamics. For more details, please refer to[He et al. 2017] "Projective Peridynamics for Modeling Versatile Elastoplastic Materials". More...
 
class  LinearModel
 
class  List
 Be aware do not use this structure on GPU if the data size is large. More...
 
class  Log
 
struct  LogicalAndFunc
 
struct  LogicalNotFunc
 
struct  LogicalOrFunc
 
class  MakeGhostParticles
 
class  MakeParticleSystem
 
class  Map
 Be aware do not use this structure on GPU if the data size is large. More...
 
class  MarchingCubes
 
class  MarchingCubesHelper
 
class  Material
 
class  MatrixBase
 
struct  MaximumFunc
 
class  mDoubleSpinBox
 
class  mDrawLabel
 
class  Merge
 
class  MergeSimplexSet
 
class  MergeTriangleSet
 
class  Mesh
 
class  MeshInfo
 
struct  MinimumFunc
 
struct  MinusFunc
 
class  mJointItemLayout
 
class  ModelEditing
 
class  ModelingInitializer
 
class  ModelObject
 
class  Module
 
struct  ModulusFunc
 
class  MooneyRivlinModel
 
class  MouseInputModule
 
class  mPiecewiseDoubleSpinBox
 
class  mQCheckBox
 
class  mQDoubleSlider
 
class  mQDoubleSpinner
 
class  mSpinBox
 
class  MultibodySystem
 
class  MultiMap
 An CPU/GPU implementation of the standard multimap suitable for small-size data. More...
 
class  MultiphysicsInitializer
 
class  MultipleNodePort
 
class  Multiply
 
struct  MultiplyFunc
 
class  MultiplyRealAndReal
 
class  MultiSet
 An CPU/GPU implementation of the standard multiset suitable for small-size data. More...
 
class  mVec3fWidget
 
class  mVectorItemLayout
 
class  mVectorTransformItemLayout
 
struct  Name_Shape
 
struct  NBoundingBox
 
struct  NegateFunc
 
class  NeighborElementQuery
 A class implementation to find neighboring elements for a given array of elements. More...
 
class  NeighborPointQuery
 
class  NeighborTriangleQuery
 
class  NeoHookeanModel
 
class  Node
 
class  NodeAction
 
struct  NodeCmp
 
class  NodeFactory
 
class  NodeGroup
 
class  NodeInfoAct
 
class  NodeIterator
 
class  NodePage
 
class  NodePort
 Input ports for Node. More...
 
class  NormalForce
 
class  NormalVisualization
 
struct  NotEqualFunc
 
class  OBase
 
class  Object
 
class  Ocean
 
class  OceanBase
 
class  OceanPatch
 
class  OctreeNode
 
class  OgdenModel
 
class  OrbitCamera
 
struct  OriginalFaceId
 
class  OutputModule
 
class  Pair
 
class  PAnimationQSlider
 
class  PAnimationWidget
 
struct  Parameters
 implement functions for reorganizing ranges into sorted order More...
 
class  ParametricModel
 
class  ParticleApproximation
 
class  ParticleEmitter
 
class  ParticleFluid
 
class  ParticleIntegrator
 
class  ParticleRelaxtionOnMesh
 
class  ParticleSkinning
 
class  ParticleSystem
 This class represents the base class for more advanced particle-based nodes. More...
 
class  ParticleSystemHelper
 
class  ParticleSystemInitializer
 
class  ParticleWriter
 
class  PaticleUniformAnalysis
 
class  PCGConstraintSolver
 
class  PConsoleWidget
 
class  PdActor
 
class  PDataViewerWidget
 
class  PDockWidget
 
class  PEnum
 
class  Peridynamics
 A base class for peridynamics-based computational paradigms. More...
 
class  PeridynamicsInitializer
 
struct  Picture
 
class  PIntegerViewerWidget
 
class  PIODockWidget
 
class  PIOTabWidget
 
class  Pipeline
 
class  PJSConstraintSolver
 
class  PJSNJSConstraintSolver
 
class  PJSoftConstraintSolver
 
struct  PKeyboardEvent
 
class  PlaneModel
 
class  PLogWidget
 
class  Plugin
 Class form managing and encapsulating shared libraries loading. More...
 
struct  PluginEntry
 
class  PluginManager
 Repository of plugins. It can instantiate any class from any loaded plugin by its name. More...
 
struct  PlusFunc
 
class  PMainToolBar
 
class  PMainWindow
 
class  PModuleEditor
 
class  PModuleEditorToolBar
 
struct  PMouseEvent
 
class  PointClip
 
class  PointFromCurve
 
class  PointInteraction
 
class  PointJoint
 
class  PointPickerNode
 
class  PointsBehindMesh
 
class  PointSet
 A PointSet stores the coordinates for a set of independent points. More...
 
class  PointSetToPointSet
 
class  PointSetToTriangleSet
 
class  PointsLoader
 Load a triangular mesh. More...
 
class  PoissonDiskSampling
 
class  PoissonEmitter
 
class  PoissonPlane
 
class  PolyExtrude
 
class  PolygonSet
 a class to store polygon whose vertex number is greater or equal than 3 More...
 
class  PolygonSetToTriangleSetModule
 
class  PolygonSetToTriangleSetNode
 
class  PolynomialModel
 
class  POpenGLWidget
 
struct  Pose
 
class  PositionBasedFluidModel
 
struct  PositionCmp
 
class  PositionNode
 
class  PostProcessing
 
class  POtherSetting
 
class  PPropertyWidget
 
class  PPushButton
 
class  PRealViewerWidget
 
struct  predicate
 
class  PRenderSetting
 
class  PrintFloat
 
class  PrintInt
 
class  PrintUnsigned
 
class  PrintVector
 
class  priority_queue
 
class  Program
 
struct  ProjectedPoint3D
 
class  ProjectionBasedFluidModel
 
class  ProjectivePeridynamics
 
class  PSceneSetting
 
class  PScrollBarViewerWidget
 
class  PSettingEditor
 
class  PSettingWidget
 
class  PSimulationThread
 
class  PStatusBar
 
class  PTableItemMessage
 
class  PTableItemProgress
 
class  PTransform3fViewerWidget
 
class  PVec2FieldViewerWidget
 
class  PVec3FieldViewerWidget
 
class  QBoolFieldWidget
 
class  QColorButton
 
class  QColorWidget
 
class  QCurveLabel
 
class  QCurveWidget
 
class  QDoubleSlider
 
class  QDoubleSpinner
 
class  QDrawLabel
 
class  QEnumFieldWidget
 
class  QFieldPropertyWidget
 
class  QFieldWidget
 
class  QFilePathWidget
 
class  QIntegerFieldWidget
 
class  QJointBodyDetail
 
class  QKey
 
class  QPiecewiseDoubleSpinBox
 
class  QPiecewiseSpinBox
 
class  QRampWidget
 
class  QRealFieldWidget
 
class  QRigidBodyDetail
 
class  QStateFieldWidget
 
class  QStringFieldWidget
 
class  QtApp
 
class  QTimeTableWidgetItem
 
class  QToggleButton
 
class  QToggleLabel
 
class  QuadPickerNode
 
class  QuadSet
 
class  QuadSetToTriangleSet
 
class  QuarticKernel
 
class  Quat
 
class  QUIntegerFieldWidget
 
class  QValueButton
 
class  QValueDialog
 
class  QVec3fWidget
 
class  QVector3FieldWidget
 
class  QVector3iFieldWidget
 
class  QVectorIntFieldWidget
 
class  QVectorTransform3FieldWidget
 
class  QVehicleInfoWidget
 
class  Ramp
 
class  RandNumber
 
class  RandomAccessContainer
 
class  Reduction
 
class  Reduction< Vec3d >
 
class  Reduction< Vec3f >
 
struct  remove_reference
 
struct  remove_reference< T & >
 
struct  remove_reference< T && >
 
class  RenderEngine
 
struct  RenderParams
 
class  RenderTools
 
class  RenderWindow
 
class  ResetAct
 
class  Rigid
 
class  Rigid< T, 1 >
 
class  Rigid< T, 2 >
 
class  Rigid< T, 3 >
 
class  RigidBody
 
struct  RigidBodyInfo
 
class  RigidBodyInitializer
 
class  RigidBodyItemLayout
 
class  RigidBodySystem
 Implementation of a rigid body system containing a variety of rigid bodies with different shapes. More...
 
class  RigidMesh
 
class  RigidSandCoupling
 This class implements a coupling between a granular media and a rigid body system. More...
 
class  RigidWaterCoupling
 
class  Sampler
 
class  Scan
 
struct  ScanParameters
 implement functions for computing prefix sums More...
 
class  SceneGraph
 
class  SceneGraphFactory
 
class  SceneLoader
 
class  SceneLoaderFactory
 
class  SceneLoaderXML
 
class  SdfSampler
 
struct  Selection
 
class  SemiAnalyticalIncompressibilityModule
 
class  SemiAnalyticalIncompressibleFluidModel
 
class  SemiAnalyticalParticleShifting
 
class  SemiAnalyticalPBD
 
class  SemiAnalyticalPositionBasedFluidModel
 
class  SemiAnalyticalSchemeInitializer
 
class  SemiAnalyticalSFINode
 Semi-Analytical Solid Fluid Interaction. More...
 
class  SemiAnalyticalSummationDensity
 
class  SemiAnalyticalSurfaceTensionModel
 Semi-Analytical Surface Tension Model for Free Surface Flows. More...
 
class  SemiImplicitDensitySolver
 This class implements a semi-implicit successive substitution method to solve incompressibility. For more details, refer to He et al. "A Semi-Implicit SPH Method for Compressible and Incompressible Flows with Improved Convergence", Eurographics 2025. More...
 
class  SemiImplicitHyperelasticitySolver
 
class  Set
 An CPU/GPU implementation of the standard set suitable for small-size data. More...
 
class  Shader
 
class  ShadowMap
 
class  Shape
 
class  ShapeSampler
 
class  SimpleVechicleDriver
 
class  SimpleVelocityConstraint
 
class  SimplexSet
 
class  SingleNodePort
 
class  SkinInfo
 
class  SliderJoint
 
class  Smesh
 
class  SmoothKernel
 
class  SparseGridHash
 
class  SparseMarchingCubes
 
class  SparseMatrix
 
class  SparseOctree
 
class  SparseVolumeClipper
 
struct  SphereInfo
 
class  SphereModel
 
class  SpikyKernel
 
class  SplineConstraint
 
class  SplitSimplexSet
 
class  SquareEmitter
 
class  SquareMatrix
 
class  SquareMatrix< T, 2 >
 
class  SquareMatrix< T, 3 >
 
class  SquareMatrix< T, 4 >
 
class  SSAO
 
class  Stack
 Be aware do not use this structure on GPU if the data size is large. More...
 
class  States
 
class  StaticMeshLoader
 A node containing a TriangleSet object. More...
 
class  Steer
 
class  STLBuffer
 Be aware do not use this structure on GPU if the data size is large. More...
 
class  StructuredPointSet
 
class  StVKModel
 
class  Subdivide
 
class  Subtract
 
class  SubtractRealAndReal
 
class  SummationDensity
 The standard summation density. More...
 
class  SurfaceEnergyForce
 An implementation of the energy-based surface model proposed by He et al.[2024]. Refer to "Robust Simulation of Sparsely Sampled Thin Features in SPH-Based Free Surface Flows", ACM TOG 2014, for more details. More...
 
class  SurfaceInteraction
 
class  SurfaceParticleTracking
 
class  SurfaceTension
 
class  SweepModel
 
class  TAlignedBox2D
 
class  TAlignedBox3D
 
class  Tank
 
class  TBond
 Definition of a bond in Peridynamics. More...
 
class  TCapsule3D
 
class  TCircle2D
 
class  TCone3D
 
class  TConstraintPair
 
class  TContact
 
class  TContactPair
 
class  TCylinder3D
 
class  TDisk2D
 
class  TDisk3D
 
struct  TetInfo
 
class  TetrahedralSystem
 
class  TetrahedronSet
 
class  TetrahedronSetToPointSet
 
class  TetraMeshWriter
 
class  TetraMeshWriterFracture
 
class  Texture
 
class  Texture2D
 
class  Texture2DMultiSample
 
class  TextureCube
 
class  TextureMesh
 
class  TextureMeshLoader
 
class  TextureMeshMerge
 A class to merge TextureMeshs. More...
 
class  TextureMeshToTriangleSet
 
class  TextureMeshToTriangleSetNode
 
class  TGrid3D
 
class  Thread
 Peridynamics-based Thread. More...
 
class  ThreadSystem
 
class  TightCCD
 
class  TimeStamp
 Time stamp. More...
 
class  TJConstraintSolver
 
class  TJSoftConstraintSolver
 
class  TKey
 
class  TLine2D
 1D geometric primitives in two-dimensional space More...
 
class  TLine3D
 1D geometric primitives in three-dimensional space More...
 
struct  TManifold
 
class  toggleLabel
 
class  ToolBarIcoAndLabel
 
class  ToolBarPage
 
class  TopologyMapping
 
class  TopologyModule
 
class  TOrientedBox3D
 
class  TPlane3D
 2D geometric primitives in three-dimensional space More...
 
class  TPoint2D
 0D geometric primitive in two-dimensional space More...
 
class  TPoint3D
 0D geometric primitive in three-dimensional space More...
 
class  TPointSweep3D
 
class  TPolygon2D
 
class  TrackballCamera
 
class  TrackedTank
 
class  Transform
 
class  Transform< T, 2 >
 
class  Transform< T, 3 >
 
class  TransformModel
 
class  TRay2D
 
class  TRay3D
 
class  TRectangle2D
 
class  TRectangle3D
 
class  TriangleMeshWriter
 
class  TrianglePickerNode
 
class  TriangleSet
 
class  TriangleSetRenderer
 
class  TriangularMeshBoundary
 A triangular mesh boundary to prevent interpenetration for particles. More...
 
class  TriangularMeshConstraint
 
class  TriangularSystem
 
class  TSegment2D
 
class  TSegment3D
 
class  TSeparationData
 
class  TSphere3D
 3D geometric primitives in three-dimensional space More...
 
class  TTet3D
 vertices are ordered so that the normal vectors for the triangular faces point outwards 3 / | \ 0 - 2 - 1 More...
 
class  TTriangle2D
 2D geometric primitives in two-dimensional space More...
 
class  TTriangle3D
 
class  TTriangleSweep3D
 
class  TurningModel
 
class  UAV
 
class  UbiApp
 This class provides a unified representation for all three GUIs, including the GlfwGUI, QtGUI and WtGUI. More...
 
struct  uint3
 
struct  unary_function
 
class  UniformGrid3D
 
class  UniformGridRenderer
 
class  UnstructuredPointSet
 
class  UUV
 
class  ValueButton
 
class  ValueDialog
 
class  VariationalApproximateProjection
 Projection-based solver. More...
 
class  Vector
 
class  Vector3Source
 
class  Vector< T, 2 >
 
class  Vector< T, 3 >
 
class  Vector< T, 4 >
 
class  VectorBase
 
class  VectorND
 
class  VectorVisualNode
 
class  VehicleBind
 The VehicleBind class is used to record information about created rigid bodies and joints. Rigid bodies information is stored in mVehicleRigidBodyInfo. Toints information is stored in mVehicleJointInfo. More...
 
struct  VehicleJointInfo
 The joint information is stored in mVehicleJointInfo. More...
 
struct  VehicleRigidBodyInfo
 The Rigid body information is stored in mVehicleJointInfo. More...
 
struct  Vertex
 
class  VertexArray
 
class  Vessel
 
class  VirtualColocationStrategy
 
class  VirtualParticleGenerator
 
class  VirtualParticleShiftingStrategy
 
class  VirtualSpatiallyAdaptiveStrategy
 
class  VisualModule
 
class  VkConstant
 
class  VkContext
 
class  VkDeviceArray
 
class  VkDeviceArray2D
 
class  VkDeviceArray3D
 
class  VkFFT
 
class  VkGraphicsPipeline
 
class  VkHostArray
 
class  VkHostArray2D
 
class  VkMultiProgram
 
class  VkProgram
 
class  VkReduce
 implement functions for reducing a range to a single value More...
 
class  VkScan
 
class  VkSort
 
class  VkSystem
 
class  VkUniform
 
class  VkVariable
 
class  VkVisualModule
 
class  Volume
 
class  VolumeBoolean
 
class  VolumeBoundary
 
class  VolumeClipper
 
class  VolumeGenerator
 
class  VolumeHelper
 
class  VolumeInitializer
 
class  VolumeLoader
 
class  VolumeOctree
 
class  VolumeOctreeBoolean
 
class  VolumeOctreeGenerator
 This is a GPU-based implementation of algebraic adaptive signed distance field (AASDF). For more details, please refer to "Algebraic Adaptive Signed Distance Field on GPU" by [Ren et.al. 2022]. More...
 
class  VolumeToGridCell
 
class  VolumeToTriangleSet
 
class  VoxelOctree
 
class  VoxelOctreeNode
 
class  VtkFluidVisualModule
 
class  VtkPointVisualModule
 
class  VtkRenderEngine
 
class  VtkSurfaceVisualModule
 
class  VtkVisualModule
 
class  Wake
 
struct  WindParam
 
struct  WNode
 
class  WtApp
 
class  XBuffer
 
class  XTexture2D
 
class  XuModel
 
class  YeohModel
 

Typedefs

template<typename T>
using CArray = Array<T, DeviceType::CPU>
 
template<typename T>
using CArray2D = Array2D<T, DeviceType::CPU>
 
template<typename T>
using CArray3D = Array3D<T, DeviceType::CPU>
 
template<typename T>
using CArrayList = ArrayList<T, DeviceType::CPU>
 
template<typename T>
using CArrayMap = ArrayMap<T, DeviceType::CPU>
 
template<typename T>
using DArray = Array<T, DeviceType::GPU>
 
template<typename T>
using DArray2D = Array2D<T, DeviceType::GPU>
 
template<typename T>
using DArray3D = Array3D<T, DeviceType::GPU>
 
typedef DArray3D< float > Grid1f
 
typedef DArray3D< float3 > Grid3f
 
typedef DArray3D< bool > Grid1b
 
template<typename ElementType>
using DArrayList = ArrayList<ElementType, DeviceType::GPU>
 
template<typename T>
using DArrayMap = ArrayMap<T, DeviceType::GPU>
 
using uint = unsigned int
 
typedef DataTypes< float, float, float, Rigid< float, 1 > > DataType1f
 1f DOF, single precision
 
typedef DataTypes< float, Vec2f, Mat2f, Rigid2fDataType2f
 2f DOF, single precision
 
typedef DataTypes< float, Vec3f, Mat3f, Rigid3fDataType3f
 3f DOF, single precision
 
typedef DataTypes< double, float, float, Rigid< double, 1 > > DataType1d
 1d DOF, double precision
 
typedef DataTypes< double, Vec2d, Mat2d, Rigid2dDataType2d
 2d DOF, double precision
 
typedef DataTypes< double, Vec3d, Mat3d, Rigid3dDataType3d
 3d DOF, double precision
 
typedef SquareMatrix< float, 2 > Mat2f
 
typedef SquareMatrix< double, 2 > Mat2d
 
typedef SquareMatrix< float, 3 > Mat3f
 
typedef SquareMatrix< double, 3 > Mat3d
 
typedef SquareMatrix< float, 4 > Mat4f
 
typedef SquareMatrix< double, 4 > Mat4d
 
typedef Transform< float, 2 > Transform2f
 
typedef Transform< double, 2 > Transform2d
 
typedef Transform< float, 3 > Transform3f
 
typedef Transform< double, 3 > Transform3d
 
typedef TPoint3D< double > Point3D
 
typedef TLine3D< double > Line3D
 
typedef TRay3D< double > Ray3D
 
typedef TSegment3D< double > Segment3D
 
typedef TPlane3D< double > Plane3D
 
typedef TTriangle3D< double > Triangle3D
 
typedef TRectangle3D< double > Rectangle3D
 
typedef TDisk3D< double > Disk3D
 
typedef TSphere3D< double > Sphere3D
 
typedef TCapsule3D< double > Capsule3D
 
typedef TTet3D< double > Tet3D
 
typedef TAlignedBox3D< double > AlignedBox3D
 
typedef TOrientedBox3D< double > OrientedBox3D
 
typedef TCylinder3D< double > Cylinder3D
 
typedef TCone3D< double > Cone3D
 
typedef TPointSweep3D< double > PointSweep3D
 
typedef TTriangleSweep3D< double > TriangleSweep3D
 
typedef Quat< float > Quat1f
 
typedef Quat< double > Quat1d
 
typedef Rigid< float, 2 > Rigid2f
 
typedef Rigid< double, 2 > Rigid2d
 
typedef Rigid< float, 3 > Rigid3f
 
typedef Rigid< double, 3 > Rigid3d
 
typedef long long ptrDiff_t
 
using uchar = unsigned char
 
using uint64 = unsigned long long
 
using int64 = signed long long
 
typedef Vector< float, 2 > Vec2f
 
typedef Vector< double, 2 > Vec2d
 
typedef Vector< uint32_t, 2 > Vec2u
 
typedef Vector< int, 2 > Vec2i
 
typedef Vector< float, 3 > Vec3f
 
typedef Vector< double, 3 > Vec3d
 
typedef Vector< int, 3 > Vec3i
 
typedef Vector< uint, 3 > Vec3u
 
typedef Vector< char, 3 > Vec3c
 
typedef Vector< uchar, 3 > Vec3uc
 
typedef Vector< float, 4 > Vec4f
 
typedef Vector< double, 4 > Vec4d
 
typedef unsigned short OcIndex
 
typedef unsigned long long int OcKey
 
typedef unsigned short Level
 
typedef TopologyModule::Triangle Triangle
 The standard summation density.
 
typedef Vector< unsigned int, 3 > Vec3ui
 
typedef CArray3D< unsigned int > CArray3ui
 
typedef CArray3D< float > CArray3f
 
typedef CArray3D< int > CArray3i
 
typedef std::map< int, std::string > EnumMap
 
template<typename T>
using HostVarField = FVar<T>
 
template<typename T>
using DeviceVarField = FVar<T>
 
template<typename T>
using HostArrayField = FArray<T, DeviceType::CPU>
 
template<typename T>
using DeviceArrayField = FArray<T, DeviceType::GPU>
 
typedef int PointType
 
typedef std::string FieldID
 Base class for modules.
 
typedef std::string ProgramID
 
typedef Object *(* ObjectConstructorFn) (void)
 
typedef uint32_t ObjectId
 
typedef std::list< Node * > NodeList
 
typedef std::map< ObjectId, std::shared_ptr< Node > > NodeMap
 
typedef std::function< std::shared_ptr< SceneGraph >()> SceneGraphCreator
 
typedef unsigned char byte
 
typedef int joint
 
typedef int scene
 
typedef struct dyno::Picture Picture
 
typedef ::dyno::TAlignedBox3D< RealAABB
 
typedef unsigned long long int PKey
 

Enumerations

enum  VkFFT_Type { VkFFT_INVERSE = -1 , VkFFT_FORWARD = 1 }
 
enum  VariableType { DeviceBuffer , HostBuffer , Constant , Uniform }
 
enum  VkResizeType { VK_BUFFER_REALLOCATED = 0x00000000 , VK_BUFFER_REUSED = 0x00000001 , VK_FAILED = 0xFFFFFFFF }
 
enum  LerpMode { REPEAT , CLAMP_TO_BORDER }
 
enum  EnergyType {
  Linear , StVK , NeoHooekean , Xuetal ,
  MooneyRivlin , Fung , Ogden , Yeoh ,
  ArrudaBoyce , Fiber
}
 
enum  MotionType { MT_Static = 0 , MT_Kinematic , MT_Dynamic }
 
enum  GridType { Accepted = 0 , Tentative = 1 , Infinite = 2 }
 
enum  FieldTypeEnum {
  In , Out , IO , Param ,
  State , Next
}
 
enum  ConfigMotionType { CMT_Static = 0 , CMT_Kinematic = 1 , CMT_Dynamic = 2 }
 
enum  ConfigShapeType {
  Box = 1 , Tet = 2 , Capsule = 4 , Sphere = 8 ,
  Tri = 16 , OtherShape = 0x80000000
}
 
enum  ConfigJointType {
  BallAndSocket = 1 , Slider = 2 , Hinge = 3 , Fixed = 4 ,
  Point = 5 , OtherJoint = 0x80000000
}
 
enum  PButtonType { BT_UNKOWN = -1 , BT_LEFT = 0 , BT_RIGHT = 1 , BT_MIDDLE = 2 }
 
enum  PActionType { AT_UNKOWN = -1 , AT_RELEASE = 0 , AT_PRESS = 1 , AT_REPEAT = 2 }
 
enum  PKeyboardType {
  PKEY_UNKNOWN = -1 , PKEY_SPACE = 32 , PKEY_APOSTROPHE = 39 , PKEY_COMMA = 44 ,
  PKEY_MINUS = 45 , PKEY_PERIOD = 46 , PKEY_SLASH = 47 , PKEY_0 = 48 ,
  PKEY_1 = 49 , PKEY_2 = 50 , PKEY_3 = 51 , PKEY_4 = 52 ,
  PKEY_5 = 53 , PKEY_6 = 54 , PKEY_7 = 55 , PKEY_8 = 56 ,
  PKEY_9 = 57 , PKEY_SEMICOLON = 59 , PKEY_EQUAL = 61 , PKEY_A = 65 ,
  PKEY_B = 66 , PKEY_C = 67 , PKEY_D = 68 , PKEY_E = 69 ,
  PKEY_F = 70 , PKEY_G = 71 , PKEY_H = 72 , PKEY_I = 73 ,
  PKEY_J = 74 , PKEY_K = 75 , PKEY_L = 76 , PKEY_M = 77 ,
  PKEY_N = 78 , PKEY_O = 79 , PKEY_P = 80 , PKEY_Q = 81 ,
  PKEY_R = 82 , PKEY_S = 83 , PKEY_T = 84 , PKEY_U = 85 ,
  PKEY_V = 86 , PKEY_W = 87 , PKEY_X = 88 , PKEY_Y = 89 ,
  PKEY_Z = 90 , PKEY_LEFT_BRACKET = 91 , PKEY_BACKSLASH = 92 , PKEY_RIGHT_BRACKET = 93 ,
  PKEY_GRAVE_ACCENT = 96 , PKEY_WORLD_1 = 161 , PKEY_WORLD_2 = 162 , PKEY_ESCAPE = 256 ,
  PKEY_ENTER = 257 , PKEY_TAB = 258 , PKEY_BACKSPACE = 259 , PKEY_INSERT = 260 ,
  PKEY_DELETE = 261 , PKEY_RIGHT = 262 , PKEY_LEFT = 263 , PKEY_DOWN = 264 ,
  PKEY_UP = 265 , PKEY_PAGE_UP = 266 , PKEY_PAGE_DOWN = 267 , PKEY_HOME = 268 ,
  PKEY_END = 269 , PKEY_CAPS_LOCK = 280 , PKEY_SCROLL_LOCK = 281 , PKEY_NUM_LOCK = 282 ,
  PKEY_PRINT_SCREEN = 283 , PKEY_PAUSE = 284 , PKEY_F1 = 290 , PKEY_F2 = 291 ,
  PKEY_F3 = 292 , PKEY_F4 = 293 , PKEY_F5 = 294 , PKEY_F6 = 295 ,
  PKEY_F7 = 296 , PKEY_F8 = 297 , PKEY_F9 = 298 , PKEY_F10 = 299 ,
  PKEY_F11 = 300 , PKEY_F12 = 301 , PKEY_F13 = 302 , PKEY_F14 = 303 ,
  PKEY_F15 = 304 , PKEY_F16 = 305 , PKEY_F17 = 306 , PKEY_F18 = 307 ,
  PKEY_F19 = 308 , PKEY_F20 = 309 , PKEY_F21 = 310 , PKEY_F22 = 311 ,
  PKEY_F23 = 312 , PKEY_F24 = 313 , PKEY_F25 = 314 , PKEY_KP_0 = 320 ,
  PKEY_KP_1 = 321 , PKEY_KP_2 = 322 , PKEY_KP_3 = 323 , PKEY_KP_4 = 324 ,
  PKEY_KP_5 = 325 , PKEY_KP_6 = 326 , PKEY_KP_7 = 327 , PKEY_KP_8 = 328 ,
  PKEY_KP_9 = 329 , PKEY_KP_DECIMAL = 330 , PKEY_KP_DIVIDE = 331 , PKEY_KP_MULTIPLY = 332 ,
  PKEY_KP_SUBTRACT = 333 , PKEY_KP_ADD = 334 , PKEY_KP_ENTER = 335 , PKEY_KP_EQUAL = 336 ,
  PKEY_LEFT_SHIFT = 340 , PKEY_LEFT_CONTROL = 341 , PKEY_LEFT_ALT = 342 , PKEY_LEFT_SUPER = 343 ,
  PKEY_RIGHT_SHIFT = 344 , PKEY_RIGHT_CONTROL = 345 , PKEY_RIGHT_ALT = 346 , PKEY_RIGHT_SUPER = 347
}
 
enum  PModifierBits {
  MB_NO_MODIFIER = 0x0000 , MB_SHIFT = 0x0001 , MB_CONTROL = 0x0002 , MB_ALT = 0x0004 ,
  MB_SUPER = 0x0008 , MB_CAPS_LOCK = 0x0010 , MB_NUM_LOCK = 0x0020
}
 
enum  NodePortType { Single , Multiple , Unknown }
 
enum  BasicShapeType {
  PLANE , CUBE , SPHERE , CONE ,
  CAPSULE , CYLINDER , UNKNOWN
}
 
enum  EEnvStyle { Standard = 0 , Studio = 1 }
 
enum  ButtonState { GLFW_DOWN = 0 , GLFW_UP }
 
enum  QButtonState { QBUTTON_DOWN = 0 , QBUTTON_UP }
 
enum  QButtonType { QBUTTON_LETF = 0 , QBUTTON_RIGHT , QBUTTON_UNKNOWN }
 
enum  TemplateName { FArrayType = 0 , FArrayListType = 1 , FVarType = 2 , NoneType = 3 }
 
enum  DataType { FloatType = 0 , DoubleType = 1 , UnknownType = 2 }
 
enum  GUIType { GUI_GLFW = 0 , GUI_QT = 1 , GUI_WT = 2 }
 
enum  CModeMask {
  CM_Disabled = 0x00000000 , CM_OriginDCD_Tet = 0x00000001 , CM_InputSDF_Tet = 0x00000002 , CM_RigidSurface_Tet = 0x00000004 ,
  CM_TetMesh_Tet = 0x00000008 , CM_SurfaceMesh_Tet = 0x00000010 , CM_OriginDCD_Sphere = 0x00000020 , CM_InputSDF_Sphere = 0x00000040
}
 
enum  BodyType {
  Static = 0 , Kinematic , Dynamic , NonRotatable ,
  NonGravitative
}
 
enum  CollisionMask {
  CT_AllObjects = 0xFFFFFFFF , CT_BoxExcluded = 0xFFFFFFFE , CT_TetExcluded = 0xFFFFFFFD , CT_CapsuleExcluded = 0xFFFFFFFA ,
  CT_SphereExcluded = 0xFFFFFFF7 , CT_BoxOnly = 0x00000001 , CT_TetOnly = 0x00000002 , CT_CapsuleOnly = 0x00000004 ,
  CT_SphereOnly = 0x00000008 , CT_Disabled = 0x00000000
}
 
enum  ContactType {
  CT_BOUDNARY = 0 , CT_INTERNAL , CT_NONPENETRATION , CT_SURFACE ,
  CT_VERTEX_SDF , CT_VERTEX_FACE , CT_EDGE_EDGE , CT_UNKNOWN
}
 
enum  ConstraintType {
  CN_NONPENETRATION = 0 , CN_FRICTION , CN_FLUID_STICKINESS , CN_FLUID_SLIPINESS ,
  CN_FLUID_NONPENETRATION , CN_GLOBAL_NONPENETRATION , CN_LOACL_NONPENETRATION , CN_ANCHOR_EQUAL_1 ,
  CN_ANCHOR_EQUAL_2 , CN_ANCHOR_EQUAL_3 , CN_ANCHOR_TRANS_1 , CN_ANCHOR_TRANS_2 ,
  CN_BAN_ROT_1 , CN_BAN_ROT_2 , CN_BAN_ROT_3 , CN_ALLOW_ROT1D_1 ,
  CN_ALLOW_ROT1D_2 , CN_JOINT_SLIDER_MIN , CN_JOINT_SLIDER_MAX , CN_JOINT_SLIDER_MOTER ,
  CN_JOINT_HINGE_MIN , CN_JOINT_HINGE_MAX , CN_JOINT_HINGE_MOTER , CN_JOINT_NO_MOVE_1 ,
  CN_JOINT_NO_MOVE_2 , CN_JOINT_NO_MOVE_3 , CN_UNKNOWN
}
 
enum  SeparationType {
  CT_POINT = 0 , CT_EDGE , CT_TRIA , CT_TRIB ,
  CT_RECTA , CT_RECTB
}
 
enum  ElementType {
  ET_BOX = 1 , ET_TET = 2 , ET_CAPSULE = 4 , ET_SPHERE = 8 ,
  ET_TRI = 16 , ET_COMPOUND = 32 , ET_Other = 0x80000000
}
 

Functions

void ForEach (size_t size,...)
 
template<typename VarType>
void multiply_transposedSM_by_vector (DArrayMap< VarType > &matrix_a, DArray< VarType > &a, DArray< VarType > &Aa)
 
template<typename VarType>
void multiply_SM_by_vector (DArrayMap< VarType > &matrix_a, DArray< VarType > &a, DArray< VarType > &Aa)
 
template<uint N>
void parallel_allocate_for_list (void *lists, void *elements, size_t ele_size, DArray< uint > &index)
 
template<uint N>
void parallel_init_for_list (void *lists, void *elements, size_t ele_size, DArray< uint > &index)
 
template<uint N>
void parallel_allocate_for_map (void *maps, void *elements, size_t ele_size, DArray< uint > &index)
 
template<uint N>
void parallel_init_for_map (void *maps, void *elements, size_t ele_size, DArray< uint > &index)
 
int SizeOfNextLevel (int size, int localSize)
 
int ScanSizeOfNextLevel (int size, int localSize)
 
int ComputeAddZeroSize (int OriginalSize)
 
static uint iDivUp (uint a, uint b)
 
static dim3 vkDispatchSize (uint totalSize, uint blockSize)
 
static dim3 vkDispatchSize2D (uint size_x, uint size_y, uint blockSize)
 
static dim3 vkDispatchSize3D (uint size_x, uint size_y, uint size_z, uint blockSize)
 
template<typename T>
VkDeviceArray< T > * bufferPtr ()
 
template<typename T>
VkDeviceArray2D< T > * buffer2DPtr ()
 
template<typename T>
VkDeviceArray3D< T > * buffer3DPtr ()
 
template<typename T>
VkUniform< T > * uniformPtr ()
 
template<typename T>
VkConstant< T > * constantPtr ()
 
VKAPI_ATTR VkBool32 VKAPI_CALL debugUtilsMessengerCallback (VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageType, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData, void *pUserData)
 
template<typename T>
bool vkTransfer (VkHostArray< T > &dst, const VkDeviceArray< T > &src)
 
template<typename T>
bool vkTransfer (VkDeviceArray< T > &dst, const VkHostArray< T > &src)
 
template<typename T>
bool vkTransfer (std::vector< T > &dst, const VkDeviceArray< T > &src)
 
template<typename T>
bool vkTransfer (VkDeviceArray< T > &dst, const std::vector< T > &src)
 
template<typename T>
bool vkTransfer (VkDeviceArray< T > &dst, const VkDeviceArray< T > &src)
 
template<typename T>
bool vkTransfer (VkDeviceArray< T > &dst, uint64_t dstOffset, const VkDeviceArray< T > &src, uint64_t srcOffset, uint64_t copySize)
 
template<typename T>
bool vkTransfer (VkHostArray< T > &dst, const VkDeviceArray2D< T > &src)
 
template<typename T>
bool vkTransfer (std::vector< T > &dst, const VkDeviceArray2D< T > &src)
 
template<typename T>
bool vkTransfer (VkDeviceArray2D< T > &dst, const std::vector< T > &src)
 
template<typename T>
bool vkTransfer (VkDeviceArray2D< T > &dst, const VkDeviceArray2D< T > &src)
 
template<typename T>
bool vkTransfer (VkDeviceArray3D< T > &dst, const std::vector< T > &src)
 
template<typename T>
bool vkTransfer (VkDeviceArray3D< T > &dst, const VkDeviceArray3D< T > &src)
 
template<typename T>
bool vkTransfer (VkHostArray< T > &dst, const VkDeviceArray3D< T > &src)
 
template<typename T>
bool vkTransfer (std::vector< T > &dst, const VkDeviceArray3D< T > &src)
 
template<typename T>
DYN_FUNC T getPoint2SegmentDistance (const Vector< T, 3 > &p, const Vector< T, 3 > &v0, const Vector< T, 3 > &v1)
 
template<typename T>
DYN_FUNC bool inTri (const Vector< T, 3 > &p, const Vector< T, 3 > &v0, const Vector< T, 3 > &v1, const Vector< T, 3 > &v2)
 
template<typename T>
DYN_FUNC T STP (const Vector< T, 3 > &u, const Vector< T, 3 > &v, const Vector< T, 3 > &w)
 
template<typename T>
DYN_FUNC void fswap (T &a, T &b)
 
template<typename T>
DYN_FUNC T SignedDistanceVF (const Vector< T, 3 > &x, const Vector< T, 3 > &y0, const Vector< T, 3 > &y1, const Vector< T, 3 > &y2, Vector< T, 3 > *n, T *w)
 
template<typename T>
DYN_FUNC T SignedDistanceEE (const Vector< T, 3 > &x0, const Vector< T, 3 > &x1, const Vector< T, 3 > &y0, const Vector< T, 3 > &y1, Vector< T, 3 > *n, Real *w)
 
template<typename T>
DYN_FUNC T triProduct (Vector< T, 3 > &a, Vector< T, 3 > &b, Vector< T, 3 > &c)
 
template<typename T>
DYN_FUNC Vector< T, 3 > xvpos (Vector< T, 3 > x, Vector< T, 3 > v, T t)
 
template<typename T>
DYN_FUNC int sgn (T x)
 
template<typename T>
DYN_FUNC int SolveQuadratic (T a, T b, T c, T x[2])
 
template<typename T>
DYN_FUNC T NewtonsMethod (T a, T b, T c, T d, T x0, int init_dir)
 
template<typename T>
DYN_FUNC int SolveCubic (T a, T b, T c, T d, T x[3])
 
template<typename T>
DYN_FUNC bool CollisionTest (const Vector< T, 3 > &x0, const Vector< T, 3 > &x1, const Vector< T, 3 > &x2, const Vector< T, 3 > &x3, const Vector< T, 3 > &v0, const Vector< T, 3 > &v1, const Vector< T, 3 > &v2, const Vector< T, 3 > &v3, T &time, const int isVF)
 
template<typename Real>
DYN_FUNC Complex< Realacos (const Complex< Real > &)
 
template<typename Real>
DYN_FUNC Complex< Realasin (const Complex< Real > &)
 
template<typename Real>
DYN_FUNC Complex< Realatan (const Complex< Real > &)
 
template<typename Real>
DYN_FUNC Complex< Realasinh (const Complex< Real > &)
 
template<typename Real>
DYN_FUNC Complex< Realacosh (const Complex< Real > &)
 
template<typename Real>
DYN_FUNC Complex< Realatanh (const Complex< Real > &)
 
template<typename Real>
DYN_FUNC Complex< Realcos (const Complex< Real > &)
 
template<typename Real>
DYN_FUNC Complex< Realcosh (const Complex< Real > &)
 
template<typename Real>
DYN_FUNC Complex< Realexp (const Complex< Real > &)
 
template<typename Real>
DYN_FUNC Complex< Reallog (const Complex< Real > &)
 
template<typename Real>
DYN_FUNC Complex< Reallog10 (const Complex< Real > &)
 
template<typename Real>
DYN_FUNC Complex< Realpow (const Complex< Real > &, const Real &)
 
template<typename Real>
DYN_FUNC Complex< Realpow (const Complex< Real > &, const Complex< Real > &)
 
template<typename Real>
DYN_FUNC Complex< Realpow (const Real &, const Complex< Real > &)
 
template<typename Real>
DYN_FUNC Complex< Realsin (const Complex< Real > &)
 
template<typename Real>
DYN_FUNC Complex< Realsinh (const Complex< Real > &)
 
template<typename Real>
DYN_FUNC Complex< Realsqrt (const Complex< Real > &)
 
template<typename Real>
DYN_FUNC Complex< Realtan (const Complex< Real > &)
 
template<typename Real>
DYN_FUNC Complex< Realtanh (const Complex< Real > &)
 
template<typename Real>
DYN_FUNC Real arg (const Complex< Real > &)
 
template<typename Real>
DYN_FUNC Complex< Realpolar (const Real &__rho, const Real &__theta=Real(0))
 
template<typename S, typename T>
DYN_FUNC const Complex< Toperator+ (S scale, const Complex< T > &complex)
 
template<typename S, typename T>
DYN_FUNC const Complex< Toperator- (S scale, const Complex< T > &complex)
 
template<typename S, typename T>
DYN_FUNC const Complex< Toperator* (S scale, const Complex< T > &complex)
 
template<typename S, typename T>
DYN_FUNC const Complex< Toperator/ (S scale, const Complex< T > &complex)
 
template<typename T, DeviceType deviceType>
DYN_FUNC T lerp (Array< T, deviceType > &array1d, float x, LerpMode mode=LerpMode::REPEAT)
 
template<typename T, DeviceType deviceType>
DYN_FUNC T bilinear (Array2D< T, deviceType > &array2d, float x, float y, LerpMode mode=LerpMode::REPEAT)
 
template<typename T, DeviceType deviceType>
DYN_FUNC T trilinear (Array3D< T, deviceType > &array3d, float x, float y, float z, LerpMode mode=LerpMode::REPEAT)
 
template<typename T>
DYN_FUNC int isless (T const &a, T const &b, T const EPS=EPSILON)
 
template<typename T, typename D, typename std::enable_if<!std::is_same< T, D >::value, int >::type = 0>
DYN_FUNC int isless (T const &a, D const &b, T const EPS=EPSILON)
 
template<typename T>
DYN_FUNC int isleq (T const &a, T const &b, T const EPS=EPSILON)
 
template<typename T, typename D, typename std::enable_if<!std::is_same< T, D >::value, int >::type = 0>
DYN_FUNC int isleq (T const &a, D const &b, T const EPS=EPSILON)
 
template<typename T>
DYN_FUNC int isgreat (T const &a, T const &b, T const EPS=EPSILON)
 
template<typename T, typename D, typename std::enable_if<!std::is_same< T, D >::value, int >::type = 0>
DYN_FUNC int isgreat (T const &a, D const &b, T const EPS=EPSILON)
 
template<typename T>
DYN_FUNC int isgeq (T const &a, T const &b, T const EPS=EPSILON)
 
template<typename T, typename D, typename std::enable_if<!std::is_same< T, D >::value, int >::type = 0>
DYN_FUNC int isgeq (T const &a, D const &b, T const EPS=EPSILON)
 
template<typename T>
DYN_FUNC int iseq (T const &a, T const &b, T const EPS=EPSILON)
 
template<typename T, typename D, typename std::enable_if<!std::is_same< T, D >::value, int >::type = 0>
DYN_FUNC int iseq (T const &a, D const &b, T const EPS=EPSILON)
 
template<typename T>
DYN_FUNC int sign (T const &a, T const EPS=EPSILON)
 
template<typename T>
DYN_FUNC T clamp (const T &v, const T &lo, const T &hi)
 
template<typename T>
DYN_FUNC Vector< T, 2 > clamp (const Vector< T, 2 > &v, const Vector< T, 2 > &lo, const Vector< T, 2 > &hi)
 
template<typename T>
DYN_FUNC Vector< T, 3 > clamp (const Vector< T, 3 > &v, const Vector< T, 3 > &lo, const Vector< T, 3 > &hi)
 
template<typename T>
DYN_FUNC Vector< T, 4 > clamp (const Vector< T, 4 > &v, const Vector< T, 4 > &lo, const Vector< T, 4 > &hi)
 
template<typename T>
DYN_FUNC T abs (const T &v)
 
template<typename T>
DYN_FUNC Vector< T, 2 > abs (const Vector< T, 2 > &v)
 
template<typename T>
DYN_FUNC Vector< T, 3 > abs (const Vector< T, 3 > &v)
 
template<typename T>
DYN_FUNC Vector< T, 4 > abs (const Vector< T, 4 > &v)
 
template<typename T>
DYN_FUNC T minimum (const T &v0, const T &v1)
 
template<typename T>
DYN_FUNC Vector< T, 2 > minimum (const Vector< T, 2 > &v0, const Vector< T, 2 > &v1)
 
template<typename T>
DYN_FUNC Vector< T, 3 > minimum (const Vector< T, 3 > &v0, const Vector< T, 3 > &v1)
 
template<typename T>
DYN_FUNC Vector< T, 4 > minimum (const Vector< T, 4 > &v0, const Vector< T, 4 > &v1)
 
template<typename T>
DYN_FUNC T maximum (const T &v0, const T &v1)
 
template<typename T>
DYN_FUNC Vector< T, 2 > maximum (const Vector< T, 2 > &v0, const Vector< T, 2 > &v1)
 
template<typename T>
DYN_FUNC Vector< T, 3 > maximum (const Vector< T, 3 > &v0, const Vector< T, 3 > &v1)
 
template<typename T>
DYN_FUNC Vector< T, 4 > maximum (const Vector< T, 4 > &v0, const Vector< T, 4 > &v1)
 
template<typename T>
DYN_FUNC T dot (Vector< T, 2 > const &U, Vector< T, 2 > const &V)
 
template<typename T>
DYN_FUNC T dot (Vector< T, 3 > const &U, Vector< T, 3 > const &V)
 
template<typename T>
DYN_FUNC Vector< T, 3 > cross (Vector< T, 3 > const &U, Vector< T, 3 > const &V)
 
template<typename T>
DYN_FUNC T dotcross (Vector< T, 3 > const &U, Vector< T, 3 > const &V, Vector< T, 3 > const &W)
 
template<typename T>
DYN_FUNC Vector< T, 2 > perp (Vector< T, 2 > const &v)
 
template<typename T>
DYN_FUNC T dotperp (Vector< T, 2 > const &v0, Vector< T, 2 > const &v1)
 
DYN_FUNC unsigned int lowbit (unsigned int x)
 
DYN_FUNC unsigned int countbit (unsigned int x)
 
DYN_FUNC unsigned int __builtin_clz (unsigned int x)
 
DYN_FUNC unsigned int MSB (unsigned int x)
 
DYN_FUNC unsigned int lownum (unsigned int x)
 
DYN_FUNC int checkbit (unsigned int const &x, unsigned int const &y)
 
template<typename S, typename T>
DYN_FUNC const SquareMatrix< T, 2 > operator* (S scale, const SquareMatrix< T, 2 > &mat)
 
template<typename S, typename T>
DYN_FUNC const SquareMatrix< T, 3 > operator* (S scale, const SquareMatrix< T, 3 > &mat)
 
template<typename S, typename T>
DYN_FUNC const SquareMatrix< T, 4 > operator* (S scale, const SquareMatrix< T, 4 > &mat)
 
template<typename Real, int Dim>
DYN_FUNC void polarDecomposition (const SquareMatrix< Real, Dim > &A, SquareMatrix< Real, Dim > &R, SquareMatrix< Real, Dim > &U, SquareMatrix< Real, Dim > &D)
 
template<typename Real, int Dim>
DYN_FUNC void polarDecomposition (const SquareMatrix< Real, Dim > &M, SquareMatrix< Real, Dim > &R, Real tolerance)
 
template<typename Real>
DYN_FUNC void jacobiRotate (SquareMatrix< Real, 3 > &A, SquareMatrix< Real, 3 > &R, int p, int q)
 
template<typename Real>
DYN_FUNC void EigenDecomposition (const SquareMatrix< Real, 3 > &A, SquareMatrix< Real, 3 > &eigenVecs, Vector< Real, 3 > &eigenVals)
 
template<typename Real>
DYN_FUNC void QRDecomposition (SquareMatrix< Real, 3 > &A, SquareMatrix< Real, 3 > &R, int p, int q)
 
template<typename Real>
DYN_FUNC void polarDecomposition (const SquareMatrix< Real, 3 > &A, SquareMatrix< Real, 3 > &R, SquareMatrix< Real, 3 > &U, SquareMatrix< Real, 3 > &D)
 
template<typename Real>
DYN_FUNC void polarDecomposition (const SquareMatrix< Real, 3 > &M, SquareMatrix< Real, 3 > &R, Real tolerance)
 
template<typename S, typename T>
DYN_FUNC Quat< Toperator* (S scale, const Quat< T > &quad)
 
template<typename RandomAccessIterator, typename Distance, typename T, typename Compare, typename ValueType>
DYN_FUNC void promote_heap_impl (RandomAccessIterator first, Distance topPosition, Distance position, T value, Compare compare)
 promote_heap_implementation
 
template<typename RandomAccessIterator, typename Distance, typename T, typename Compare>
DYN_FUNC void promote_heap (RandomAccessIterator first, Distance topPosition, Distance position, const T &value, Compare compare)
 
template<typename RandomAccessIterator, typename Distance, typename T, typename Compare>
DYN_FUNC void promote_heap (RandomAccessIterator first, Distance topPosition, Distance position, T &&value, Compare compare)
 
template<typename RandomAccessIterator, typename Distance, typename T, typename Compare, typename ValueType>
DYN_FUNC void adjust_heap_impl (RandomAccessIterator first, Distance topPosition, Distance heapSize, Distance position, T value, Compare compare)
 adjust heap implementation
 
template<typename RandomAccessIterator, typename Distance, typename T, typename Compare>
DYN_FUNC void adjust_heap (RandomAccessIterator first, Distance topPosition, Distance heapSize, Distance position, const T &value, Compare compare)
 
template<typename RandomAccessIterator, typename Distance, typename T, typename Compare>
DYN_FUNC void adjust_heap (RandomAccessIterator first, Distance topPosition, Distance heapSize, Distance position, T &&value, Compare compare)
 
template<typename RandomAccessIterator, typename Compare>
DYN_FUNC void push_heap (RandomAccessIterator first, RandomAccessIterator last, Compare compare)
 
template<typename RandomAccessIterator, typename Compare>
DYN_FUNC void pop_heap (RandomAccessIterator first, RandomAccessIterator last, Compare compare)
 
template<typename RandomAccessIterator, typename Compare>
DYN_FUNC void make_heap (RandomAccessIterator first, RandomAccessIterator last, Compare compare)
 
template<typename RandomAccessIterator, typename Compare>
DYN_FUNC void sort_heap (RandomAccessIterator first, RandomAccessIterator last, Compare compare)
 
template<typename RandomAccessIterator, typename Distance, typename Compare>
DYN_FUNC void remove_heap (RandomAccessIterator first, Distance heapSize, Distance position, Compare compare)
 
template<typename RandomAccessIterator, typename Distance, typename Compare>
DYN_FUNC void change_heap (RandomAccessIterator first, Distance heapSize, Distance position, Compare compare)
 
template<typename RandomAccessIterator, typename Compare>
DYN_FUNC RandomAccessIterator is_heap_until (RandomAccessIterator first, RandomAccessIterator last, Compare compare)
 is_heap_until
 
template<typename RandomAccessIterator>
DYN_FUNC bool is_heap (RandomAccessIterator first, RandomAccessIterator last)
 
template<typename T, typename Container, typename Compare>
DYN_FUNC bool operator== (const priority_queue< T, Container, Compare > &a, const priority_queue< T, Container, Compare > &b)
 
template<typename T, typename Container, typename Compare>
DYN_FUNC bool operator< (const priority_queue< T, Container, Compare > &a, const priority_queue< T, Container, Compare > &b)
 
template<typename T, typename Container, typename Compare>
DYN_FUNC bool operator!= (const priority_queue< T, Container, Compare > &a, const priority_queue< T, Container, Compare > &b)
 
template<typename T, typename Container, typename Compare>
DYN_FUNC bool operator> (const priority_queue< T, Container, Compare > &a, const priority_queue< T, Container, Compare > &b)
 
template<typename T, typename Container, typename Compare>
DYN_FUNC bool operator<= (const priority_queue< T, Container, Compare > &a, const priority_queue< T, Container, Compare > &b)
 
template<typename T, typename Container, typename Compare>
DYN_FUNC bool operator>= (const priority_queue< T, Container, Compare > &a, const priority_queue< T, Container, Compare > &b)
 
template<typename InputIterator, typename OutputIterator>
static DYN_FUNC OutputIterator move_or_copy (InputIterator first, InputIterator last, OutputIterator result)
 
template<typename Iterator>
static DYN_FUNC Iterator move_or_copy_backward (Iterator first, Iterator last, Iterator resultEnd)
 
template<typename InputIterator1, typename InputIterator2>
DYN_FUNC bool lexicographical_compare (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2)
 
template<typename T>
bool operator== (const RandomAccessContainer< T > &a, const RandomAccessContainer< T > &b)
 
template<typename T>
bool operator!= (const RandomAccessContainer< T > &a, const RandomAccessContainer< T > &b)
 
template<typename T>
bool operator< (const RandomAccessContainer< T > &a, const RandomAccessContainer< T > &b)
 
template<typename T>
bool operator> (const RandomAccessContainer< T > &a, const RandomAccessContainer< T > &b)
 
template<typename T>
bool operator<= (const RandomAccessContainer< T > &a, const RandomAccessContainer< T > &b)
 
template<typename T>
bool operator>= (const RandomAccessContainer< T > &a, const RandomAccessContainer< T > &b)
 
template<typename T>
DYN_FUNC int leftBound (T target, T *startLoc, uint maxSize)
 Find the left bound of a target with a binary search algorithm.
 
template<typename T>
DYN_FUNC int rightBound (T target, T *startLoc, uint maxSize)
 Find the right bound of a target with a binary search algorithm.
 
template<typename T>
DYN_FUNC constexpr T && forward (typename dyno::remove_reference< T >::type &x) noexcept
 
template<typename T>
DYN_FUNC constexpr T && forward (typename dyno::remove_reference< T >::type &&x) noexcept
 
template<typename S, typename T>
DYN_FUNC const Vector< T, 2 > operator* (S scale, const Vector< T, 2 > &vec)
 
template<typename S, typename T>
DYN_FUNC const Vector< T, 3 > operator* (S scale, const Vector< T, 3 > &vec)
 
template<typename S, typename T>
DYN_FUNC const Vector< T, 4 > operator* (S scale, const Vector< T, 4 > &vec)
 
template<class T>
DYN_FUNC VectorND< T, 2 > makeFixedVector (const T &v0, const T &v1)
 
template<class T>
DYN_FUNC VectorND< T, 3 > makeFixedVector (const T &v0, const T &v1, const T &v2)
 
template<class T>
DYN_FUNC VectorND< T, 4 > makeFixedVector (const T &v0, const T &v1, const T &v2, const T &v3)
 
template<class T>
DYN_FUNC VectorND< T, 5 > makeFixedVector (const T &v0, const T &v1, const T &v2, const T &v3, const T &v4)
 
template<class T>
DYN_FUNC VectorND< T, 6 > makeFixedVector (const T &v0, const T &v1, const T &v2, const T &v3, const T &v4, const T &v5)
 
template<class T>
DYN_FUNC VectorND< T, 7 > makeFixedVector (const T &v0, const T &v1, const T &v2, const T &v3, const T &v4, const T &v5, const T &v6)
 
template<class T>
DYN_FUNC VectorND< T, 8 > makeFixedVector (const T &v0, const T &v1, const T &v2, const T &v3, const T &v4, const T &v5, const T &v6, const T &v7)
 
template<class T>
DYN_FUNC VectorND< T, 9 > makeFixedVector (const T &v0, const T &v1, const T &v2, const T &v3, const T &v4, const T &v5, const T &v6, const T &v7, const T &v8)
 
template<class T>
DYN_FUNC VectorND< T, 10 > makeFixedVector (const T &v0, const T &v1, const T &v2, const T &v3, const T &v4, const T &v5, const T &v6, const T &v7, const T &v8, const T &v9)
 
 DEFINE_CLASS (VirtualParticleGenerator)
 
 IMPLEMENT_TCLASS (Steer, TDataType)
 
 DEFINE_CLASS (Steer)
 
 DEFINE_CLASS (OceanBase)
 
 DEFINE_CLASS (Vessel)
 
 IMPLEMENT_TCLASS (PoissonDiskSampling, TDataType)
 
 DEFINE_CLASS (VolumeBoundary)
 
 DEFINE_CLASS (CircularEmitter)
 
 DEFINE_CLASS (ParticleEmitter)
 
 DEFINE_CLASS (PoissonEmitter)
 
 DEFINE_CLASS (SquareEmitter)
 
 DEFINE_CLASS (GhostParticles)
 
 DEFINE_CLASS (MakeParticleSystem)
 
 DEFINE_CLASS (ParticleApproximation)
 
 DEFINE_CLASS (PositionBasedFluidModel)
 
 DEFINE_CLASS (ProjectionBasedFluidModel)
 
 IMPLEMENT_TCLASS (SurfaceEnergyForce, TDataType)
 
 DEFINE_CLASS (ParticleFluid)
 
 DEFINE_CLASS (ParticleSystem)
 
 DEFINE_CLASS (Cloth)
 
 DEFINE_CLASS (ElasticBody)
 
 DEFINE_CLASS (ElastoplasticBody)
 
 DEFINE_CLASS (ProjectivePeridynamics)
 
 DEFINE_CLASS (Peridynamics)
 
template<typename Coord, typename Bond>
void constructRestShape (DArrayList< Bond > &shape, DArrayList< int > &nbr, DArray< Coord > &pos)
 
template<typename Coord, typename Bond>
void constructRestShapeWithSelf (DArrayList< Bond > &shape, DArrayList< int > &nbr, DArray< Coord > &pos)
 
 DEFINE_CLASS (TetrahedralSystem)
 
 DEFINE_CLASS (ThreadSystem)
 
 DEFINE_CLASS (TriangularSystem)
 
 DEFINE_CLASS (ConfigurableBody)
 
 DEFINE_CLASS (Gear)
 
 IMPLEMENT_TCLASS (AnimationDriver, TDataType)
 
 DEFINE_CLASS (AnimationDriver)
 
 IMPLEMENT_TCLASS (CarDriver, TDataType)
 
 DEFINE_CLASS (CarDriver)
 
 DEFINE_CLASS (ContactsUnion)
 
 IMPLEMENT_TCLASS (InstanceTransform, TDataType)
 
 DEFINE_CLASS (InstanceTransform)
 
void ApplyTransform (DArrayList< Transform3f > &instanceTransform, const DArray< Vec3f > &translate, const DArray< Mat3f > &rotation, const DArray< Pair< uint, uint > > &binding, const DArray< int > &bindingtag)
 
void updateVelocity (DArray< Attribute > attribute, DArray< Vec3f > velocity, DArray< Vec3f > angular_velocity, DArray< Vec3f > impulse, float linearDamping, float angularDamping, float dt)
 
void updateGesture (DArray< Attribute > attribute, DArray< Vec3f > pos, DArray< Quat1f > rotQuat, DArray< Mat3f > rotMat, DArray< Mat3f > inertia, DArray< Vec3f > velocity, DArray< Vec3f > angular_velocity, DArray< Mat3f > inertia_init, float dt)
 
void updatePositionAndRotation (DArray< Vec3f > pos, DArray< Quat1f > rotQuat, DArray< Mat3f > rotMat, DArray< Mat3f > inertia, DArray< Mat3f > inertia_init, DArray< Vec3f > impulse_constrain)
 
void calculateContactPoints (DArray< TContactPair< float > > contacts, DArray< int > contactCnt)
 
void calculateJacobianMatrix (DArray< Vec3f > J, DArray< Vec3f > B, DArray< Vec3f > pos, DArray< Mat3f > inertia, DArray< float > mass, DArray< Mat3f > rotMat, DArray< TConstraintPair< float > > constraints)
 
void calculateJacobianMatrixForNJS (DArray< Vec3f > J, DArray< Vec3f > B, DArray< Vec3f > pos, DArray< Mat3f > inertia, DArray< float > mass, DArray< Mat3f > rotMat, DArray< TConstraintPair< float > > constraints)
 
void calculateEtaVectorForPJS (DArray< float > eta, DArray< Vec3f > J, DArray< Vec3f > velocity, DArray< Vec3f > angular_velocity, DArray< TConstraintPair< float > > constraints)
 
void calculateEtaVectorForPJSBaumgarte (DArray< float > eta, DArray< Vec3f > J, DArray< Vec3f > velocity, DArray< Vec3f > angular_velocity, DArray< Vec3f > pos, DArray< Quat1f > rotation_q, DArray< TConstraintPair< float > > constraints, DArray< float > errors, float slop, float beta, uint substepping, float dt)
 
void calculateEtaVectorWithERP (DArray< float > eta, DArray< Vec3f > J, DArray< Vec3f > velocity, DArray< Vec3f > angular_velocity, DArray< Vec3f > pos, DArray< Quat1f > rotation_q, DArray< TConstraintPair< float > > constraints, DArray< float > ERP, float slop, float dt)
 
void calculateEtaVectorForPJSoft (DArray< float > eta, DArray< Vec3f > J, DArray< Vec3f > velocity, DArray< Vec3f > angular_velocity, DArray< Vec3f > pos, DArray< Quat1f > rotation_q, DArray< TConstraintPair< float > > constraints, float slop, float zeta, float hertz, float substepping, float dt)
 
void calculateEtaVectorForNJS (DArray< float > eta, DArray< Vec3f > J, DArray< Vec3f > pos, DArray< Quat1f > rotation_q, DArray< TConstraintPair< float > > constraints, float slop, float beta)
 
void setUpContactsInLocalFrame (DArray< TContactPair< float > > contactsInLocalFrame, DArray< TContactPair< float > > contactsInGlobalFrame, DArray< Vec3f > pos, DArray< Mat3f > rotMat)
 
void setUpContactAndFrictionConstraints (DArray< TConstraintPair< float > > constraints, DArray< TContactPair< float > > contactsInLocalFrame, DArray< Vec3f > pos, DArray< Mat3f > rotMat, bool hasFriction)
 
void setUpContactConstraints (DArray< TConstraintPair< float > > constraints, DArray< TContactPair< float > > contactsInLocalFrame, DArray< Vec3f > pos, DArray< Mat3f > rotMat)
 
void setUpBallAndSocketJointConstraints (DArray< TConstraintPair< float > > constraints, DArray< BallAndSocketJoint< float > > joints, DArray< Vec3f > pos, DArray< Mat3f > rotMat, int begin_index)
 
void setUpSliderJointConstraints (DArray< TConstraintPair< float > > constraints, DArray< SliderJoint< float > > joints, DArray< Vec3f > pos, DArray< Mat3f > rotMat, DArray< Quat1f > rotQuat, int begin_index)
 
void setUpHingeJointConstraints (DArray< TConstraintPair< float > > constraints, DArray< HingeJoint< float > > joints, DArray< Vec3f > pos, DArray< Mat3f > rotMat, DArray< Quat1f > rotation_q, int begin_index)
 
void setUpFixedJointConstraints (DArray< TConstraintPair< float > > &constraints, DArray< FixedJoint< float > > &joints, DArray< Mat3f > &rotMat, DArray< Quat1f > &rotQuat, int begin_index)
 
void setUpPointJointConstraints (DArray< TConstraintPair< float > > constraints, DArray< PointJoint< float > > joints, DArray< Vec3f > pos, int begin_index)
 
void calculateK (DArray< TConstraintPair< float > > constraints, DArray< Vec3f > J, DArray< Vec3f > B, DArray< Vec3f > pos, DArray< Mat3f > inertia, DArray< float > mass, DArray< float > K_1, DArray< Mat2f > K_2, DArray< Mat3f > K_3)
 
void calculateKWithCFM (DArray< TConstraintPair< float > > constraints, DArray< Vec3f > J, DArray< Vec3f > B, DArray< Vec3f > pos, DArray< Mat3f > inertia, DArray< float > mass, DArray< float > K_1, DArray< Mat2f > K_2, DArray< Mat3f > K_3, DArray< float > CFM)
 
void JacobiIteration (DArray< float > lambda, DArray< Vec3f > impulse, DArray< Vec3f > J, DArray< Vec3f > B, DArray< float > eta, DArray< TConstraintPair< float > > constraints, DArray< int > nbq, DArray< float > K_1, DArray< Mat2f > K_2, DArray< Mat3f > K_3, DArray< float > mass, DArray< float > fricCoeffs, float mu, float g, float dt)
 
void JacobiIterationForCFM (DArray< float > lambda, DArray< Vec3f > impulse, DArray< Vec3f > J, DArray< Vec3f > B, DArray< float > eta, DArray< TConstraintPair< float > > constraints, DArray< int > nbq, DArray< float > K_1, DArray< Mat2f > K_2, DArray< Mat3f > K_3, DArray< float > mass, DArray< float > CFM, float mu, float g, float dt)
 
void JacobiIterationStrict (DArray< float > lambda, DArray< Vec3f > impulse, DArray< Vec3f > J, DArray< Vec3f > B, DArray< float > eta, DArray< TConstraintPair< float > > constraints, DArray< int > nbq, DArray< float > d, DArray< float > mass, float mu, float g, float dt)
 
void JacobiIterationForSoft (DArray< float > lambda, DArray< Vec3f > impulse, DArray< Vec3f > J, DArray< Vec3f > B, DArray< float > eta, DArray< TConstraintPair< float > > constraints, DArray< int > nbq, DArray< float > K_1, DArray< Mat2f > K_2, DArray< Mat3f > K_3, DArray< float > mass, DArray< float > mu, float g, float dt, float zeta, float hertz)
 
void JacobiIterationForNJS (DArray< float > lambda, DArray< Vec3f > impulse, DArray< Vec3f > J, DArray< Vec3f > B, DArray< float > eta, DArray< TConstraintPair< float > > constraints, DArray< int > nbq, DArray< float > K_1, DArray< Mat2f > K_2, DArray< Mat3f > K_3)
 
void setUpGravity (DArray< Vec3f > impulse_ext, float g, float dt)
 
Real checkOutError (DArray< Vec3f > J, DArray< Vec3f > mImpulse, DArray< TConstraintPair< float > > constraints, DArray< float > eta)
 
void calculateDiagnals (DArray< float > d, DArray< Vec3f > J, DArray< Vec3f > B)
 
void preConditionJ (DArray< Vec3f > J, DArray< float > d, DArray< float > eta)
 
bool saveVectorToFile (const std::vector< float > &vec, const std::string &filename)
 
void calculateEtaVectorForRelaxation (DArray< float > eta, DArray< Vec3f > J, DArray< Vec3f > velocity, DArray< Vec3f > angular_velocity, DArray< TConstraintPair< float > > constraints)
 
double checkOutErrors (DArray< float > errors)
 
void calculateMatrixA (DArray< Vec3f > &J, DArray< Vec3f > &B, DArray< float > &A, DArray< TConstraintPair< float > > &constraints, float k)
 
bool saveMatrixToFile (DArray< float > &Matrix, int n, const std::string &filename)
 
bool saveVectorToFile (DArray< float > &vec, const std::string &filename)
 
void vectorSub (DArray< float > &ans, DArray< float > &subtranhend, DArray< float > &minuend, DArray< TConstraintPair< float > > &constraints)
 
void vectorAdd (DArray< float > &ans, DArray< float > &v1, DArray< float > &v2, DArray< TConstraintPair< float > > &constraints)
 
void vectorMultiplyScale (DArray< float > &ans, DArray< float > &initialVec, float scale, DArray< TConstraintPair< float > > &constraints)
 
void vectorClampSupport (DArray< float > v, DArray< TConstraintPair< float > > constraints)
 
void vectorClampFriction (DArray< float > v, DArray< TConstraintPair< float > > constraints, int contact_size, float mu)
 
void matrixMultiplyVec (DArray< Vec3f > &J, DArray< Vec3f > &B, DArray< float > &lambda, DArray< float > &ans, DArray< TConstraintPair< float > > &constraints, int bodyNum)
 
float vectorNorm (DArray< float > &a, DArray< float > &b)
 
void vectorMultiplyVector (DArray< float > &v1, DArray< float > &v2, DArray< float > &ans, DArray< TConstraintPair< float > > &constraints)
 
void calculateImpulseByLambda (DArray< float > lambda, DArray< TConstraintPair< float > > constraints, DArray< Vec3f > impulse, DArray< Vec3f > B)
 
void preconditionedResidual (DArray< float > &residual, DArray< float > &ans, DArray< float > &k_1, DArray< Mat2f > &k_2, DArray< Mat3f > &k_3, DArray< TConstraintPair< float > > &constraints)
 
void buildCFMAndERP (DArray< Vec3f > J, DArray< Vec3f > B, DArray< TConstraintPair< float > > constraints, DArray< float > CFM, DArray< float > ERP, float hertz, float zeta, float dt)
 
void calculateLinearSystemLHS (DArray< Vec3f > &J, DArray< Vec3f > &B, DArray< Vec3f > &impulse, DArray< float > &lambda, DArray< float > &ans, DArray< float > &CFM, DArray< TConstraintPair< float > > &constraints)
 
 DEFINE_CLASS (MultibodySystem)
 
 DEFINE_CLASS (RigidBody)
 
static void set_v (TetInfo &obj, const std::vector< Vec3f > &values)
 
static std::vector< Vec3fget_v (const TetInfo &obj)
 
 DEFINE_CLASS (Jeep)
 
 DEFINE_CLASS (Tank)
 
 DEFINE_CLASS (TrackedTank)
 
 DEFINE_CLASS (UAV)
 
 DEFINE_CLASS (UUV)
 
template<typename Real>
DYN_FUNC Real calculateIntersectionArea (const TPoint3D< Real > &pt, const TTriangle3D< Real > &triangle, const Real &R)
 Calculate the intersection area between a sphere and a triangle by using the domain decompsotion algorithm. For more details, please refer to Section 4.1 of [Chang et al. 2020]: "Semi-analytical Solid Boundary Conditions for Free Surface Flows".
 
 DEFINE_CLASS (SemiAnalyticalIncompressibleFluidModel)
 
 DEFINE_CLASS (SemiAnalyticalPositionBasedFluidModel)
 
 DEFINE_CLASS (SemiAnalyticalSFINode)
 
void SetupAttributesForSFI (DArray< Attribute > &att)
 
 DEFINE_CLASS (SemiAnalyticalSurfaceTensionModel)
 
 DEFINE_CLASS (TriangularMeshBoundary)
 
 DEFINE_CLASS (MarchingCubes)
 
 DEFINE_CLASS (AdaptiveVolumeToTriangleSet)
 
static float point_segment_distance (const Vec3f &x0, const Vec3f &x1, const Vec3f &x2)
 
static float point_triangle_distance (const Vec3f &x0, const Vec3f &x1, const Vec3f &x2, const Vec3f &x3)
 
static void FSM_CheckNeighbour (const CArray< Vec3ui > &tri, const CArray< Vec3f > &vert, CArray3f &phi, CArray3i &closest_tri, const Vec3f &gx, int i0, int j0, int k0, int i1, int j1, int k1)
 
static void sweep (const CArray< Vec3ui > &tri, const CArray< Vec3f > &x, CArray3f &phi, CArray3i &closest_tri, const Vec3f &origin, float dx, int di, int dj, int dk)
 
static int orientation (double x1, double y1, double x2, double y2, double &twice_signed_area)
 
static bool point_in_triangle_2d (double x0, double y0, double x1, double y1, double x2, double y2, double x3, double y3, double &a, double &b, double &c)
 
 DEFINE_CLASS (FastSweepingMethod)
 
 DECLARE_ENUM (BoolType, Intersect=0, Union=1, Minus=2)
 
 DEFINE_CLASS (VolumeToGridCell)
 
 DEFINE_CLASS (VolumeToTriangleSet)
 
 DEFINE_CLASS (SparseMarchingCubes)
 
 DEFINE_CLASS (SparseVolumeClipper)
 
 DEFINE_CLASS (Volume)
 
 DEFINE_CLASS (VolumeBoolean)
 
 DEFINE_CLASS (VolumeClipper)
 
 DEFINE_CLASS (VolumeGenerator)
 
 DEFINE_CLASS (VolumeLoader)
 
 DEFINE_CLASS (VolumeOctree)
 
 DEFINE_CLASS (VolumeOctreeBoolean)
 
 DEFINE_CLASS (VolumeOctreeGenerator)
 
static DYN_FUNC OcKey CalculateMortonCode (OcIndex x, OcIndex y, OcIndex z)
 
static DYN_FUNC void RecoverFromMortonCode (OcKey key, OcIndex &x, OcIndex &y, OcIndex &z)
 
 IMPLEMENT_TCLASS (AddRealAndReal, TDataType)
 
 IMPLEMENT_TCLASS (FloatingNumber, TDataType)
 
 IMPLEMENT_TCLASS (Vector3Source, TDataType)
 
 IMPLEMENT_CLASS (PrintInt)
 
 IMPLEMENT_CLASS (PrintUnsigned)
 
 IMPLEMENT_CLASS (PrintFloat)
 
 IMPLEMENT_CLASS (PrintVector)
 
 IMPLEMENT_TCLASS (DivideRealAndReal, TDataType)
 
 IMPLEMENT_TCLASS (MultiplyRealAndReal, TDataType)
 
 IMPLEMENT_TCLASS (SubtractRealAndReal, TDataType)
 
std::string earse_spacing (const std::string &str)
 
bool parse_enum_string (const std::string &enum_str, EnumMap &enumKeyValueList)
 
std::string FormatConnectionInfo (FBase *fin, FBase *fout, bool connecting, bool succeeded)
 
std::string FormatConnectionInfo (Node *node, NodePort *port, bool connecting, bool succeeded)
 
 DEFINE_CLASS (ParametricModel)
 
void disconnect (Node *node, NodePort *port)
 
bool Register (ClassInfo *ci)
 
void BFS (Node *node, NodeList &list, std::map< ObjectId, bool > &visited)
 
void BFSWithAutoSync (Node *node, NodeList &list, std::map< ObjectId, bool > &visited)
 
 DEFINE_CLASS (EdgePickerNode)
 
 DEFINE_CLASS (PointPickerNode)
 
 DEFINE_CLASS (QuadPickerNode)
 
 DEFINE_CLASS (TrianglePickerNode)
 
 DEFINE_CLASS (EigenValueWriter)
 
 DEFINE_CLASS (GeometryLoader)
 
bool loadTextureMeshFromObj (std::shared_ptr< TextureMesh > texMesh, const FilePath &fullname)
 
 DEFINE_CLASS (ParticleWriter)
 
 DEFINE_CLASS (PointsLoader)
 
 DEFINE_CLASS (StaticMeshLoader)
 
 DEFINE_CLASS (TetraMeshWriter)
 
bool cmp (OriginalFaceId a, OriginalFaceId b)
 
 DEFINE_CLASS (TetraMeshWriterFracture)
 
 DEFINE_CLASS (TriangleMeshWriter)
 
 DEFINE_CLASS (BasicShape)
 
 DEFINE_CLASS (CapsuleModel)
 
 IMPLEMENT_TCLASS (CapsuleModel, TDataType)
 
 DEFINE_CLASS (ConeModel)
 
 IMPLEMENT_TCLASS (ConeModel, TDataType)
 
bool operator< (const Index2D &lhs, const Index2D &rhs)
 
 DEFINE_CLASS (CubeModel)
 
 IMPLEMENT_TCLASS (CubeModel, TDataType)
 
 DEFINE_CLASS (CylinderModel)
 
 IMPLEMENT_TCLASS (CylinderModel, TDataType)
 
bool operator< (const Index2DPlane &lhs, const Index2DPlane &rhs)
 
 DEFINE_CLASS (PlaneModel)
 
 IMPLEMENT_TCLASS (PlaneModel, TDataType)
 
 DEFINE_CLASS (SphereModel)
 
 IMPLEMENT_TCLASS (SphereModel, TDataType)
 
 DEFINE_CLASS (CollisionDetector)
 
 IMPLEMENT_TCLASS (ConvertToTextureMesh, TDataType)
 
 IMPLEMENT_TCLASS (CopyModel, TDataType)
 
 IMPLEMENT_TCLASS (CopyToPoint, TDataType)
 
Vec3f crossProduct (const Vec3f &a, const Vec3f &b)
 
float triangleArea (const Vec3f &a, const Vec3f &b, const Vec3f &c)
 
Vec3f projectPointToTriangle (const Vec3f &A, const Vec3f &B, const Vec3f &C, const Vec3f &P)
 
bool isPointInTriangle (const Vec3f &pt, const Vec3f &a, const Vec3f &b, const Vec3f &c)
 
bool isEar (const std::vector< Vec3f > &vertices, const TopologyModule::Triangle &triangle, Vec3f n)
 
std::vector< TopologyModule::TriangleearClipping (const std::vector< Vec3f > &vertices)
 
 DEFINE_CLASS (EarClipper)
 
 IMPLEMENT_TCLASS (EarClipper, TDataType)
 
 IMPLEMENT_TCLASS (EditableMesh, TDataType)
 
 IMPLEMENT_TCLASS (ExtractShape, TDataType)
 
 IMPLEMENT_TCLASS (ExtrudeModel, TDataType)
 
 IMPLEMENT_TCLASS (Merge, TDataType)
 
 IMPLEMENT_TCLASS (PointClip, TDataType)
 
 IMPLEMENT_TCLASS (PolyExtrude, TDataType)
 
 IMPLEMENT_TCLASS (PolygonSetToTriangleSetNode, TDataType)
 
 DEFINE_CLASS (SweepModel)
 
 IMPLEMENT_TCLASS (SweepModel, TDataType)
 
 IMPLEMENT_TCLASS (TextureMeshMerge, TDataType)
 
 IMPLEMENT_TCLASS (TransformModel, TDataType)
 
 DEFINE_CLASS (TurningModel)
 
 IMPLEMENT_TCLASS (TurningModel, TDataType)
 
void getBoundingBoxByName (tinygltf::Model &model, const tinygltf::Primitive &primitive, const std::string &attributeName, TAlignedBox3D< Real > &bound, Transform3f &transform)
 
void getVec3fByAttributeName (tinygltf::Model &model, const tinygltf::Primitive &primitive, const std::string &attributeName, std::vector< Vec3f > &vertices)
 
void getVec4ByAttributeName (tinygltf::Model &model, const tinygltf::Primitive &primitive, const std::string &attributeName, std::vector< Vec4f > &vec4Data)
 
void getRealByIndex (tinygltf::Model &model, int index, std::vector< Real > &result)
 
void getVec3fByIndex (tinygltf::Model &model, int index, std::vector< Vec3f > &result)
 
void getQuatByIndex (tinygltf::Model &model, int index, std::vector< Quat< float > > &result)
 
void getTriangles (tinygltf::Model &model, const tinygltf::Primitive &primitive, std::vector< TopologyModule::Triangle > &triangles, int pointOffest)
 
std::string getTexUri (const std::vector< tinygltf::Texture > &textures, const std::vector< tinygltf::Image > &images, int index)
 
void getVertexBindJoint (tinygltf::Model &model, const tinygltf::Primitive &primitive, const std::string &attributeName, std::vector< Vec4f > &vec4Data, const std::vector< int > &skinJoints)
 
void getNodesAndHierarchy (tinygltf::Model &model, std::map< scene, std::vector< int > > Scene_JointsNodesId, std::vector< joint > &all_Nodes, std::map< joint, std::vector< int > > &id_Dir)
 
void traverseNode (tinygltf::Model &model, joint id, std::vector< joint > &joint_nodes, std::map< joint, std::vector< int > > &dir, std::vector< joint > currentDir)
 
void getJointsTransformData (const std::vector< int > &all_Joints, std::vector< std::vector< int > > &joint_child, std::map< int, Quat< float > > &joint_rotation, std::map< int, Vec3f > &joint_scale, std::map< int, Vec3f > &joint_translation, std::map< int, Mat4f > &joint_matrix, tinygltf::Model model)
 
void importAnimation (tinygltf::Model model, std::map< joint, Vec3i > &joint_output, std::map< joint, Vec3f > &joint_input, std::map< joint, std::vector< Vec3f > > &joint_T_f_anim, std::map< joint, std::vector< Real > > &joint_T_Time, std::map< joint, std::vector< Vec3f > > &joint_S_f_anim, std::map< joint, std::vector< Real > > &joint_S_Time, std::map< joint, std::vector< Quat< float > > > &joint_R_f_anim, std::map< joint, std::vector< Real > > &joint_R_Time)
 
void buildInverseBindMatrices (const std::vector< joint > &all_Joints, std::map< joint, Mat4f > &joint_matrix, int &maxJointId, tinygltf::Model &model, std::map< joint, Quat< float > > &joint_rotation, std::map< joint, Vec3f > &joint_translation, std::map< joint, Vec3f > &joint_scale, std::map< joint, Mat4f > &joint_inverseBindMatrix, std::map< joint, std::vector< int > > jointId_joint_Dir)
 
void updateJoint_Mesh_Camera_Dir (tinygltf::Model &model, int &jointNum, int &meshNum, std::map< joint, std::vector< int > > &jointId_joint_Dir, std::vector< joint > &all_Joints, std::vector< int > &all_Nodes, std::map< joint, std::vector< int > > nodeId_Dir, std::map< int, std::vector< int > > &meshId_Dir, std::vector< int > &all_Meshs, int &maxJointId)
 
std::vector< int > getJointDirByJointIndex (int Index, std::map< joint, std::vector< int > > jointId_joint_Dir)
 
void getMeshMatrix (tinygltf::Model &model, const std::vector< int > &all_MeshNodeIDs, int &maxMeshId, CArray< Mat4f > &mesh_Matrix)
 
template<typename Vec3f, typename Vec4f, typename Mat4f, typename Vec2u>
void skinAnimation (DArray< Vec3f > &intialPosition, DArray< Vec3f > &worldPosition, DArray< Mat4f > &joint_inverseBindMatrix, DArray< Mat4f > &WorldMatrix, DArray< Vec4f > &bind_joints_0, DArray< Vec4f > &bind_joints_1, DArray< Vec4f > &weights_0, DArray< Vec4f > &weights_1, Mat4f transform, bool isNormal, Vec2u range)
 
void loadGLTFTextureMesh (std::shared_ptr< TextureMesh > texMesh, const std::string &filepath)
 
void loadGLTFMaterial (tinygltf::Model &model, std::shared_ptr< TextureMesh > texMesh, FilePath filename)
 
void loadGLTFShape (tinygltf::Model &model, std::shared_ptr< TextureMesh > texMesh, const std::string &filepath, DArray< Vec3f > *initialPosition=nullptr, DArray< Vec3f > *initialNormal=nullptr, DArray< Mat4f > *d_mesh_Matrix=nullptr, DArray< int > *d_shape_meshId=nullptr, std::shared_ptr< SkinInfo > skinData=nullptr)
 
template<typename Triangle>
void updateVertexIdShape (DArray< Triangle > &triangle, DArray< uint > &ID_shapeId, int &shapeId, int size)
 
template<typename Mat4f, typename Vec3f>
void shapeTransform (DArray< Vec3f > &intialPosition, DArray< Vec3f > &worldPosition, DArray< Vec3f > &intialNormal, DArray< Vec3f > &Normal, DArray< Mat4f > &WorldMatrix, DArray< uint > &vertexId_shape, DArray< int > &shapeId_MeshId)
 
template<typename Vec3f>
void setupPoints (DArray< Vec3f > &newPos, DArray< Vec3f > &pos, DArray< int > &radix)
 
template<typename uint>
void Shape_PointCounter (DArray< int > &counter, DArray< uint > &point_ShapeIds, uint &target)
 
template<typename Vec3f, typename uint>
void shapeToCenter (DArray< Vec3f > &iniPos, DArray< Vec3f > &finalPos, DArray< uint > &shapeId, DArray< Vec3f > &t)
 
 IMPLEMENT_TCLASS (GltfLoader, TDataType)
 
 IMPLEMENT_TCLASS (Group, TDataType)
 
 IMPLEMENT_TCLASS (JointDeform, TDataType)
 
bool loadTexture (const char *path, dyno::CArray2D< dyno::Vec4f > &img)
 
 IMPLEMENT_TCLASS (NormalVisualization, TDataType)
 
 DEFINE_CLASS (PointFromCurve)
 
 IMPLEMENT_TCLASS (PointFromCurve, TDataType)
 
 IMPLEMENT_TCLASS (PointsBehindMesh, TDataType)
 
 DEFINE_CLASS (PoissonPlane)
 
 IMPLEMENT_TCLASS (PoissonPlane, TDataType)
 
 DEFINE_CLASS (Sampler)
 
 DEFINE_CLASS (ShapeSampler)
 
 IMPLEMENT_TCLASS (ShapeSampler, TDataType)
 
void loopSubdivide (std::vector< Vec3f > &vertices, std::vector< TopologyModule::Triangle > &triangles)
 
 DEFINE_CLASS (Subdivide)
 
 IMPLEMENT_TCLASS (Subdivide, TDataType)
 
 IMPLEMENT_TCLASS (VectorVisualNode, TDataType)
 
 DEFINE_CLASS (GLCommonPointVisualNode)
 
 DEFINE_CLASS (GLInstanceVisualNode)
 
 DEFINE_CLASS (GLPointVisualNode)
 
 DEFINE_CLASS (GLSurfaceVisualNode)
 
 DEFINE_CLASS (GLWireframeVisualNode)
 
GLenum glCheckError_ (const char *file, int line)
 
std::array< glm::vec4, 8 > getFrustumCorners (const glm::mat4 &proj)
 
glm::mat4 getLightViewMatrix (glm::vec3 lightDir)
 
glm::mat4 getLightProjMatrix (glm::mat4 lightView, Vec3f lowerBound, Vec3f upperBound, glm::mat4 cameraView, glm::mat4 cameraProj)
 
static void RecieveLogMessage (const Log::Message &m)
 
static void glfw_error_callback (int error, const char *description)
 
QString FormatFieldWidgetName (std::string name)
 
QString FormatBlockPortName (std::string name)
 
QString FormatBlockCaptionName (std::string name)
 
QString FormatDescription (std::string name)
 
 IMPLEMENT_CLASS (States)
 
int CalculteInterval (int val)
 
static PDockWidgetfindByName (const QMainWindow *mainWindow, const QString &name)
 
static PIODockWidgetfindByName (const QMainWindow *mainWindow, const QString &name)
 
PButtonType mappingMouseButton (QMouseEvent *event)
 
PModifierBits mappingModifierBits (Qt::KeyboardModifiers mods)
 
template<typename T>
T castMaximum (float v)
 
template<typename T>
T castMinimum (float v)
 
template<typename Real>
DYN_FUNC float fsign (Real v)
 
template<typename Real>
DYN_FUNC void swapContactPair (TManifold< Real > &m)
 
template<typename Real>
DYN_FUNC bool trackFaceAxis (int &axis, Real &sMax, Vector< Real, 3 > &axisNormal, int n, Real s, const Vector< Real, 3 > &normal)
 
template<typename Real>
DYN_FUNC bool trackEdgeAxis (int &axis, Real &sMax, Vector< Real, 3 > &axisNormal, int n, Real s, const Vector< Real, 3 > &normal)
 
template<typename Real>
DYN_FUNC void computeReferenceEdgesAndBasis (unsigned char *out, SquareMatrix< Real, 3 > *basis, Vector< Real, 3 > *e, const Vector< Real, 3 > &eR, const Transform< Real, 3 > &rtx, Vector< Real, 3 > n, int axis)
 
template<typename Real>
DYN_FUNC void computeIncidentFace (ClipVertex *out, const Transform< Real, 3 > &itx, const Vector< Real, 3 > &e, Vector< Real, 3 > n)
 
template<typename Real>
DYN_FUNC int orthographic (ClipVertex *out, Real sign, Real e, int axis, int clipEdge, ClipVertex *in, int inCount)
 
template<typename Real>
DYN_FUNC int clip (ClipVertex *outVerts, float *outDepths, const Vector< Real, 3 > &rPos, const Vector< Real, 3 > &e, unsigned char *clipEdges, const SquareMatrix< Real, 3 > &basis, ClipVertex *incident)
 
template<typename Real>
DYN_FUNC void edgesContact (Vector< Real, 3 > &CA, Vector< Real, 3 > &CB, const Vector< Real, 3 > &PA, const Vector< Real, 3 > &QA, const Vector< Real, 3 > &PB, const Vector< Real, 3 > &QB)
 
template<typename Real>
DYN_FUNC void checkSignedDistance (Real lowerBoundaryA, Real upperBoundaryA, Real lowerBoundaryB, Real upperBoundaryB, Real &intersectionDistance, Real &boundaryA, Real &boundaryB)
 
template<typename Real>
DYN_FUNC bool checkPointInBoundary (const Vec3f &p, const Vec3f &N, const Real &b, const Real &r)
 
template<typename Real>
DYN_FUNC void updateSDF (Real &boundaryA, Real &boundaryB, Real &depth, Vec3f &normal, Real currentBoundaryA, Real currentBoundaryB, Real currentDepth, Vec3f currentN)
 
template<typename Real, typename ShapeA, typename ShapeB>
DYN_FUNC void checkSignedDistanceAxis (Real &intersectionDistance, Real &BoundaryA, Real &BoundaryB, const Vec3f axisNormal, ShapeA &shapeA, ShapeB &shapeB, const Real radiusA, const Real radiusB)
 
template<typename Real, typename ShapeA, typename ShapeB>
DYN_FUNC void checkAxisPoint (TSeparationData< Real > &sat, ShapeA &shapeA, ShapeB &shapeB, const Real radiusA, const Real radiusB, Vec3f pA, Vec3f pB, const Real rA=0.f, const Real rB=0.f)
 
template<typename Real, typename ShapeA, typename ShapeB>
DYN_FUNC void checkAxisEdge (TSeparationData< Real > &sat, ShapeA &shapeA, ShapeB &shapeB, const Real radiusA, const Real radiusB, Segment3D edgeA, Segment3D edgeB)
 
template<typename Real, typename ShapeA, typename ShapeB>
DYN_FUNC void checkAxisTri (TSeparationData< Real > &sat, ShapeA &shapeA, ShapeB &shapeB, const Real radiusA, const Real radiusB, Triangle3D tri, SeparationType type)
 
template<typename Real, typename ShapeA, typename ShapeB>
DYN_FUNC void checkAxisRect (TSeparationData< Real > &sat, ShapeA &shapeA, ShapeB &shapeB, const Real radiusA, const Real radiusB, Rectangle3D rect, SeparationType type)
 
template<typename Real>
DYN_FUNC void projectOnAxis (Real &lowerBoundary, Real &upperBoundary, const Vec3f axisNormal, Sphere3D sphere, const Real radius)
 
template<typename Real>
DYN_FUNC void setupContactOnSphere (TManifold< Real > &m, TSeparationData< Real > &sat, const TSphere3D< Real > &sphereB, const Real radiusA, const Real radiusB)
 
template<typename Real>
DYN_FUNC int ClippingWithTri (Vector< Real, 3 > *q, const TTriangle3D< Real > &triA, const TSphere3D< Real > &sphereB, const Vector< Real, 3 > &transA, const Vector< Real, 3 > &transB)
 
template<typename Real>
DYN_FUNC int ClippingWithRect (Vector< Real, 3 > *q, const TRectangle3D< Real > &rectA, const TSphere3D< Real > &sphereB, const Vector< Real, 3 > &transA, const Vector< Real, 3 > &transB)
 
template<typename Real>
DYN_FUNC void projectOnAxis (Real &lowerBoundary, Real &upperBoundary, const Vec3f axisNormal, Segment3D seg, const Real radius)
 
template<typename Real>
DYN_FUNC int ClippingWithTri (Vector< Real, 3 > *q, const TTriangle3D< Real > &triA, const TSegment3D< Real > &segB, const Vector< Real, 3 > &transA, const Vector< Real, 3 > &transB)
 
template<typename Real>
DYN_FUNC int ClippingWithRect (Vector< Real, 3 > *q, const TRectangle3D< Real > &rectA, const TSegment3D< Real > &segB, const Vector< Real, 3 > &transA, const Vector< Real, 3 > &transB)
 
template<typename Real>
DYN_FUNC void setupContactOnSeg (TManifold< Real > &m, TSeparationData< Real > &sat, const TSegment3D< Real > &segB, const Real radiusA, const Real radiusB)
 
template<typename Real>
DYN_FUNC void projectOnAxis (Real &lowerBoundary, Real &upperBoundary, const Vec3f axisNormal, Triangle3D tri, const Real radius)
 
template<typename Real>
DYN_FUNC int ClippingWithTri (Vector< Real, 3 > *q, const TTriangle3D< Real > &triA, const TTriangle3D< Real > &triB, const Vector< Real, 3 > &transA, const Vector< Real, 3 > &transB)
 
template<typename Real>
DYN_FUNC int ClippingWithRect (Vector< Real, 3 > *q, const TRectangle3D< Real > &rectA, const TTriangle3D< Real > &triB, const Vector< Real, 3 > &transA, const Vector< Real, 3 > &transB)
 
template<typename Real, typename Shape>
DYN_FUNC void setupContactOnTri (TManifold< Real > &m, TSeparationData< Real > &sat, const Shape &shapeA, const TTriangle3D< Real > &triB, const Real radiusA, const Real radiusB)
 
template<typename Real>
DYN_FUNC void projectOnAxis (Real &lowerBoundary, Real &upperBoundary, const Vec3f axisNormal, Tet3D tet, const Real radius)
 
template<typename Real>
DYN_FUNC int ClippingWithTri (Vector< Real, 3 > *q, const TTriangle3D< Real > &triA, const TTet3D< Real > &tetB, const Vector< Real, 3 > &transA, const Vector< Real, 3 > &transB)
 
template<typename Real>
DYN_FUNC int ClippingWithRect (Vector< Real, 3 > *q, const TRectangle3D< Real > &rectA, const TTet3D< Real > &tetB, const Vector< Real, 3 > &transA, const Vector< Real, 3 > &transB)
 
template<typename Real, typename Shape>
DYN_FUNC void setupContactOnTet (TManifold< Real > &m, TSeparationData< Real > &sat, const Shape &shapeA, const TTet3D< Real > &tetB, const Real radiusA, const Real radiusB)
 
template<typename Real>
DYN_FUNC void projectOnAxis (Real &lowerBoundary, Real &upperBoundary, const Vec3f axisNormal, OrientedBox3D box, const Real radius)
 
template<typename Real>
DYN_FUNC int ClippingWithTri (Vector< Real, 3 > *q, const TTriangle3D< Real > &triA, const TOrientedBox3D< Real > &boxB, const Vector< Real, 3 > &transA, const Vector< Real, 3 > &transB)
 
template<typename Real>
DYN_FUNC int ClippingWithRect (Vector< Real, 3 > *q, const TRectangle3D< Real > &rectA, const TOrientedBox3D< Real > &boxB, const Vector< Real, 3 > &transA, const Vector< Real, 3 > &transB)
 
template<typename Real, typename Shape>
DYN_FUNC void setupContactOnBox (TManifold< Real > &m, TSeparationData< Real > &sat, const Shape &shapeA, const TOrientedBox3D< Real > &boxB, const Real radiusA, const Real radiusB)
 
template<typename Real>
DYN_FUNC void computeSupportEdge (Vector< Real, 3 > &aOut, Vector< Real, 3 > &bOut, const SquareMatrix< Real, 3 > &rot, const Vector< Real, 3 > &trans, const Vector< Real, 3 > &e, Vector< Real, 3 > n)
 
template<typename Real>
DYN_FUNC bool checkOverlapAxis (Real &lowerBoundary1, Real &upperBoundary1, Real &lowerBoundary2, Real &upperBoundary2, Real &intersectionDistance, Real &boundary1, Real &boundary2, const Vector< Real, 3 > axisNormal, OrientedBox3D box, Capsule3D cap)
 
template<typename Real>
DYN_FUNC bool checkOverlapTetTri (Real lowerBoundary1, Real upperBoundary1, Real lowerBoundary2, Real upperBoundary2, Real &intersectionDistance, Real &boundary1, Real &boundary2)
 
template<typename Real>
DYN_FUNC bool checkOverlapAxis (Real &lowerBoundary1, Real &upperBoundary1, Real &lowerBoundary2, Real &upperBoundary2, Real &intersectionDistance, Real &boundary1, Real &boundary2, const Vector< Real, 3 > axisNormal, Tet3D tet, Capsule3D cap)
 
template<typename Real>
DYN_FUNC void setupContactCaps (Real boundary1, Real boundary2, const Vector< Real, 3 > axisNormal, TCapsule3D< Real > cap, TOrientedBox3D< Real > box, Real depth, TManifold< Real > &m)
 
template<typename Real>
DYN_FUNC void setupContactTets (Real boundary1, Real boundary2, const Vector< Real, 3 > axisNormal, Tet3D tet, Capsule3D cap, Real sMax, TManifold< Real > &m)
 
template<typename Real>
DYN_FUNC void setupContactTetTri (Real boundary1, Real boundary2, const Vector< Real, 3 > axisNormal, Tet3D tet, Triangle3D triangle, Real sMax, TManifold< Real > &m)
 
template<typename Real>
DYN_FUNC bool checkOverlap (Real lowerBoundary1, Real upperBoundary1, Real lowerBoundary2, Real upperBoundary2, Real &intersectionDistance, Real &boundary1, Real &boundary2)
 
template<typename Real>
DYN_FUNC bool checkOverlapAxis (Real &lowerBoundary1, Real &upperBoundary1, Real &lowerBoundary2, Real &upperBoundary2, Real &intersectionDistance, Real &boundary1, Real &boundary2, const Vector< Real, 3 > axisNormal, Tet3D tet1, Tet3D tet2)
 
template<typename Real>
DYN_FUNC bool checkOverlapAxis (Real &lowerBoundary1, Real &upperBoundary1, Real &lowerBoundary2, Real &upperBoundary2, Real &intersectionDistance, Real &boundary1, Real &boundary2, const Vector< Real, 3 > axisNormal, Tet3D tet, Triangle3D tri)
 
template<typename Real>
DYN_FUNC bool checkOverlapAxis (Real &lowerBoundary1, Real &upperBoundary1, Real &lowerBoundary2, Real &upperBoundary2, Real &intersectionDistance, Real &boundary1, Real &boundary2, const Vector< Real, 3 > axisNormal, Tet3D tet, OrientedBox3D box)
 
template<typename Real>
DYN_FUNC void setupContactTets (Real boundary1, Real boundary2, const Vector< Real, 3 > axisNormal, Tet3D tet1, Tet3D tet2, Real sMax, TManifold< Real > &m)
 
template<typename Real>
DYN_FUNC void setupContactTets (Real boundary1, Real boundary2, const Vector< Real, 3 > axisNormal, Tet3D tet, TOrientedBox3D< Real > box, Real sMax, TManifold< Real > &m)
 
template<typename Real, typename Coord, DeviceType deviceType, typename IndexType>
DYN_FUNC bool calculateSignedDistance2TriangleSet (ProjectedPoint3D< Real > &p3d, Coord point, Array< Coord, deviceType > &vertices, Array< TopologyModule::Triangle, deviceType > &indices, List< IndexType > &list, Real dHat=0)
 Calculate the signed distance from a point to a triangular mesh.
 
template<typename Real, typename Coord, DeviceType deviceType, typename IndexType>
DYN_FUNC bool calculateSignedDistance2TriangleSetFromNormal (ProjectedPoint3D< Real > &p3d, Coord point, Array< Coord, deviceType > &vertices, Array< TopologyModule::Edge, deviceType > &edges, Array< TopologyModule::Triangle, deviceType > &triangles, Array< TopologyModule::Tri2Edg, deviceType > &t2e, Array< Coord, deviceType > &edgeNormal, Array< Coord, deviceType > &vertexNormal, List< IndexType > &list, Real dHat=0)
 
template<typename Real, typename Coord, DeviceType deviceType, typename IndexType>
DYN_FUNC bool calculateDistance2TriangleSet (ProjectedPoint3D< Real > &p3d, Coord point, Array< Coord, deviceType > &vertices, Array< TopologyModule::Triangle, deviceType > &indices, List< IndexType > &list, Real dHat=0)
 Calculate the distance from a point to a triangular mesh.
 
template<typename Coord, DeviceType deviceType, typename IndexType>
DYN_FUNC void SO_ComputeObjectAndNormal (Coord &pobject, Coord &pnormal, Array< Coord, deviceType > &surf_points, Array< TopologyModule::Edge, deviceType > &edge, Array< TopologyModule::Triangle, deviceType > &surf_triangles, Array< TopologyModule::Tri2Edg, deviceType > &t2e, Array< Coord, deviceType > &edgeN, Array< Coord, deviceType > &vertexN, Coord ppos, IndexType surf_id)
 
 IMPLEMENT_TCLASS (DiscreteElementsToTriangleSet, TDataType)
 
 DEFINE_CLASS (ExtractEdgeSetFromPolygonSet)
 
 DEFINE_CLASS (ExtractTriangleSetFromPolygonSet)
 
 DEFINE_CLASS (ExtractQaudSetFromPolygonSet)
 
 DEFINE_CLASS (MergeSimplexSet)
 
 DEFINE_CLASS (MergeTriangleSet)
 
 DEFINE_CLASS (PointSetToTriangleSet)
 
 DEFINE_CLASS (SplitSimplexSet)
 
 DEFINE_CLASS (CalculateMaximum)
 
 DEFINE_CLASS (CalculateMinimum)
 
 DEFINE_CLASS (AnimationCurve)
 
 DEFINE_CLASS (Frame)
 
 DEFINE_CLASS (GridSet)
 
DYN_FUNC OcKey CalculateMortonCode (Level l, OcIndex x, OcIndex y, OcIndex z)
 
DYN_FUNC void RecoverFromMortonCode (OcKey key, Level &l, OcIndex &x, OcIndex &y, OcIndex &z)
 
 DEFINE_CLASS (StructuredPointSet)
 
 DEFINE_CLASS (UniformGrid3D)
 
 DEFINE_CLASS (UnstructuredPointSet)
 
 IMPLEMENT_CLASS (DiscreteElementsToTriangleSet)
 

Variables

constexpr Real EPSILON = std::numeric_limits<Real>::epsilon()
 
constexpr Real REAL_EPSILON = (std::numeric_limits<Real>::epsilon)()
 
constexpr Real REAL_EPSILON_SQUARED = REAL_EPSILON * REAL_EPSILON
 
constexpr Real REAL_MAX = (std::numeric_limits<Real>::max)()
 
constexpr Real REAL_MIN = (std::numeric_limits<Real>::min)()
 
constexpr Real REAL_INF = (std::numeric_limits<Real>::infinity)()
 
constexpr uint BLOCK_SIZE = 64
 
static std::map< std::string, ClassInfo * > * classInfoMap = NULL
 
std::vector< px::BoxhBox
 
std::map< int, PKeyboardTypeKeyMap
 
QWaitCondition m_wait_condition
 
constexpr int EMPTY = -1
 

Detailed Description

This is an implementation of AdditiveCCD based on peridyno.

This class implements the lienar BVH based on "Maximizing Parallelism in the Construction of BVHs, Octrees, and k-d Trees" by Tero Karras, High Performance Graphics, 2012.

Initial commit.

This is an implementation of drag interaction calculated by vertex, with topo of triangularMesh.

This is an implementation of drag interaction calculated by triangles.

This is an implementation of Adapted SIMPLE Algorithm for SPH Fluids based on peridyno.

This is a implementation of a std::vector liked Random Access Container, however, dynamic allocating is not provided. User have to reserve a buffer strickly offer buffer_size. If needed, user may use copy construct or use a pair of iterator and a buffer_size (default = iterator slice size) to reserve by an exist container or rescourse. However, the second rountine is quite dangerous, because neight the implementation nor complier will check whether the memory is correctly construct, i.e. with proper alignment and struct when none-trivial type (i.e. ADT) is used. All memory visiting behavior and insertion manipulation is asserting protected to aviod protential illegal memory access.

This is an implementation of TightCCD based on peridyno.

Copyright 2021 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2021 Lixin Ren

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2022 Zixuan Lu

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Additive CCD calc maximum TOI such that d(x) > s * (d(x) - xi) + xi to satisfy separation in collision handling board phrase, where d(x) is current primitive distance and xi is the thickness. s is a rescalar.

For details, refer to "Li M, Kaufman D M, Jiang C. Codimensional incremental potential contact[J]. arXiv preprint arXiv:2012.04457, 2020." chapter 5.

Copyright 2021 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

For details, refer to "TightCCD: Efficient and Robust Continuous Collision Detection using Tight Error Bounds" by Wang et al., Pacific Graphics 2015

Be aware TightCCD can remove all the false negatives but not all the false positives refer to "A Large Scale Benchmark and an Inclusion-Based Algorithm for Continuous Collision Detection", TOG 2020, for a comparison for advantages and disadvantages of all CCD methods

Copyright 2024 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2023 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2023 Zixuan Lu

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2023 Zixuan Lu

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

  • assign() make assignment
  • begin() get begin iterator
  • end() get end (non-used) iterator
  • empty() check empty
  • size() get number of previous elements
  • capacity() get maximium capacity
  • resize() resize number of exist elements
  • reserve() which is required and should be called only once, (unless to recommit)
  • data() get pointer of memory
  • operator[] random access rountine, logically should not use assertion for range-out check, but used in thie version
  • at() random access rountine (implement exactly the same as operator[] in this version)
  • front() get front element reference, which is placed in begin()
  • back() get back reference, which is placed in end()-1
  • push_back() push back element
  • pop_back() pop back tail's element
  • find() find the first element with value, using == or predicate function, value_type is required to be comparable
  • insert() set of insertion rountine
  • erase() set of erase rountine
  • clear() clear container, the associated memory will be deconstructed (i.e. ~value_type() is called explicitly), reserved buffer will not be influenced.

Copyright 2022-2024 Shusen Liu

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2021~2024 Shusen Liu

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2017-2022 hanxingyixue

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2017-2023 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2017-2022 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2017-2024 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2022 Lixin Ren

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2023 Shusen Liu

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2022 Shusen Liu

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2023~2024 Hao He, Shusen Liu.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2021 Yue Chang

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 Shusen Liu

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2017-2021 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2021 Shusen Liu

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

For details, refer to "Shusen Liu, Xiaowei He, Wencheng Wang, Enhua Wu. Adapted SIMPLE Algorithm for Incompressible SPH Fluids With a Broad Range Viscosity[J], IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS,2022:28(9). Copyright 2021 Zixuan Lu Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

This algorithm simply take mouse coordinate on screen, while transforming it into intersection plane in world space. The selected point (surface vertex) will shift to fix through directed manipulation on attribute, position and velocity of particles, and the attribute will be restored when mouse-press released.

Copyright 2024 Yuzhong Guo

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 Liang Ruikai

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2021 Nurshat Menglik

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Author
: Yue Chang (yuech.nosp@m.ang@.nosp@m.pku.e.nosp@m.du.c.nosp@m.n)
Date
: 2021-08-06 @description: Declaration of SemiAnalyticalIncompressibilityModule class, implemendation of semi-analytical perojection-based fluids introduced in the paper <Semi-analytical Solid Boundary Conditions for Free Surface Flows>
Version
: 1.1
Author
: Yue Chang (yuech.nosp@m.ang@.nosp@m.pku.e.nosp@m.du.c.nosp@m.n)
Date
: 2021-08-06 @description: Implemendation of SemiAnalyticalIncompressibleFluidModel class, a container for semi-analytical projection-based fluids introduced in the paper <Semi-analytical Solid Boundary Conditions for Free Surface Flows>
Version
: 1.1
Author
: Yue Chang (yuech.nosp@m.ang@.nosp@m.pku.e.nosp@m.du.c.nosp@m.n)
Date
: 2021-08-06 @description: Declaration of SemiAnalyticalIncompressibleFluidModel class, a container for semi-analytical projection-based fluids introduced in the paper <Semi-analytical Solid Boundary Conditions for Free Surface Flows>
Version
: 1.1 SemiAnalyticalIncompressibleFluidModel a NumericalModel for semi-analytical projection-based fluids The solver is projection-based fluids with semi-analytical boundaries reference: "Semi-analytical Solid Boundary Conditions for Free Surface Flows"

Could be used by being created and initialized at SemiAnalyticalSFINode Fields required to be initialized include: m_particle_position m_particle_velocity m_particle_force_density m_particle_attribute m_particle_mass m_triangle_vertex_mass m_triangle_index m_triangle_vertex m_triangle_vertex_old m_smoothing_length

Copyright 2022 Nurshat Menglik

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Author
: Xiaowei He
Date
: 2023/5/14 @description: renamed to SemiAnalyticalParticleShifting
Author
: Yue Chang (yuech.nosp@m.ang@.nosp@m.pku.e.nosp@m.du.c.nosp@m.n)
Date
: 2021-08-04 @description: Declaration of SemiAnalyticalPBD class, which implements the position-based part of semi-analytical boundary conditions introduced in the paper <Semi-analytical Solid Boundary Conditions for Free Surface Flows>
Version
: 1.1
Author
: Yue Chang (yuech.nosp@m.ang@.nosp@m.pku.e.nosp@m.du.c.nosp@m.n)
Date
: 2021-08-06 @description: implemendation of PositionBasedFluidModelMesh class, a container for semi-analytical PBD fluids introduced in the paper <Semi-analytical Solid Boundary Conditions for Free Surface Flows>
Version
: 1.1
Author
: Yue Chang (yuech.nosp@m.ang@.nosp@m.pku.e.nosp@m.du.c.nosp@m.n)
Date
: 2021-08-06 @description: Declaration of PositionBasedFluidModelMesh class, a container for semi-analytical PBD fluids introduced in the paper <Semi-analytical Solid Boundary Conditions for Free Surface Flows>
Version
: 1.1 PositionBasedFluidModelMesh a NumericalModel for semi-analytical PBD fluids The solver is PBD fluids with semi-analytical boundaries reference: "Semi-analytical Solid Boundary Conditions for Free Surface Flows"

Could be used by being created and initialized at SemiAnalyticalSFINode Fields required to be initialized include: m_position m_velocity m_forceDensity m_vn TriPoint TriPointOld Tri m_smoothingLength

Copyright 2022 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2017-2021 hanxingyixue

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2021 Xiawoei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2017-2021 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Author
clouddon
Date
2021-02-25

Support multi-threading

Author
star
Date
2023-08-18

Copyright 2021-2023 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2022 Xiawoei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 Yuzhong Guo

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Revision history:

2024-02-03: replace TriangleSet with PolygonSet as the major state;

Copyright 2022 Yuzhong Guo

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2022 Shusen Liu

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Revision history:

2024-02-03: replace TriangleSet with PolygonSet as the major state;

Copyright 2023 Yuzhong Guo

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2022 Xiaowei He & Shusen Liu

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2017-2023 Jian SHI

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2017-2021 Xiaowei HE

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2017-2022 Jian SHI

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2017-2021 Jian SHI

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2017-2023 Xiaowei HE

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2023-2023 Jian SHI

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2017-2021 Xiaowei He (xiaow.nosp@m.ei@i.nosp@m.scas..nosp@m.ac.c.nosp@m.n)

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2017-2021 Xukun Luo

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Program: OpenGL-based Visualization Widget Module: POpenGLWidget.h

Copyright 2021 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Program: Qt-based widget to visualize a bool type value Module: QBoolFieldWidget.h

Copyright 2022-2023 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Program: Qt-based widget to visualize Color Module: QVector3iFieldWidget.h

Copyright 2023 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Program: Qt Property Item Module: QRampWidget.h

Copyright 2023 Yuzhong Guo

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Program: Qt-based widget to visualize an enum value Module: QEnumFieldWidget.h

Copyright 2023 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Program: Parent class for all field widgets Module: QFieldWidget.h

Copyright 2023 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Program: Qt Property widgets to support string or file path Module: QFilePathWidget.h

Copyright 2023 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Program: Qt-based widget to visualize an integer or unsigned integer Module: QIntegerFieldWidget.h

Copyright 2023 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Program: Qt-based widget to visualize a float or double type value Module: QRealFieldWidget.h

Copyright 2023 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Program: Qt Property Item Module: PPropertyItem.h

Copyright 2022 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Program: Qt-based widget to visualize Vec3f or Vec3d Module: QVector3FieldWidget.h

Copyright 2023 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Program: Qt-based widget to visualize Vec3i or Vec3u Module: QVector3iFieldWidget.h

Copyright 2022 Xiaowei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Program: Qt-based widget to visualize Vec3f or Vec3d Module: QVector3FieldWidget.h

Copyright 2023 Yuzhong Guo

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Program: Qt-based widget to Config Vehicle bindings Module: QVehicleInfoWidget.h

Copyright 2023 Yuzhong Guo

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2024 Xiawoei He

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2023 Xukun Luo

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2017-2022 Yuantian Cai

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Typedef Documentation

◆ AABB

typedef::dyno::TAlignedBox3D< Real > dyno::AABB

Definition at line 11 of file CollisionDetectionBroadPhase.h.

◆ AlignedBox3D

Definition at line 870 of file Primitive3D.h.

◆ byte

typedef unsigned char dyno::byte

Definition at line 18 of file GltfFunc.h.

◆ Capsule3D

typedef TCapsule3D<double> dyno::Capsule3D

Definition at line 868 of file Primitive3D.h.

◆ CArray

template<typename T>
using dyno::CArray = Array<T, DeviceType::CPU>

Definition at line 151 of file Array.h.

◆ CArray2D

template<typename T>
using dyno::CArray2D = Array2D<T, DeviceType::CPU>

Definition at line 131 of file Array2D.h.

◆ CArray3D

template<typename T>
using dyno::CArray3D = Array3D<T, DeviceType::CPU>

Definition at line 136 of file Array3D.h.

◆ CArray3f

typedef CArray3D< float > dyno::CArray3f

Definition at line 27 of file FastSweepingMethod.h.

◆ CArray3i

typedef CArray3D< int > dyno::CArray3i

Definition at line 28 of file FastSweepingMethod.h.

◆ CArray3ui

typedef CArray3D< unsigned int > dyno::CArray3ui

Definition at line 26 of file FastSweepingMethod.h.

◆ CArrayList

template<typename T>
using dyno::CArrayList = ArrayList<T, DeviceType::CPU>

Definition at line 207 of file ArrayList.h.

◆ CArrayMap

template<typename T>
using dyno::CArrayMap = ArrayMap<T, DeviceType::CPU>

Definition at line 94 of file ArrayMap.h.

◆ Cone3D

typedef TCone3D<double> dyno::Cone3D

Definition at line 873 of file Primitive3D.h.

◆ Cylinder3D

typedef TCylinder3D<double> dyno::Cylinder3D

Definition at line 872 of file Primitive3D.h.

◆ DArray

template<typename T>
using dyno::DArray = Array<T, DeviceType::GPU>

Definition at line 89 of file Array.inl.

◆ DArray2D

template<typename T>
using dyno::DArray2D = Array2D<T, DeviceType::GPU>

Definition at line 90 of file Array2D.inl.

◆ DArray3D

template<typename T>
using dyno::DArray3D = Array3D<T, DeviceType::GPU>

Definition at line 90 of file Array3D.inl.

◆ DArrayList

template<typename ElementType>
using dyno::DArrayList = ArrayList<ElementType, DeviceType::GPU>

Definition at line 83 of file ArrayList.inl.

◆ DArrayMap

template<typename T>
using dyno::DArrayMap = ArrayMap<T, DeviceType::GPU>

Definition at line 82 of file ArrayMap.inl.

◆ DataType1d

typedef DataTypes<double, float, float, Rigid<double, 1> > dyno::DataType1d

1d DOF, double precision

Definition at line 49 of file DataTypes.h.

◆ DataType1f

typedef DataTypes<float, float, float, Rigid<float, 1> > dyno::DataType1f

1f DOF, single precision

Definition at line 37 of file DataTypes.h.

◆ DataType2d

2d DOF, double precision

Definition at line 53 of file DataTypes.h.

◆ DataType2f

2f DOF, single precision

Definition at line 41 of file DataTypes.h.

◆ DataType3d

3d DOF, double precision

Definition at line 57 of file DataTypes.h.

◆ DataType3f

3f DOF, single precision

Definition at line 45 of file DataTypes.h.

◆ DeviceArrayField

template<typename T>
using dyno::DeviceArrayField = FArray<T, DeviceType::GPU>

Definition at line 279 of file Field.h.

◆ DeviceVarField

template<typename T>
using dyno::DeviceVarField = FVar<T>

Definition at line 142 of file Field.h.

◆ Disk3D

typedef TDisk3D<double> dyno::Disk3D

Definition at line 866 of file Primitive3D.h.

◆ EnumMap

typedef std::map<int, std::string> dyno::EnumMap

Definition at line 25 of file DeclareEnum.h.

◆ FieldID

typedef std::string dyno::FieldID

Base class for modules.

This class contains all functionality shared by every module in Peridyno. It defines how to retrieve information about an class (name, type, data fields).

Definition at line 35 of file OBase.h.

◆ Grid1b

typedef DArray3D<bool> dyno::Grid1b

Definition at line 94 of file Array3D.inl.

◆ Grid1f

typedef DArray3D<float> dyno::Grid1f

Definition at line 92 of file Array3D.inl.

◆ Grid3f

typedef DArray3D<float3> dyno::Grid3f

Definition at line 93 of file Array3D.inl.

◆ HostArrayField

template<typename T>
using dyno::HostArrayField = FArray<T, DeviceType::CPU>

Definition at line 276 of file Field.h.

◆ HostVarField

template<typename T>
using dyno::HostVarField = FVar<T>

Definition at line 139 of file Field.h.

◆ int64

using dyno::int64 = signed long long

Definition at line 32 of file Typedef.inl.

◆ joint

typedef int dyno::joint

Definition at line 19 of file GltfFunc.h.

◆ Level

typedef unsigned short dyno::Level

Definition at line 38 of file VirtualSpatiallyAdaptiveStrategy.h.

◆ Line3D

typedef TLine3D<double> dyno::Line3D

Definition at line 860 of file Primitive3D.h.

◆ Mat2d

typedef SquareMatrix<double, 2> dyno::Mat2d

Definition at line 87 of file Matrix2x2.h.

◆ Mat2f

typedef SquareMatrix<float, 2> dyno::Mat2f

Definition at line 86 of file Matrix2x2.h.

◆ Mat3d

typedef SquareMatrix<double, 3> dyno::Mat3d

Definition at line 93 of file Matrix3x3.h.

◆ Mat3f

typedef SquareMatrix<float, 3> dyno::Mat3f

Definition at line 92 of file Matrix3x3.h.

◆ Mat4d

typedef SquareMatrix<double, 4> dyno::Mat4d

Definition at line 86 of file Matrix4x4.h.

◆ Mat4f

typedef SquareMatrix<float, 4> dyno::Mat4f

Definition at line 85 of file Matrix4x4.h.

◆ NodeList

typedef std::list<Node*> dyno::NodeList

Definition at line 27 of file SceneGraph.h.

◆ NodeMap

typedef std::map<ObjectId, std::shared_ptr<Node> > dyno::NodeMap

Definition at line 29 of file SceneGraph.h.

◆ ObjectConstructorFn

typedef Object *(* dyno::ObjectConstructorFn) (void)

Definition at line 27 of file Object.h.

◆ ObjectId

typedef uint32_t dyno::ObjectId

Definition at line 110 of file Object.h.

◆ OcIndex

typedef unsigned short dyno::OcIndex

Definition at line 36 of file VirtualSpatiallyAdaptiveStrategy.h.

◆ OcKey

typedef unsigned long long int dyno::OcKey

Definition at line 37 of file VirtualSpatiallyAdaptiveStrategy.h.

◆ OrientedBox3D

Definition at line 871 of file Primitive3D.h.

◆ Picture

typedef struct dyno::Picture dyno::Picture

◆ PKey

typedef unsigned long long int dyno::PKey

Definition at line 12 of file CollisionDetectionBroadPhase.h.

◆ Plane3D

typedef TPlane3D<double> dyno::Plane3D

Definition at line 863 of file Primitive3D.h.

◆ Point3D

typedef TPoint3D<double> dyno::Point3D

Definition at line 859 of file Primitive3D.h.

◆ PointSweep3D

Definition at line 80 of file PrimitiveSweep3D.h.

◆ PointType

typedef int dyno::PointType

Definition at line 22 of file TopologyModule.h.

◆ ProgramID

typedef std::string dyno::ProgramID

Definition at line 36 of file OBase.h.

◆ ptrDiff_t

typedef long long dyno::ptrDiff_t

Definition at line 33 of file type_traits.h.

◆ Quat1d

typedef Quat<double> dyno::Quat1d

Definition at line 137 of file Quat.h.

◆ Quat1f

typedef Quat< float > dyno::Quat1f

Definition at line 136 of file Quat.h.

◆ Ray3D

typedef TRay3D<double> dyno::Ray3D

Definition at line 861 of file Primitive3D.h.

◆ Rectangle3D

Definition at line 865 of file Primitive3D.h.

◆ Rigid2d

typedef Rigid<double, 2> dyno::Rigid2d

Definition at line 42 of file rigid_2d.h.

◆ Rigid2f

typedef Rigid<float, 2> dyno::Rigid2f

Definition at line 41 of file rigid_2d.h.

◆ Rigid3d

typedef Rigid<double, 3> dyno::Rigid3d

Definition at line 46 of file rigid_3d.h.

◆ Rigid3f

typedef Rigid<float, 3> dyno::Rigid3f

Definition at line 45 of file rigid_3d.h.

◆ scene

typedef int dyno::scene

Definition at line 20 of file GltfFunc.h.

◆ SceneGraphCreator

typedef std::function<std::shared_ptr<SceneGraph>()> dyno::SceneGraphCreator

Definition at line 24 of file SceneGraphFactory.h.

◆ Segment3D

typedef TSegment3D<double> dyno::Segment3D

Definition at line 862 of file Primitive3D.h.

◆ Sphere3D

typedef TSphere3D<double> dyno::Sphere3D

Definition at line 867 of file Primitive3D.h.

◆ Tet3D

typedef TTet3D<double> dyno::Tet3D

Definition at line 869 of file Primitive3D.h.

◆ Transform2d

typedef Transform<double, 2> dyno::Transform2d

Definition at line 48 of file Transform2x2.h.

◆ Transform2f

typedef Transform<float, 2> dyno::Transform2f

Definition at line 47 of file Transform2x2.h.

◆ Transform3d

typedef Transform<double, 3> dyno::Transform3d

Definition at line 47 of file Transform3x3.h.

◆ Transform3f

typedef Transform<float, 3> dyno::Transform3f

Definition at line 46 of file Transform3x3.h.

◆ Triangle

The standard summation density.

Template Parameters
TDataType

Definition at line 58 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ Triangle3D

typedef TTriangle3D<double> dyno::Triangle3D

Definition at line 864 of file Primitive3D.h.

◆ TriangleSweep3D

Definition at line 81 of file PrimitiveSweep3D.h.

◆ uchar

using dyno::uchar = unsigned char

Definition at line 30 of file Typedef.inl.

◆ uint

using dyno::uint = unsigned int

Definition at line 14 of file VkProgram.h.

◆ uint64

using dyno::uint64 = unsigned long long

Definition at line 31 of file Typedef.inl.

◆ Vec2d

typedef Vector<double, 2> dyno::Vec2d

Definition at line 82 of file Vector2D.h.

◆ Vec2f

typedef Vector<float, 2> dyno::Vec2f

Definition at line 81 of file Vector2D.h.

◆ Vec2i

typedef Vector<int, 2> dyno::Vec2i

Definition at line 84 of file Vector2D.h.

◆ Vec2u

typedef Vector<uint32_t, 2> dyno::Vec2u

Definition at line 83 of file Vector2D.h.

◆ Vec3c

typedef Vector<char, 3> dyno::Vec3c

Definition at line 97 of file Vector3D.h.

◆ Vec3d

typedef Vector<double, 3> dyno::Vec3d

Definition at line 94 of file Vector3D.h.

◆ Vec3f

typedef Vector<float, 3> dyno::Vec3f

Definition at line 93 of file Vector3D.h.

◆ Vec3i

typedef Vector< int, 3 > dyno::Vec3i

Definition at line 95 of file Vector3D.h.

◆ Vec3u

typedef Vector<uint, 3> dyno::Vec3u

Definition at line 96 of file Vector3D.h.

◆ Vec3uc

typedef Vector<uchar, 3> dyno::Vec3uc

Definition at line 98 of file Vector3D.h.

◆ Vec3ui

typedef Vector< unsigned int, 3 > dyno::Vec3ui

Definition at line 23 of file FastSweepingMethod.h.

◆ Vec4d

typedef Vector<double, 4> dyno::Vec4d

Definition at line 87 of file Vector4D.h.

◆ Vec4f

typedef Vector<float, 4> dyno::Vec4f

Definition at line 86 of file Vector4D.h.

Enumeration Type Documentation

◆ BasicShapeType

Enumerator
PLANE 
CUBE 
SPHERE 
CONE 
CAPSULE 
CYLINDER 
UNKNOWN 

Definition at line 22 of file BasicShape.h.

◆ BodyType

Enumerator
Static 
Kinematic 
Dynamic 
NonRotatable 
NonGravitative 

Definition at line 23 of file CollisionData.h.

◆ ButtonState

Enumerator
GLFW_DOWN 
GLFW_UP 

Definition at line 15 of file GlfwRenderWindow.h.

◆ CModeMask

Enumerator
CM_Disabled 
CM_OriginDCD_Tet 
CM_InputSDF_Tet 
CM_RigidSurface_Tet 
CM_TetMesh_Tet 
CM_SurfaceMesh_Tet 
CM_OriginDCD_Sphere 
CM_InputSDF_Sphere 

Definition at line 11 of file CollisionData.h.

◆ CollisionMask

Enumerator
CT_AllObjects 
CT_BoxExcluded 
CT_TetExcluded 
CT_CapsuleExcluded 
CT_SphereExcluded 
CT_BoxOnly 
CT_TetOnly 
CT_CapsuleOnly 
CT_SphereOnly 
CT_Disabled 

Definition at line 33 of file CollisionData.h.

◆ ConfigJointType

Enumerator
BallAndSocket 
Slider 
Hinge 
Fixed 
Point 
OtherJoint 

Definition at line 31 of file VehicleInfo.h.

◆ ConfigMotionType

Enumerator
CMT_Static 
CMT_Kinematic 
CMT_Dynamic 

Definition at line 14 of file VehicleInfo.h.

◆ ConfigShapeType

Enumerator
Box 
Tet 
Capsule 
Sphere 
Tri 
OtherShape 

Definition at line 21 of file VehicleInfo.h.

◆ ConstraintType

Enumerator
CN_NONPENETRATION 
CN_FRICTION 
CN_FLUID_STICKINESS 
CN_FLUID_SLIPINESS 
CN_FLUID_NONPENETRATION 
CN_GLOBAL_NONPENETRATION 
CN_LOACL_NONPENETRATION 
CN_ANCHOR_EQUAL_1 
CN_ANCHOR_EQUAL_2 
CN_ANCHOR_EQUAL_3 
CN_ANCHOR_TRANS_1 
CN_ANCHOR_TRANS_2 
CN_BAN_ROT_1 
CN_BAN_ROT_2 
CN_BAN_ROT_3 
CN_ALLOW_ROT1D_1 
CN_ALLOW_ROT1D_2 
CN_JOINT_SLIDER_MIN 
CN_JOINT_SLIDER_MAX 
CN_JOINT_SLIDER_MOTER 
CN_JOINT_HINGE_MIN 
CN_JOINT_HINGE_MAX 
CN_JOINT_HINGE_MOTER 
CN_JOINT_NO_MOVE_1 
CN_JOINT_NO_MOVE_2 
CN_JOINT_NO_MOVE_3 
CN_UNKNOWN 

Definition at line 59 of file CollisionData.h.

◆ ContactType

Enumerator
CT_BOUDNARY 
CT_INTERNAL 
CT_NONPENETRATION 
CT_SURFACE 
CT_VERTEX_SDF 
CT_VERTEX_FACE 
CT_EDGE_EDGE 
CT_UNKNOWN 

Definition at line 47 of file CollisionData.h.

◆ DataType

Enumerator
FloatType 
DoubleType 
UnknownType 

Definition at line 57 of file PDataViewerWidget.h.

◆ EEnvStyle

Enumerator
Standard 
Studio 

Definition at line 33 of file RenderEngine.h.

◆ ElementType

Enumerator
ET_BOX 
ET_TET 
ET_CAPSULE 
ET_SPHERE 
ET_TRI 
ET_COMPOUND 
ET_Other 

Definition at line 9 of file DiscreteElements.h.

◆ EnergyType

Enumerator
Linear 
StVK 
NeoHooekean 
Xuetal 
MooneyRivlin 
Fung 
Ogden 
Yeoh 
ArrudaBoyce 
Fiber 

Definition at line 22 of file EnergyDensityFunction.h.

◆ FieldTypeEnum

Enumerator
In 
Out 
IO 
Param 
State 
Next 

Definition at line 29 of file FBase.h.

◆ GridType

Enumerator
Accepted 
Tentative 
Infinite 

Definition at line 28 of file VolumeMacros.h.

◆ GUIType

Enumerator
GUI_GLFW 
GUI_QT 
GUI_WT 

Definition at line 30 of file UbiApp.h.

◆ LerpMode

Linear interpolation functions for Array, Array2D and Array3D

Enumerator
REPEAT 
CLAMP_TO_BORDER 

Definition at line 29 of file Lerp.h.

◆ MotionType

Enumerator
MT_Static 
MT_Kinematic 
MT_Dynamic 

Definition at line 12 of file RigidBodyShared.h.

◆ NodePortType

Enumerator
Single 
Multiple 
Unknown 

Definition at line 26 of file NodePort.h.

◆ PActionType

Enumerator
AT_UNKOWN 
AT_RELEASE 
AT_PRESS 
AT_REPEAT 

Definition at line 32 of file InputModule.h.

◆ PButtonType

Enumerator
BT_UNKOWN 
BT_LEFT 
BT_RIGHT 
BT_MIDDLE 

Definition at line 24 of file InputModule.h.

◆ PKeyboardType

Enumerator
PKEY_UNKNOWN 
PKEY_SPACE 
PKEY_APOSTROPHE 
PKEY_COMMA 
PKEY_MINUS 
PKEY_PERIOD 
PKEY_SLASH 
PKEY_0 
PKEY_1 
PKEY_2 
PKEY_3 
PKEY_4 
PKEY_5 
PKEY_6 
PKEY_7 
PKEY_8 
PKEY_9 
PKEY_SEMICOLON 
PKEY_EQUAL 
PKEY_A 
PKEY_B 
PKEY_C 
PKEY_D 
PKEY_E 
PKEY_F 
PKEY_G 
PKEY_H 
PKEY_I 
PKEY_J 
PKEY_K 
PKEY_L 
PKEY_M 
PKEY_N 
PKEY_O 
PKEY_P 
PKEY_Q 
PKEY_R 
PKEY_S 
PKEY_T 
PKEY_U 
PKEY_V 
PKEY_W 
PKEY_X 
PKEY_Y 
PKEY_Z 
PKEY_LEFT_BRACKET 
PKEY_BACKSLASH 
PKEY_RIGHT_BRACKET 
PKEY_GRAVE_ACCENT 
PKEY_WORLD_1 
PKEY_WORLD_2 
PKEY_ESCAPE 
PKEY_ENTER 
PKEY_TAB 
PKEY_BACKSPACE 
PKEY_INSERT 
PKEY_DELETE 
PKEY_RIGHT 
PKEY_LEFT 
PKEY_DOWN 
PKEY_UP 
PKEY_PAGE_UP 
PKEY_PAGE_DOWN 
PKEY_HOME 
PKEY_END 
PKEY_CAPS_LOCK 
PKEY_SCROLL_LOCK 
PKEY_NUM_LOCK 
PKEY_PRINT_SCREEN 
PKEY_PAUSE 
PKEY_F1 
PKEY_F2 
PKEY_F3 
PKEY_F4 
PKEY_F5 
PKEY_F6 
PKEY_F7 
PKEY_F8 
PKEY_F9 
PKEY_F10 
PKEY_F11 
PKEY_F12 
PKEY_F13 
PKEY_F14 
PKEY_F15 
PKEY_F16 
PKEY_F17 
PKEY_F18 
PKEY_F19 
PKEY_F20 
PKEY_F21 
PKEY_F22 
PKEY_F23 
PKEY_F24 
PKEY_F25 
PKEY_KP_0 
PKEY_KP_1 
PKEY_KP_2 
PKEY_KP_3 
PKEY_KP_4 
PKEY_KP_5 
PKEY_KP_6 
PKEY_KP_7 
PKEY_KP_8 
PKEY_KP_9 
PKEY_KP_DECIMAL 
PKEY_KP_DIVIDE 
PKEY_KP_MULTIPLY 
PKEY_KP_SUBTRACT 
PKEY_KP_ADD 
PKEY_KP_ENTER 
PKEY_KP_EQUAL 
PKEY_LEFT_SHIFT 
PKEY_LEFT_CONTROL 
PKEY_LEFT_ALT 
PKEY_LEFT_SUPER 
PKEY_RIGHT_SHIFT 
PKEY_RIGHT_CONTROL 
PKEY_RIGHT_ALT 
PKEY_RIGHT_SUPER 

Definition at line 40 of file InputModule.h.

◆ PModifierBits

Enumerator
MB_NO_MODIFIER 
MB_SHIFT 
MB_CONTROL 
MB_ALT 
MB_SUPER 
MB_CAPS_LOCK 
MB_NUM_LOCK 

Definition at line 164 of file InputModule.h.

◆ QButtonState

Enumerator
QBUTTON_DOWN 
QBUTTON_UP 

Definition at line 42 of file POpenGLWidget.h.

◆ QButtonType

Enumerator
QBUTTON_LETF 
QBUTTON_RIGHT 
QBUTTON_UNKNOWN 

Definition at line 48 of file POpenGLWidget.h.

◆ SeparationType

Enumerator
CT_POINT 
CT_EDGE 
CT_TRIA 
CT_TRIB 
CT_RECTA 
CT_RECTB 

Definition at line 7 of file CollisionDetectionAlgorithm.h.

◆ TemplateName

Enumerator
FArrayType 
FArrayListType 
FVarType 
NoneType 

Definition at line 49 of file PDataViewerWidget.h.

◆ VariableType

Enumerator
DeviceBuffer 

Device buffer.

HostBuffer 

Host buffer.

Constant 

Constant variable.

Uniform 

Uniform variable.

Definition at line 13 of file VkVariable.h.

◆ VkFFT_Type

Enumerator
VkFFT_INVERSE 
VkFFT_FORWARD 

Definition at line 9 of file VkFFT.h.

◆ VkResizeType

Enumerator
VK_BUFFER_REALLOCATED 
VK_BUFFER_REUSED 
VK_FAILED 

Definition at line 21 of file VkVariable.h.

Function Documentation

◆ __builtin_clz()

DYN_FUNC unsigned int dyno::__builtin_clz ( unsigned int x)
inline

Definition at line 246 of file SimpleMath.h.

Here is the caller graph for this function:

◆ abs() [1/4]

template<typename T>
DYN_FUNC T dyno::abs ( const T & v)
inline

Definition at line 81 of file SimpleMath.h.

Here is the caller graph for this function:

◆ abs() [2/4]

template<typename T>
DYN_FUNC Vector< T, 2 > dyno::abs ( const Vector< T, 2 > & v)
inline

Definition at line 87 of file SimpleMath.h.

◆ abs() [3/4]

template<typename T>
DYN_FUNC Vector< T, 3 > dyno::abs ( const Vector< T, 3 > & v)
inline

Definition at line 97 of file SimpleMath.h.

◆ abs() [4/4]

template<typename T>
DYN_FUNC Vector< T, 4 > dyno::abs ( const Vector< T, 4 > & v)
inline

Definition at line 108 of file SimpleMath.h.

◆ acos()

template<typename Real>
DYN_FUNC Complex< Real > dyno::acos ( const Complex< Real > & __x)
inline

Definition at line 519 of file Complex.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ acosh()

template<typename Real>
DYN_FUNC Complex< Real > dyno::acosh ( const Complex< Real > & __x)
inline

Definition at line 427 of file Complex.inl.

Here is the call graph for this function:

◆ adjust_heap() [1/2]

template<typename RandomAccessIterator, typename Distance, typename T, typename Compare>
DYN_FUNC void dyno::adjust_heap ( RandomAccessIterator first,
Distance topPosition,
Distance heapSize,
Distance position,
const T & value,
Compare compare )

adjust_heap Given a position that has just been vacated, this function moves new values into that vacated position appropriately. The Compare function must work equivalently to the compare function used to make and maintain the heap. This function requires that the value argument refer to a value that is currently not within the heap.

Definition at line 103 of file Heap.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ adjust_heap() [2/2]

template<typename RandomAccessIterator, typename Distance, typename T, typename Compare>
DYN_FUNC void dyno::adjust_heap ( RandomAccessIterator first,
Distance topPosition,
Distance heapSize,
Distance position,
T && value,
Compare compare )

Definition at line 110 of file Heap.h.

Here is the call graph for this function:

◆ adjust_heap_impl()

template<typename RandomAccessIterator, typename Distance, typename T, typename Compare, typename ValueType>
DYN_FUNC void dyno::adjust_heap_impl ( RandomAccessIterator first,
Distance topPosition,
Distance heapSize,
Distance position,
T value,
Compare compare )

adjust heap implementation

Definition at line 74 of file Heap.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ApplyTransform()

void dyno::ApplyTransform ( DArrayList< Transform3f > & instanceTransform,
const DArray< Vec3f > & translate,
const DArray< Mat3f > & rotation,
const DArray< Pair< uint, uint > > & binding,
const DArray< int > & bindingtag )
Here is the caller graph for this function:

◆ arg()

template<typename Real>
DYN_FUNC Real dyno::arg ( const Complex< Real > & __c)
inline

Definition at line 273 of file Complex.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ asin()

template<typename Real>
DYN_FUNC Complex< Real > dyno::asin ( const Complex< Real > & __x)
inline

Definition at line 510 of file Complex.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ asinh()

template<typename Real>
DYN_FUNC Complex< Real > dyno::asinh ( const Complex< Real > & __x)
inline

Definition at line 384 of file Complex.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ atan()

template<typename Real>
DYN_FUNC Complex< Real > dyno::atan ( const Complex< Real > & __x)
inline

Definition at line 555 of file Complex.inl.

Here is the call graph for this function:

◆ atanh()

template<typename Real>
DYN_FUNC Complex< Real > dyno::atanh ( const Complex< Real > & __x)
inline

Definition at line 458 of file Complex.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BFS()

void dyno::BFS ( Node * node,
NodeList & list,
std::map< ObjectId, bool > & visited )

Definition at line 536 of file SceneGraph.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BFSWithAutoSync()

void dyno::BFSWithAutoSync ( Node * node,
NodeList & list,
std::map< ObjectId, bool > & visited )

Definition at line 709 of file SceneGraph.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ bilinear()

template<typename T, DeviceType deviceType>
DYN_FUNC T dyno::bilinear ( Array2D< T, deviceType > & array2d,
float x,
float y,
LerpMode mode = LerpMode::REPEAT )

Definition at line 56 of file Lerp.h.

◆ buffer2DPtr()

template<typename T>
VkDeviceArray2D< T > * dyno::buffer2DPtr ( )
inline

Definition at line 69 of file VkProgram.h.

◆ buffer3DPtr()

template<typename T>
VkDeviceArray3D< T > * dyno::buffer3DPtr ( )
inline

Definition at line 76 of file VkProgram.h.

◆ bufferPtr()

template<typename T>
VkDeviceArray< T > * dyno::bufferPtr ( )
inline

Definition at line 62 of file VkProgram.h.

◆ buildCFMAndERP()

void dyno::buildCFMAndERP ( DArray< Vec3f > J,
DArray< Vec3f > B,
DArray< TConstraintPair< float > > constraints,
DArray< float > CFM,
DArray< float > ERP,
float hertz,
float zeta,
float dt )

◆ buildInverseBindMatrices()

void dyno::buildInverseBindMatrices ( const std::vector< joint > & all_Joints,
std::map< joint, Mat4f > & joint_matrix,
int & maxJointId,
tinygltf::Model & model,
std::map< joint, Quat< float > > & joint_rotation,
std::map< joint, Vec3f > & joint_translation,
std::map< joint, Vec3f > & joint_scale,
std::map< joint, Mat4f > & joint_inverseBindMatrix,
std::map< joint, std::vector< int > > jointId_joint_Dir )

◆ calculateContactPoints()

void dyno::calculateContactPoints ( DArray< TContactPair< float > > contacts,
DArray< int > contactCnt )

◆ calculateDiagnals()

void dyno::calculateDiagnals ( DArray< float > d,
DArray< Vec3f > J,
DArray< Vec3f > B )

◆ calculateDistance2TriangleSet()

template<typename Real, typename Coord, DeviceType deviceType, typename IndexType>
DYN_FUNC bool dyno::calculateDistance2TriangleSet ( ProjectedPoint3D< Real > & p3d,
Coord point,
Array< Coord, deviceType > & vertices,
Array< TopologyModule::Triangle, deviceType > & indices,
List< IndexType > & list,
Real dHat = 0 )

Calculate the distance from a point to a triangular mesh.

Parameters
p3dreturn the cloest point on the triangular mesh
pointinput point
verticesvertices of the triangular mesh
indicesindices of the triangular mesh
listtiangule ids to be checked
dHatthe thickness of the triangular mesh
Returns
return false when the input list is empty, in this case do not use p3d in the following code

Definition at line 83 of file Distance3D.inl.

Here is the call graph for this function:

◆ calculateEtaVectorForNJS()

void dyno::calculateEtaVectorForNJS ( DArray< float > eta,
DArray< Vec3f > J,
DArray< Vec3f > pos,
DArray< Quat1f > rotation_q,
DArray< TConstraintPair< float > > constraints,
float slop,
float beta )

◆ calculateEtaVectorForPJS()

void dyno::calculateEtaVectorForPJS ( DArray< float > eta,
DArray< Vec3f > J,
DArray< Vec3f > velocity,
DArray< Vec3f > angular_velocity,
DArray< TConstraintPair< float > > constraints )

◆ calculateEtaVectorForPJSBaumgarte()

void dyno::calculateEtaVectorForPJSBaumgarte ( DArray< float > eta,
DArray< Vec3f > J,
DArray< Vec3f > velocity,
DArray< Vec3f > angular_velocity,
DArray< Vec3f > pos,
DArray< Quat1f > rotation_q,
DArray< TConstraintPair< float > > constraints,
DArray< float > errors,
float slop,
float beta,
uint substepping,
float dt )

◆ calculateEtaVectorForPJSoft()

void dyno::calculateEtaVectorForPJSoft ( DArray< float > eta,
DArray< Vec3f > J,
DArray< Vec3f > velocity,
DArray< Vec3f > angular_velocity,
DArray< Vec3f > pos,
DArray< Quat1f > rotation_q,
DArray< TConstraintPair< float > > constraints,
float slop,
float zeta,
float hertz,
float substepping,
float dt )

◆ calculateEtaVectorForRelaxation()

void dyno::calculateEtaVectorForRelaxation ( DArray< float > eta,
DArray< Vec3f > J,
DArray< Vec3f > velocity,
DArray< Vec3f > angular_velocity,
DArray< TConstraintPair< float > > constraints )

◆ calculateEtaVectorWithERP()

void dyno::calculateEtaVectorWithERP ( DArray< float > eta,
DArray< Vec3f > J,
DArray< Vec3f > velocity,
DArray< Vec3f > angular_velocity,
DArray< Vec3f > pos,
DArray< Quat1f > rotation_q,
DArray< TConstraintPair< float > > constraints,
DArray< float > ERP,
float slop,
float dt )

◆ calculateImpulseByLambda()

void dyno::calculateImpulseByLambda ( DArray< float > lambda,
DArray< TConstraintPair< float > > constraints,
DArray< Vec3f > impulse,
DArray< Vec3f > B )

◆ calculateIntersectionArea()

template<typename Real>
DYN_FUNC Real dyno::calculateIntersectionArea ( const TPoint3D< Real > & pt,
const TTriangle3D< Real > & triangle,
const Real & R )
inline

Calculate the intersection area between a sphere and a triangle by using the domain decompsotion algorithm. For more details, please refer to Section 4.1 of [Chang et al. 2020]: "Semi-analytical Solid Boundary Conditions for Free Surface Flows".

Parameters
ptcenter of the sphere
triangletrianlge
rradius of the sphere
Returns
the intersection area

Definition at line 31 of file IntersectionArea.h.

Here is the call graph for this function:

◆ calculateJacobianMatrix()

void dyno::calculateJacobianMatrix ( DArray< Vec3f > J,
DArray< Vec3f > B,
DArray< Vec3f > pos,
DArray< Mat3f > inertia,
DArray< float > mass,
DArray< Mat3f > rotMat,
DArray< TConstraintPair< float > > constraints )

◆ calculateJacobianMatrixForNJS()

void dyno::calculateJacobianMatrixForNJS ( DArray< Vec3f > J,
DArray< Vec3f > B,
DArray< Vec3f > pos,
DArray< Mat3f > inertia,
DArray< float > mass,
DArray< Mat3f > rotMat,
DArray< TConstraintPair< float > > constraints )

◆ calculateK()

void dyno::calculateK ( DArray< TConstraintPair< float > > constraints,
DArray< Vec3f > J,
DArray< Vec3f > B,
DArray< Vec3f > pos,
DArray< Mat3f > inertia,
DArray< float > mass,
DArray< float > K_1,
DArray< Mat2f > K_2,
DArray< Mat3f > K_3 )

◆ calculateKWithCFM()

void dyno::calculateKWithCFM ( DArray< TConstraintPair< float > > constraints,
DArray< Vec3f > J,
DArray< Vec3f > B,
DArray< Vec3f > pos,
DArray< Mat3f > inertia,
DArray< float > mass,
DArray< float > K_1,
DArray< Mat2f > K_2,
DArray< Mat3f > K_3,
DArray< float > CFM )

◆ calculateLinearSystemLHS()

void dyno::calculateLinearSystemLHS ( DArray< Vec3f > & J,
DArray< Vec3f > & B,
DArray< Vec3f > & impulse,
DArray< float > & lambda,
DArray< float > & ans,
DArray< float > & CFM,
DArray< TConstraintPair< float > > & constraints )

◆ calculateMatrixA()

void dyno::calculateMatrixA ( DArray< Vec3f > & J,
DArray< Vec3f > & B,
DArray< float > & A,
DArray< TConstraintPair< float > > & constraints,
float k )

◆ CalculateMortonCode() [1/2]

DYN_FUNC OcKey dyno::CalculateMortonCode ( Level l,
OcIndex x,
OcIndex y,
OcIndex z )

◆ CalculateMortonCode() [2/2]

static DYN_FUNC OcKey dyno::CalculateMortonCode ( OcIndex x,
OcIndex y,
OcIndex z )
static

Definition at line 32 of file VoxelOctree.h.

Here is the caller graph for this function:

◆ calculateSignedDistance2TriangleSet()

template<typename Real, typename Coord, DeviceType deviceType, typename IndexType>
DYN_FUNC bool dyno::calculateSignedDistance2TriangleSet ( ProjectedPoint3D< Real > & p3d,
Coord point,
Array< Coord, deviceType > & vertices,
Array< TopologyModule::Triangle, deviceType > & indices,
List< IndexType > & list,
Real dHat = 0 )

Calculate the signed distance from a point to a triangular mesh.

Parameters
p3dreturn the cloest point on the triangular mesh
pointinput point
verticesvertices of the triangular mesh
indicesindices of the triangular mesh
listtiangule ids to be checked
dHatthe thickness of the triangular mesh
Returns
return false when the input list is empty, in this case do not use p3d in the following code

Definition at line 4 of file Distance3D.inl.

Here is the call graph for this function:

◆ calculateSignedDistance2TriangleSetFromNormal()

template<typename Real, typename Coord, DeviceType deviceType, typename IndexType>
DYN_FUNC bool dyno::calculateSignedDistance2TriangleSetFromNormal ( ProjectedPoint3D< Real > & p3d,
Coord point,
Array< Coord, deviceType > & vertices,
Array< TopologyModule::Edge, deviceType > & edges,
Array< TopologyModule::Triangle, deviceType > & triangles,
Array< TopologyModule::Tri2Edg, deviceType > & t2e,
Array< Coord, deviceType > & edgeNormal,
Array< Coord, deviceType > & vertexNormal,
List< IndexType > & list,
Real dHat = 0 )

Definition at line 389 of file Distance3D.inl.

Here is the call graph for this function:

◆ CalculteInterval()

int dyno::CalculteInterval ( int val)

Definition at line 49 of file PAnimationQSlider.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ castMaximum()

template<typename T>
T dyno::castMaximum ( float v)

Definition at line 52 of file QFieldWidget.h.

Here is the caller graph for this function:

◆ castMinimum()

template<typename T>
T dyno::castMinimum ( float v)

Definition at line 59 of file QFieldWidget.h.

Here is the caller graph for this function:

◆ change_heap()

template<typename RandomAccessIterator, typename Distance, typename Compare>
DYN_FUNC void dyno::change_heap ( RandomAccessIterator first,
Distance heapSize,
Distance position,
Compare compare )
inline

change_heap Given a value in the heap that has changed in priority, this function adjusts the heap appropriately. The heap size remains unchanged after this operation.

Definition at line 221 of file Heap.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkAxisEdge()

template<typename Real, typename ShapeA, typename ShapeB>
DYN_FUNC void dyno::checkAxisEdge ( TSeparationData< Real > & sat,
ShapeA & shapeA,
ShapeB & shapeB,
const Real radiusA,
const Real radiusB,
Segment3D edgeA,
Segment3D edgeB )
inline

Definition at line 553 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkAxisPoint()

template<typename Real, typename ShapeA, typename ShapeB>
DYN_FUNC void dyno::checkAxisPoint ( TSeparationData< Real > & sat,
ShapeA & shapeA,
ShapeB & shapeB,
const Real radiusA,
const Real radiusB,
Vec3f pA,
Vec3f pB,
const Real rA = 0.f,
const Real rB = 0.f )
inline

Definition at line 529 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkAxisRect()

template<typename Real, typename ShapeA, typename ShapeB>
DYN_FUNC void dyno::checkAxisRect ( TSeparationData< Real > & sat,
ShapeA & shapeA,
ShapeB & shapeB,
const Real radiusA,
const Real radiusB,
Rectangle3D rect,
SeparationType type )
inline

Definition at line 600 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkAxisTri()

template<typename Real, typename ShapeA, typename ShapeB>
DYN_FUNC void dyno::checkAxisTri ( TSeparationData< Real > & sat,
ShapeA & shapeA,
ShapeB & shapeB,
const Real radiusA,
const Real radiusB,
Triangle3D tri,
SeparationType type )
inline

Definition at line 577 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkbit()

DYN_FUNC int dyno::checkbit ( unsigned int const & x,
unsigned int const & y )
inline

Definition at line 263 of file SimpleMath.h.

◆ checkOutError()

Real dyno::checkOutError ( DArray< Vec3f > J,
DArray< Vec3f > mImpulse,
DArray< TConstraintPair< float > > constraints,
DArray< float > eta )

◆ checkOutErrors()

double dyno::checkOutErrors ( DArray< float > errors)

◆ checkOverlap()

template<typename Real>
DYN_FUNC bool dyno::checkOverlap ( Real lowerBoundary1,
Real upperBoundary1,
Real lowerBoundary2,
Real upperBoundary2,
Real & intersectionDistance,
Real & boundary1,
Real & boundary2 )
inline

Definition at line 4388 of file CollisionDetectionAlgorithm.inl.

Here is the caller graph for this function:

◆ checkOverlapAxis() [1/5]

template<typename Real>
DYN_FUNC bool dyno::checkOverlapAxis ( Real & lowerBoundary1,
Real & upperBoundary1,
Real & lowerBoundary2,
Real & upperBoundary2,
Real & intersectionDistance,
Real & boundary1,
Real & boundary2,
const Vector< Real, 3 > axisNormal,
OrientedBox3D box,
Capsule3D cap )
inline

Definition at line 3242 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkOverlapAxis() [2/5]

template<typename Real>
DYN_FUNC bool dyno::checkOverlapAxis ( Real & lowerBoundary1,
Real & upperBoundary1,
Real & lowerBoundary2,
Real & upperBoundary2,
Real & intersectionDistance,
Real & boundary1,
Real & boundary2,
const Vector< Real, 3 > axisNormal,
Tet3D tet,
Capsule3D cap )
inline

Definition at line 3374 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:

◆ checkOverlapAxis() [3/5]

template<typename Real>
DYN_FUNC bool dyno::checkOverlapAxis ( Real & lowerBoundary1,
Real & upperBoundary1,
Real & lowerBoundary2,
Real & upperBoundary2,
Real & intersectionDistance,
Real & boundary1,
Real & boundary2,
const Vector< Real, 3 > axisNormal,
Tet3D tet,
OrientedBox3D box )
inline

Definition at line 4558 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:

◆ checkOverlapAxis() [4/5]

template<typename Real>
DYN_FUNC bool dyno::checkOverlapAxis ( Real & lowerBoundary1,
Real & upperBoundary1,
Real & lowerBoundary2,
Real & upperBoundary2,
Real & intersectionDistance,
Real & boundary1,
Real & boundary2,
const Vector< Real, 3 > axisNormal,
Tet3D tet,
Triangle3D tri )
inline

Definition at line 4515 of file CollisionDetectionAlgorithm.inl.

◆ checkOverlapAxis() [5/5]

template<typename Real>
DYN_FUNC bool dyno::checkOverlapAxis ( Real & lowerBoundary1,
Real & upperBoundary1,
Real & lowerBoundary2,
Real & upperBoundary2,
Real & intersectionDistance,
Real & boundary1,
Real & boundary2,
const Vector< Real, 3 > axisNormal,
Tet3D tet1,
Tet3D tet2 )
inline

Definition at line 4475 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:

◆ checkOverlapTetTri()

template<typename Real>
DYN_FUNC bool dyno::checkOverlapTetTri ( Real lowerBoundary1,
Real upperBoundary1,
Real lowerBoundary2,
Real upperBoundary2,
Real & intersectionDistance,
Real & boundary1,
Real & boundary2 )
inline

Definition at line 3306 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkPointInBoundary()

template<typename Real>
DYN_FUNC bool dyno::checkPointInBoundary ( const Vec3f & p,
const Vec3f & N,
const Real & b,
const Real & r )
inline

Definition at line 483 of file CollisionDetectionAlgorithm.inl.

Here is the caller graph for this function:

◆ checkSignedDistance()

template<typename Real>
DYN_FUNC void dyno::checkSignedDistance ( Real lowerBoundaryA,
Real upperBoundaryA,
Real lowerBoundaryB,
Real upperBoundaryB,
Real & intersectionDistance,
Real & boundaryA,
Real & boundaryB )
inline

Definition at line 381 of file CollisionDetectionAlgorithm.inl.

Here is the caller graph for this function:

◆ checkSignedDistanceAxis()

template<typename Real, typename ShapeA, typename ShapeB>
DYN_FUNC void dyno::checkSignedDistanceAxis ( Real & intersectionDistance,
Real & BoundaryA,
Real & BoundaryB,
const Vec3f axisNormal,
ShapeA & shapeA,
ShapeB & shapeB,
const Real radiusA,
const Real radiusB )
inline

Definition at line 515 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ clamp() [1/4]

template<typename T>
DYN_FUNC T dyno::clamp ( const T & v,
const T & lo,
const T & hi )
inline

Definition at line 42 of file SimpleMath.h.

Here is the caller graph for this function:

◆ clamp() [2/4]

template<typename T>
DYN_FUNC Vector< T, 2 > dyno::clamp ( const Vector< T, 2 > & v,
const Vector< T, 2 > & lo,
const Vector< T, 2 > & hi )
inline

Definition at line 48 of file SimpleMath.h.

◆ clamp() [3/4]

template<typename T>
DYN_FUNC Vector< T, 3 > dyno::clamp ( const Vector< T, 3 > & v,
const Vector< T, 3 > & lo,
const Vector< T, 3 > & hi )
inline

Definition at line 58 of file SimpleMath.h.

◆ clamp() [4/4]

template<typename T>
DYN_FUNC Vector< T, 4 > dyno::clamp ( const Vector< T, 4 > & v,
const Vector< T, 4 > & lo,
const Vector< T, 4 > & hi )
inline

Definition at line 69 of file SimpleMath.h.

◆ clip()

template<typename Real>
DYN_FUNC int dyno::clip ( ClipVertex * outVerts,
float * outDepths,
const Vector< Real, 3 > & rPos,
const Vector< Real, 3 > & e,
unsigned char * clipEdges,
const SquareMatrix< Real, 3 > & basis,
ClipVertex * incident )

Definition at line 312 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ClippingWithRect() [1/5]

template<typename Real>
DYN_FUNC int dyno::ClippingWithRect ( Vector< Real, 3 > * q,
const TRectangle3D< Real > & rectA,
const TOrientedBox3D< Real > & boxB,
const Vector< Real, 3 > & transA,
const Vector< Real, 3 > & transB )
inline

Definition at line 1143 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:

◆ ClippingWithRect() [2/5]

template<typename Real>
DYN_FUNC int dyno::ClippingWithRect ( Vector< Real, 3 > * q,
const TRectangle3D< Real > & rectA,
const TSegment3D< Real > & segB,
const Vector< Real, 3 > & transA,
const Vector< Real, 3 > & transB )
inline

Definition at line 715 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:

◆ ClippingWithRect() [3/5]

template<typename Real>
DYN_FUNC int dyno::ClippingWithRect ( Vector< Real, 3 > * q,
const TRectangle3D< Real > & rectA,
const TSphere3D< Real > & sphereB,
const Vector< Real, 3 > & transA,
const Vector< Real, 3 > & transB )
inline

Definition at line 663 of file CollisionDetectionAlgorithm.inl.

Here is the caller graph for this function:

◆ ClippingWithRect() [4/5]

template<typename Real>
DYN_FUNC int dyno::ClippingWithRect ( Vector< Real, 3 > * q,
const TRectangle3D< Real > & rectA,
const TTet3D< Real > & tetB,
const Vector< Real, 3 > & transA,
const Vector< Real, 3 > & transB )
inline

Definition at line 1012 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:

◆ ClippingWithRect() [5/5]

template<typename Real>
DYN_FUNC int dyno::ClippingWithRect ( Vector< Real, 3 > * q,
const TRectangle3D< Real > & rectA,
const TTriangle3D< Real > & triB,
const Vector< Real, 3 > & transA,
const Vector< Real, 3 > & transB )
inline

Definition at line 907 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:

◆ ClippingWithTri() [1/5]

template<typename Real>
DYN_FUNC int dyno::ClippingWithTri ( Vector< Real, 3 > * q,
const TTriangle3D< Real > & triA,
const TOrientedBox3D< Real > & boxB,
const Vector< Real, 3 > & transA,
const Vector< Real, 3 > & transB )
inline

Definition at line 1120 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:

◆ ClippingWithTri() [2/5]

template<typename Real>
DYN_FUNC int dyno::ClippingWithTri ( Vector< Real, 3 > * q,
const TTriangle3D< Real > & triA,
const TSegment3D< Real > & segB,
const Vector< Real, 3 > & transA,
const Vector< Real, 3 > & transB )
inline

Definition at line 692 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:

◆ ClippingWithTri() [3/5]

template<typename Real>
DYN_FUNC int dyno::ClippingWithTri ( Vector< Real, 3 > * q,
const TTriangle3D< Real > & triA,
const TSphere3D< Real > & sphereB,
const Vector< Real, 3 > & transA,
const Vector< Real, 3 > & transB )
inline

Definition at line 651 of file CollisionDetectionAlgorithm.inl.

Here is the caller graph for this function:

◆ ClippingWithTri() [4/5]

template<typename Real>
DYN_FUNC int dyno::ClippingWithTri ( Vector< Real, 3 > * q,
const TTriangle3D< Real > & triA,
const TTet3D< Real > & tetB,
const Vector< Real, 3 > & transA,
const Vector< Real, 3 > & transB )
inline

Definition at line 989 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:

◆ ClippingWithTri() [5/5]

template<typename Real>
DYN_FUNC int dyno::ClippingWithTri ( Vector< Real, 3 > * q,
const TTriangle3D< Real > & triA,
const TTriangle3D< Real > & triB,
const Vector< Real, 3 > & transA,
const Vector< Real, 3 > & transB )
inline

Definition at line 884 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:

◆ cmp()

bool dyno::cmp ( OriginalFaceId a,
OriginalFaceId b )

Definition at line 29 of file TetraMeshWriterFracture.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CollisionTest()

template<typename T>
DYN_FUNC bool dyno::CollisionTest ( const Vector< T, 3 > & x0,
const Vector< T, 3 > & x1,
const Vector< T, 3 > & x2,
const Vector< T, 3 > & x3,
const Vector< T, 3 > & v0,
const Vector< T, 3 > & v1,
const Vector< T, 3 > & v2,
const Vector< T, 3 > & v3,
T & time,
const int isVF )

Definition at line 169 of file TightCCD.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ComputeAddZeroSize()

int dyno::ComputeAddZeroSize ( int OriginalSize)
inline

Definition at line 6 of file VkSort.inl.

Here is the caller graph for this function:

◆ computeIncidentFace()

template<typename Real>
DYN_FUNC void dyno::computeIncidentFace ( ClipVertex * out,
const Transform< Real, 3 > & itx,
const Vector< Real, 3 > & e,
Vector< Real, 3 > n )

Definition at line 199 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeReferenceEdgesAndBasis()

template<typename Real>
DYN_FUNC void dyno::computeReferenceEdgesAndBasis ( unsigned char * out,
SquareMatrix< Real, 3 > * basis,
Vector< Real, 3 > * e,
const Vector< Real, 3 > & eR,
const Transform< Real, 3 > & rtx,
Vector< Real, 3 > n,
int axis )

Ordering of the edges —2 — / / 3 1 / / — 0 — | | 10 9
| | -— 4 — ----->x | / | / 11 5 8 7 | / | / / — 6 — z

Definition at line 94 of file CollisionDetectionAlgorithm.inl.

Here is the caller graph for this function:

◆ computeSupportEdge()

template<typename Real>
DYN_FUNC void dyno::computeSupportEdge ( Vector< Real, 3 > & aOut,
Vector< Real, 3 > & bOut,
const SquareMatrix< Real, 3 > & rot,
const Vector< Real, 3 > & trans,
const Vector< Real, 3 > & e,
Vector< Real, 3 > n )

Definition at line 2835 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ constantPtr()

template<typename T>
VkConstant< T > * dyno::constantPtr ( )
inline

Definition at line 90 of file VkProgram.h.

◆ constructRestShape()

template<typename Coord, typename Bond>
void dyno::constructRestShape ( DArrayList< Bond > & shape,
DArrayList< int > & nbr,
DArray< Coord > & pos )
Here is the caller graph for this function:

◆ constructRestShapeWithSelf()

template<typename Coord, typename Bond>
void dyno::constructRestShapeWithSelf ( DArrayList< Bond > & shape,
DArrayList< int > & nbr,
DArray< Coord > & pos )
Here is the caller graph for this function:

◆ cos()

template<typename Real>
DYN_FUNC Complex< Real > dyno::cos ( const Complex< Real > & __x)
inline

Definition at line 573 of file Complex.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cosh()

template<typename Real>
DYN_FUNC Complex< Real > dyno::cosh ( const Complex< Real > & __x)
inline

Definition at line 410 of file Complex.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ countbit()

DYN_FUNC unsigned int dyno::countbit ( unsigned int x)
inline

Definition at line 243 of file SimpleMath.h.

Here is the call graph for this function:

◆ cross()

template<typename T>
DYN_FUNC Vector< T, 3 > dyno::cross ( Vector< T, 3 > const & U,
Vector< T, 3 > const & V )
inline

Definition at line 211 of file SimpleMath.h.

Here is the caller graph for this function:

◆ crossProduct()

Vec3f dyno::crossProduct ( const Vec3f & a,
const Vec3f & b )

Definition at line 41 of file EarClipper.cpp.

Here is the caller graph for this function:

◆ debugUtilsMessengerCallback()

VKAPI_ATTR VkBool32 VKAPI_CALL dyno::debugUtilsMessengerCallback ( VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
VkDebugUtilsMessageTypeFlagsEXT messageType,
const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData,
void * pUserData )

Definition at line 143 of file VkSystem.cpp.

Here is the caller graph for this function:

◆ DECLARE_ENUM()

dyno::DECLARE_ENUM ( BoolType ,
Intersect = 0,
Union = 1,
Minus = 2 )

◆ DEFINE_CLASS() [1/106]

dyno::DEFINE_CLASS ( AdaptiveVolumeToTriangleSet )

◆ DEFINE_CLASS() [2/106]

dyno::DEFINE_CLASS ( AnimationCurve )

◆ DEFINE_CLASS() [3/106]

dyno::DEFINE_CLASS ( AnimationDriver )

◆ DEFINE_CLASS() [4/106]

dyno::DEFINE_CLASS ( BasicShape )

◆ DEFINE_CLASS() [5/106]

dyno::DEFINE_CLASS ( CalculateMaximum )

◆ DEFINE_CLASS() [6/106]

dyno::DEFINE_CLASS ( CalculateMinimum )

◆ DEFINE_CLASS() [7/106]

dyno::DEFINE_CLASS ( CapsuleModel )

◆ DEFINE_CLASS() [8/106]

dyno::DEFINE_CLASS ( CarDriver )

◆ DEFINE_CLASS() [9/106]

dyno::DEFINE_CLASS ( CircularEmitter )

◆ DEFINE_CLASS() [10/106]

dyno::DEFINE_CLASS ( Cloth )

◆ DEFINE_CLASS() [11/106]

dyno::DEFINE_CLASS ( CollisionDetector )

◆ DEFINE_CLASS() [12/106]

dyno::DEFINE_CLASS ( ConeModel )

◆ DEFINE_CLASS() [13/106]

dyno::DEFINE_CLASS ( ConfigurableBody )

◆ DEFINE_CLASS() [14/106]

dyno::DEFINE_CLASS ( ContactsUnion )

◆ DEFINE_CLASS() [15/106]

dyno::DEFINE_CLASS ( CubeModel )

◆ DEFINE_CLASS() [16/106]

dyno::DEFINE_CLASS ( CylinderModel )

◆ DEFINE_CLASS() [17/106]

dyno::DEFINE_CLASS ( EarClipper )

◆ DEFINE_CLASS() [18/106]

dyno::DEFINE_CLASS ( EdgePickerNode )

◆ DEFINE_CLASS() [19/106]

dyno::DEFINE_CLASS ( EigenValueWriter )

◆ DEFINE_CLASS() [20/106]

dyno::DEFINE_CLASS ( ElasticBody )

◆ DEFINE_CLASS() [21/106]

dyno::DEFINE_CLASS ( ElastoplasticBody )

◆ DEFINE_CLASS() [22/106]

dyno::DEFINE_CLASS ( ExtractEdgeSetFromPolygonSet )

◆ DEFINE_CLASS() [23/106]

dyno::DEFINE_CLASS ( ExtractQaudSetFromPolygonSet )

◆ DEFINE_CLASS() [24/106]

dyno::DEFINE_CLASS ( ExtractTriangleSetFromPolygonSet )

◆ DEFINE_CLASS() [25/106]

dyno::DEFINE_CLASS ( FastSweepingMethod )

◆ DEFINE_CLASS() [26/106]

dyno::DEFINE_CLASS ( Frame )

◆ DEFINE_CLASS() [27/106]

dyno::DEFINE_CLASS ( Gear )

◆ DEFINE_CLASS() [28/106]

dyno::DEFINE_CLASS ( GeometryLoader )

◆ DEFINE_CLASS() [29/106]

dyno::DEFINE_CLASS ( GhostParticles )

◆ DEFINE_CLASS() [30/106]

dyno::DEFINE_CLASS ( GLCommonPointVisualNode )

◆ DEFINE_CLASS() [31/106]

dyno::DEFINE_CLASS ( GLInstanceVisualNode )

◆ DEFINE_CLASS() [32/106]

dyno::DEFINE_CLASS ( GLPointVisualNode )

◆ DEFINE_CLASS() [33/106]

dyno::DEFINE_CLASS ( GLSurfaceVisualNode )

◆ DEFINE_CLASS() [34/106]

dyno::DEFINE_CLASS ( GLWireframeVisualNode )

◆ DEFINE_CLASS() [35/106]

dyno::DEFINE_CLASS ( GridSet )

◆ DEFINE_CLASS() [36/106]

dyno::DEFINE_CLASS ( InstanceTransform )

◆ DEFINE_CLASS() [37/106]

dyno::DEFINE_CLASS ( Jeep )

◆ DEFINE_CLASS() [38/106]

dyno::DEFINE_CLASS ( MakeParticleSystem )

◆ DEFINE_CLASS() [39/106]

dyno::DEFINE_CLASS ( MarchingCubes )

◆ DEFINE_CLASS() [40/106]

dyno::DEFINE_CLASS ( MergeSimplexSet )

◆ DEFINE_CLASS() [41/106]

dyno::DEFINE_CLASS ( MergeTriangleSet )

◆ DEFINE_CLASS() [42/106]

dyno::DEFINE_CLASS ( MultibodySystem )

◆ DEFINE_CLASS() [43/106]

dyno::DEFINE_CLASS ( OceanBase )

◆ DEFINE_CLASS() [44/106]

dyno::DEFINE_CLASS ( ParametricModel )

◆ DEFINE_CLASS() [45/106]

dyno::DEFINE_CLASS ( ParticleApproximation )

◆ DEFINE_CLASS() [46/106]

dyno::DEFINE_CLASS ( ParticleEmitter )

◆ DEFINE_CLASS() [47/106]

dyno::DEFINE_CLASS ( ParticleFluid )

◆ DEFINE_CLASS() [48/106]

dyno::DEFINE_CLASS ( ParticleSystem )

◆ DEFINE_CLASS() [49/106]

dyno::DEFINE_CLASS ( ParticleWriter )

◆ DEFINE_CLASS() [50/106]

dyno::DEFINE_CLASS ( Peridynamics )

◆ DEFINE_CLASS() [51/106]

dyno::DEFINE_CLASS ( PlaneModel )

◆ DEFINE_CLASS() [52/106]

dyno::DEFINE_CLASS ( PointFromCurve )

◆ DEFINE_CLASS() [53/106]

dyno::DEFINE_CLASS ( PointPickerNode )

◆ DEFINE_CLASS() [54/106]

dyno::DEFINE_CLASS ( PointSetToTriangleSet )

◆ DEFINE_CLASS() [55/106]

dyno::DEFINE_CLASS ( PointsLoader )

◆ DEFINE_CLASS() [56/106]

dyno::DEFINE_CLASS ( PoissonEmitter )

◆ DEFINE_CLASS() [57/106]

dyno::DEFINE_CLASS ( PoissonPlane )

◆ DEFINE_CLASS() [58/106]

dyno::DEFINE_CLASS ( PositionBasedFluidModel )

◆ DEFINE_CLASS() [59/106]

dyno::DEFINE_CLASS ( ProjectionBasedFluidModel )

◆ DEFINE_CLASS() [60/106]

dyno::DEFINE_CLASS ( ProjectivePeridynamics )

◆ DEFINE_CLASS() [61/106]

dyno::DEFINE_CLASS ( QuadPickerNode )

◆ DEFINE_CLASS() [62/106]

dyno::DEFINE_CLASS ( RigidBody )

◆ DEFINE_CLASS() [63/106]

dyno::DEFINE_CLASS ( Sampler )

◆ DEFINE_CLASS() [64/106]

◆ DEFINE_CLASS() [65/106]

dyno::DEFINE_CLASS ( SemiAnalyticalPositionBasedFluidModel )

◆ DEFINE_CLASS() [66/106]

dyno::DEFINE_CLASS ( SemiAnalyticalSFINode )

◆ DEFINE_CLASS() [67/106]

dyno::DEFINE_CLASS ( SemiAnalyticalSurfaceTensionModel )

◆ DEFINE_CLASS() [68/106]

dyno::DEFINE_CLASS ( ShapeSampler )

◆ DEFINE_CLASS() [69/106]

dyno::DEFINE_CLASS ( SparseMarchingCubes )

◆ DEFINE_CLASS() [70/106]

dyno::DEFINE_CLASS ( SparseVolumeClipper )

◆ DEFINE_CLASS() [71/106]

dyno::DEFINE_CLASS ( SphereModel )

◆ DEFINE_CLASS() [72/106]

dyno::DEFINE_CLASS ( SplitSimplexSet )

◆ DEFINE_CLASS() [73/106]

dyno::DEFINE_CLASS ( SquareEmitter )

◆ DEFINE_CLASS() [74/106]

dyno::DEFINE_CLASS ( StaticMeshLoader )

◆ DEFINE_CLASS() [75/106]

dyno::DEFINE_CLASS ( Steer )

◆ DEFINE_CLASS() [76/106]

dyno::DEFINE_CLASS ( StructuredPointSet )

◆ DEFINE_CLASS() [77/106]

dyno::DEFINE_CLASS ( Subdivide )

◆ DEFINE_CLASS() [78/106]

dyno::DEFINE_CLASS ( SweepModel )

◆ DEFINE_CLASS() [79/106]

dyno::DEFINE_CLASS ( Tank )

◆ DEFINE_CLASS() [80/106]

dyno::DEFINE_CLASS ( TetrahedralSystem )

◆ DEFINE_CLASS() [81/106]

dyno::DEFINE_CLASS ( TetraMeshWriter )

◆ DEFINE_CLASS() [82/106]

dyno::DEFINE_CLASS ( TetraMeshWriterFracture )

◆ DEFINE_CLASS() [83/106]

dyno::DEFINE_CLASS ( ThreadSystem )

◆ DEFINE_CLASS() [84/106]

dyno::DEFINE_CLASS ( TrackedTank )

◆ DEFINE_CLASS() [85/106]

dyno::DEFINE_CLASS ( TriangleMeshWriter )

◆ DEFINE_CLASS() [86/106]

dyno::DEFINE_CLASS ( TrianglePickerNode )

◆ DEFINE_CLASS() [87/106]

dyno::DEFINE_CLASS ( TriangularMeshBoundary )

◆ DEFINE_CLASS() [88/106]

dyno::DEFINE_CLASS ( TriangularSystem )

◆ DEFINE_CLASS() [89/106]

dyno::DEFINE_CLASS ( TurningModel )

◆ DEFINE_CLASS() [90/106]

dyno::DEFINE_CLASS ( UAV )

◆ DEFINE_CLASS() [91/106]

dyno::DEFINE_CLASS ( UniformGrid3D )

◆ DEFINE_CLASS() [92/106]

dyno::DEFINE_CLASS ( UnstructuredPointSet )

◆ DEFINE_CLASS() [93/106]

dyno::DEFINE_CLASS ( UUV )

◆ DEFINE_CLASS() [94/106]

dyno::DEFINE_CLASS ( Vessel )

◆ DEFINE_CLASS() [95/106]

dyno::DEFINE_CLASS ( VirtualParticleGenerator )

◆ DEFINE_CLASS() [96/106]

dyno::DEFINE_CLASS ( Volume )

◆ DEFINE_CLASS() [97/106]

dyno::DEFINE_CLASS ( VolumeBoolean )

◆ DEFINE_CLASS() [98/106]

dyno::DEFINE_CLASS ( VolumeBoundary )

◆ DEFINE_CLASS() [99/106]

dyno::DEFINE_CLASS ( VolumeClipper )

◆ DEFINE_CLASS() [100/106]

dyno::DEFINE_CLASS ( VolumeGenerator )

◆ DEFINE_CLASS() [101/106]

dyno::DEFINE_CLASS ( VolumeLoader )

◆ DEFINE_CLASS() [102/106]

dyno::DEFINE_CLASS ( VolumeOctree )

◆ DEFINE_CLASS() [103/106]

dyno::DEFINE_CLASS ( VolumeOctreeBoolean )

◆ DEFINE_CLASS() [104/106]

dyno::DEFINE_CLASS ( VolumeOctreeGenerator )

◆ DEFINE_CLASS() [105/106]

dyno::DEFINE_CLASS ( VolumeToGridCell )

◆ DEFINE_CLASS() [106/106]

dyno::DEFINE_CLASS ( VolumeToTriangleSet )

◆ disconnect()

void dyno::disconnect ( Node * node,
NodePort * port )

Definition at line 44 of file NodePort.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dot() [1/2]

template<typename T>
DYN_FUNC T dyno::dot ( Vector< T, 2 > const & U,
Vector< T, 2 > const & V )
inline

Definition at line 199 of file SimpleMath.h.

Here is the caller graph for this function:

◆ dot() [2/2]

template<typename T>
DYN_FUNC T dyno::dot ( Vector< T, 3 > const & U,
Vector< T, 3 > const & V )
inline

Definition at line 205 of file SimpleMath.h.

◆ dotcross()

template<typename T>
DYN_FUNC T dyno::dotcross ( Vector< T, 3 > const & U,
Vector< T, 3 > const & V,
Vector< T, 3 > const & W )
inline

Definition at line 221 of file SimpleMath.h.

Here is the call graph for this function:

◆ dotperp()

template<typename T>
DYN_FUNC T dyno::dotperp ( Vector< T, 2 > const & v0,
Vector< T, 2 > const & v1 )
inline

Definition at line 234 of file SimpleMath.h.

Here is the call graph for this function:

◆ earClipping()

std::vector< TopologyModule::Triangle > dyno::earClipping ( const std::vector< Vec3f > & vertices)

Definition at line 105 of file EarClipper.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ earse_spacing()

std::string dyno::earse_spacing ( const std::string & str)

Definition at line 7 of file DeclareEnum.cpp.

Here is the caller graph for this function:

◆ edgesContact()

template<typename Real>
DYN_FUNC void dyno::edgesContact ( Vector< Real, 3 > & CA,
Vector< Real, 3 > & CB,
const Vector< Real, 3 > & PA,
const Vector< Real, 3 > & QA,
const Vector< Real, 3 > & PB,
const Vector< Real, 3 > & QB )
inline

Definition at line 359 of file CollisionDetectionAlgorithm.inl.

Here is the caller graph for this function:

◆ EigenDecomposition()

template<typename Real>
DYN_FUNC void dyno::EigenDecomposition ( const SquareMatrix< Real, 3 > & A,
SquareMatrix< Real, 3 > & eigenVecs,
Vector< Real, 3 > & eigenVals )

Definition at line 46 of file MatrixFunc.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exp()

template<typename Real>
DYN_FUNC Complex< Real > dyno::exp ( const Complex< Real > & __x)
inline

Definition at line 338 of file Complex.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findByName() [1/2]

static PDockWidget * dyno::findByName ( const QMainWindow * mainWindow,
const QString & name )
static

Definition at line 279 of file PDockWidget.cpp.

Here is the caller graph for this function:

◆ findByName() [2/2]

static PIODockWidget * dyno::findByName ( const QMainWindow * mainWindow,
const QString & name )
static

Definition at line 92 of file PIODockWidget.cpp.

◆ ForEach()

void dyno::ForEach ( size_t size,
... )

◆ FormatBlockCaptionName()

QString dyno::FormatBlockCaptionName ( std::string name)

Definition at line 64 of file Format.cpp.

Here is the caller graph for this function:

◆ FormatBlockPortName()

QString dyno::FormatBlockPortName ( std::string name)

Definition at line 35 of file Format.cpp.

Here is the caller graph for this function:

◆ FormatConnectionInfo() [1/2]

std::string dyno::FormatConnectionInfo ( FBase * fin,
FBase * fout,
bool connecting,
bool succeeded )

Definition at line 11 of file FBase.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FormatConnectionInfo() [2/2]

std::string dyno::FormatConnectionInfo ( Node * node,
NodePort * port,
bool connecting,
bool succeeded )

Definition at line 411 of file Node.cpp.

Here is the call graph for this function:

◆ FormatDescription()

QString dyno::FormatDescription ( std::string name)

Definition at line 93 of file Format.cpp.

Here is the caller graph for this function:

◆ FormatFieldWidgetName()

QString dyno::FormatFieldWidgetName ( std::string name)

Definition at line 9 of file Format.cpp.

Here is the caller graph for this function:

◆ forward() [1/2]

template<typename T>
DYN_FUNC constexpr T && dyno::forward ( typename dyno::remove_reference< T >::type && x)
constexprnoexcept

Definition at line 24 of file type_traits.h.

◆ forward() [2/2]

template<typename T>
DYN_FUNC constexpr T && dyno::forward ( typename dyno::remove_reference< T >::type & x)
constexprnoexcept

Definition at line 17 of file type_traits.h.

Here is the caller graph for this function:

◆ fsign()

template<typename Real>
DYN_FUNC float dyno::fsign ( Real v)

Definition at line 20 of file CollisionDetectionAlgorithm.inl.

Here is the caller graph for this function:

◆ FSM_CheckNeighbour()

static void dyno::FSM_CheckNeighbour ( const CArray< Vec3ui > & tri,
const CArray< Vec3f > & vert,
CArray3f & phi,
CArray3i & closest_tri,
const Vec3f & gx,
int i0,
int j0,
int k0,
int i1,
int j1,
int k1 )
static

Definition at line 131 of file FastSweepingMethod.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fswap()

template<typename T>
DYN_FUNC void dyno::fswap ( T & a,
T & b )
inline

Definition at line 17 of file TightCCD.inl.

Here is the caller graph for this function:

◆ get_v()

static std::vector< Vec3f > dyno::get_v ( const TetInfo & obj)
static

Definition at line 29 of file RigidBodyShared.h.

◆ getBoundingBoxByName()

void dyno::getBoundingBoxByName ( tinygltf::Model & model,
const tinygltf::Primitive & primitive,
const std::string & attributeName,
TAlignedBox3D< Real > & bound,
Transform3f & transform )

◆ getFrustumCorners()

std::array< glm::vec4, 8 > dyno::getFrustumCorners ( const glm::mat4 & proj)

Definition at line 100 of file ShadowMap.cpp.

Here is the caller graph for this function:

◆ getJointDirByJointIndex()

std::vector< int > dyno::getJointDirByJointIndex ( int Index,
std::map< joint, std::vector< int > > jointId_joint_Dir )

◆ getJointsTransformData()

void dyno::getJointsTransformData ( const std::vector< int > & all_Joints,
std::vector< std::vector< int > > & joint_child,
std::map< int, Quat< float > > & joint_rotation,
std::map< int, Vec3f > & joint_scale,
std::map< int, Vec3f > & joint_translation,
std::map< int, Mat4f > & joint_matrix,
tinygltf::Model model )

◆ getLightProjMatrix()

glm::mat4 dyno::getLightProjMatrix ( glm::mat4 lightView,
Vec3f lowerBound,
Vec3f upperBound,
glm::mat4 cameraView,
glm::mat4 cameraProj )

Definition at line 140 of file ShadowMap.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getLightViewMatrix()

glm::mat4 dyno::getLightViewMatrix ( glm::vec3 lightDir)

Definition at line 129 of file ShadowMap.cpp.

Here is the caller graph for this function:

◆ getMeshMatrix()

void dyno::getMeshMatrix ( tinygltf::Model & model,
const std::vector< int > & all_MeshNodeIDs,
int & maxMeshId,
CArray< Mat4f > & mesh_Matrix )

◆ getNodesAndHierarchy()

void dyno::getNodesAndHierarchy ( tinygltf::Model & model,
std::map< scene, std::vector< int > > Scene_JointsNodesId,
std::vector< joint > & all_Nodes,
std::map< joint, std::vector< int > > & id_Dir )

◆ getPoint2SegmentDistance()

template<typename T>
DYN_FUNC T dyno::getPoint2SegmentDistance ( const Vector< T, 3 > & p,
const Vector< T, 3 > & v0,
const Vector< T, 3 > & v1 )

Definition at line 14 of file AdditiveCCD.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getQuatByIndex()

void dyno::getQuatByIndex ( tinygltf::Model & model,
int index,
std::vector< Quat< float > > & result )

◆ getRealByIndex()

void dyno::getRealByIndex ( tinygltf::Model & model,
int index,
std::vector< Real > & result )

◆ getTexUri()

std::string dyno::getTexUri ( const std::vector< tinygltf::Texture > & textures,
const std::vector< tinygltf::Image > & images,
int index )

◆ getTriangles()

void dyno::getTriangles ( tinygltf::Model & model,
const tinygltf::Primitive & primitive,
std::vector< TopologyModule::Triangle > & triangles,
int pointOffest )

◆ getVec3fByAttributeName()

void dyno::getVec3fByAttributeName ( tinygltf::Model & model,
const tinygltf::Primitive & primitive,
const std::string & attributeName,
std::vector< Vec3f > & vertices )

◆ getVec3fByIndex()

void dyno::getVec3fByIndex ( tinygltf::Model & model,
int index,
std::vector< Vec3f > & result )

◆ getVec4ByAttributeName()

void dyno::getVec4ByAttributeName ( tinygltf::Model & model,
const tinygltf::Primitive & primitive,
const std::string & attributeName,
std::vector< Vec4f > & vec4Data )

◆ getVertexBindJoint()

void dyno::getVertexBindJoint ( tinygltf::Model & model,
const tinygltf::Primitive & primitive,
const std::string & attributeName,
std::vector< Vec4f > & vec4Data,
const std::vector< int > & skinJoints )

◆ glCheckError_()

unsigned int dyno::glCheckError_ ( const char * file,
int line )

Definition at line 16 of file GraphicsObject.cpp.

Here is the call graph for this function:

◆ glfw_error_callback()

static void dyno::glfw_error_callback ( int error,
const char * description )
static

Definition at line 52 of file GlfwRenderWindow.cpp.

Here is the caller graph for this function:

◆ iDivUp()

static uint dyno::iDivUp ( uint a,
uint b )
static

Definition at line 28 of file VkProgram.h.

Here is the caller graph for this function:

◆ IMPLEMENT_CLASS() [1/6]

dyno::IMPLEMENT_CLASS ( DiscreteElementsToTriangleSet )

◆ IMPLEMENT_CLASS() [2/6]

dyno::IMPLEMENT_CLASS ( PrintFloat )

◆ IMPLEMENT_CLASS() [3/6]

dyno::IMPLEMENT_CLASS ( PrintInt )

◆ IMPLEMENT_CLASS() [4/6]

dyno::IMPLEMENT_CLASS ( PrintUnsigned )

◆ IMPLEMENT_CLASS() [5/6]

dyno::IMPLEMENT_CLASS ( PrintVector )

◆ IMPLEMENT_CLASS() [6/6]

dyno::IMPLEMENT_CLASS ( States )

◆ IMPLEMENT_TCLASS() [1/44]

dyno::IMPLEMENT_TCLASS ( AddRealAndReal ,
TDataType  )

◆ IMPLEMENT_TCLASS() [2/44]

dyno::IMPLEMENT_TCLASS ( AnimationDriver ,
TDataType  )

◆ IMPLEMENT_TCLASS() [3/44]

dyno::IMPLEMENT_TCLASS ( CapsuleModel ,
TDataType  )

◆ IMPLEMENT_TCLASS() [4/44]

dyno::IMPLEMENT_TCLASS ( CarDriver ,
TDataType  )

◆ IMPLEMENT_TCLASS() [5/44]

dyno::IMPLEMENT_TCLASS ( ConeModel ,
TDataType  )

◆ IMPLEMENT_TCLASS() [6/44]

dyno::IMPLEMENT_TCLASS ( ConvertToTextureMesh ,
TDataType  )

◆ IMPLEMENT_TCLASS() [7/44]

dyno::IMPLEMENT_TCLASS ( CopyModel ,
TDataType  )
Here is the call graph for this function:

◆ IMPLEMENT_TCLASS() [8/44]

dyno::IMPLEMENT_TCLASS ( CopyToPoint ,
TDataType  )
Here is the call graph for this function:

◆ IMPLEMENT_TCLASS() [9/44]

dyno::IMPLEMENT_TCLASS ( CubeModel ,
TDataType  )

◆ IMPLEMENT_TCLASS() [10/44]

dyno::IMPLEMENT_TCLASS ( CylinderModel ,
TDataType  )

◆ IMPLEMENT_TCLASS() [11/44]

dyno::IMPLEMENT_TCLASS ( DiscreteElementsToTriangleSet ,
TDataType  )

◆ IMPLEMENT_TCLASS() [12/44]

dyno::IMPLEMENT_TCLASS ( DivideRealAndReal ,
TDataType  )

◆ IMPLEMENT_TCLASS() [13/44]

dyno::IMPLEMENT_TCLASS ( EarClipper ,
TDataType  )

◆ IMPLEMENT_TCLASS() [14/44]

dyno::IMPLEMENT_TCLASS ( EditableMesh ,
TDataType  )

◆ IMPLEMENT_TCLASS() [15/44]

dyno::IMPLEMENT_TCLASS ( ExtractShape ,
TDataType  )

◆ IMPLEMENT_TCLASS() [16/44]

dyno::IMPLEMENT_TCLASS ( ExtrudeModel ,
TDataType  )

◆ IMPLEMENT_TCLASS() [17/44]

dyno::IMPLEMENT_TCLASS ( FloatingNumber ,
TDataType  )

◆ IMPLEMENT_TCLASS() [18/44]

dyno::IMPLEMENT_TCLASS ( GltfLoader ,
TDataType  )

◆ IMPLEMENT_TCLASS() [19/44]

dyno::IMPLEMENT_TCLASS ( Group ,
TDataType  )

◆ IMPLEMENT_TCLASS() [20/44]

dyno::IMPLEMENT_TCLASS ( InstanceTransform ,
TDataType  )

◆ IMPLEMENT_TCLASS() [21/44]

dyno::IMPLEMENT_TCLASS ( JointDeform ,
TDataType  )

◆ IMPLEMENT_TCLASS() [22/44]

dyno::IMPLEMENT_TCLASS ( Merge ,
TDataType  )

◆ IMPLEMENT_TCLASS() [23/44]

dyno::IMPLEMENT_TCLASS ( MultiplyRealAndReal ,
TDataType  )

◆ IMPLEMENT_TCLASS() [24/44]

dyno::IMPLEMENT_TCLASS ( NormalVisualization ,
TDataType  )

◆ IMPLEMENT_TCLASS() [25/44]

dyno::IMPLEMENT_TCLASS ( PlaneModel ,
TDataType  )

◆ IMPLEMENT_TCLASS() [26/44]

dyno::IMPLEMENT_TCLASS ( PointClip ,
TDataType  )

◆ IMPLEMENT_TCLASS() [27/44]

dyno::IMPLEMENT_TCLASS ( PointFromCurve ,
TDataType  )

◆ IMPLEMENT_TCLASS() [28/44]

dyno::IMPLEMENT_TCLASS ( PointsBehindMesh ,
TDataType  )

◆ IMPLEMENT_TCLASS() [29/44]

dyno::IMPLEMENT_TCLASS ( PoissonDiskSampling ,
TDataType  )

◆ IMPLEMENT_TCLASS() [30/44]

dyno::IMPLEMENT_TCLASS ( PoissonPlane ,
TDataType  )

◆ IMPLEMENT_TCLASS() [31/44]

dyno::IMPLEMENT_TCLASS ( PolyExtrude ,
TDataType  )

◆ IMPLEMENT_TCLASS() [32/44]

dyno::IMPLEMENT_TCLASS ( PolygonSetToTriangleSetNode ,
TDataType  )

◆ IMPLEMENT_TCLASS() [33/44]

dyno::IMPLEMENT_TCLASS ( ShapeSampler ,
TDataType  )

◆ IMPLEMENT_TCLASS() [34/44]

dyno::IMPLEMENT_TCLASS ( SphereModel ,
TDataType  )

◆ IMPLEMENT_TCLASS() [35/44]

dyno::IMPLEMENT_TCLASS ( Steer ,
TDataType  )
Here is the caller graph for this function:

◆ IMPLEMENT_TCLASS() [36/44]

dyno::IMPLEMENT_TCLASS ( Subdivide ,
TDataType  )

◆ IMPLEMENT_TCLASS() [37/44]

dyno::IMPLEMENT_TCLASS ( SubtractRealAndReal ,
TDataType  )

◆ IMPLEMENT_TCLASS() [38/44]

dyno::IMPLEMENT_TCLASS ( SurfaceEnergyForce ,
TDataType  )

◆ IMPLEMENT_TCLASS() [39/44]

dyno::IMPLEMENT_TCLASS ( SweepModel ,
TDataType  )

◆ IMPLEMENT_TCLASS() [40/44]

dyno::IMPLEMENT_TCLASS ( TextureMeshMerge ,
TDataType  )

◆ IMPLEMENT_TCLASS() [41/44]

dyno::IMPLEMENT_TCLASS ( TransformModel ,
TDataType  )
Here is the call graph for this function:

◆ IMPLEMENT_TCLASS() [42/44]

dyno::IMPLEMENT_TCLASS ( TurningModel ,
TDataType  )
Here is the call graph for this function:

◆ IMPLEMENT_TCLASS() [43/44]

dyno::IMPLEMENT_TCLASS ( Vector3Source ,
TDataType  )

◆ IMPLEMENT_TCLASS() [44/44]

dyno::IMPLEMENT_TCLASS ( VectorVisualNode ,
TDataType  )

◆ importAnimation()

void dyno::importAnimation ( tinygltf::Model model,
std::map< joint, Vec3i > & joint_output,
std::map< joint, Vec3f > & joint_input,
std::map< joint, std::vector< Vec3f > > & joint_T_f_anim,
std::map< joint, std::vector< Real > > & joint_T_Time,
std::map< joint, std::vector< Vec3f > > & joint_S_f_anim,
std::map< joint, std::vector< Real > > & joint_S_Time,
std::map< joint, std::vector< Quat< float > > > & joint_R_f_anim,
std::map< joint, std::vector< Real > > & joint_R_Time )

◆ inTri()

template<typename T>
DYN_FUNC bool dyno::inTri ( const Vector< T, 3 > & p,
const Vector< T, 3 > & v0,
const Vector< T, 3 > & v1,
const Vector< T, 3 > & v2 )

Definition at line 32 of file AdditiveCCD.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_heap()

template<typename RandomAccessIterator>
DYN_FUNC bool dyno::is_heap ( RandomAccessIterator first,
RandomAccessIterator last )
inline

is_heap This is a useful algorithm for verifying that a random access container is in heap format.

Definition at line 255 of file Heap.h.

Here is the call graph for this function:

◆ is_heap_until()

template<typename RandomAccessIterator, typename Compare>
DYN_FUNC RandomAccessIterator dyno::is_heap_until ( RandomAccessIterator first,
RandomAccessIterator last,
Compare compare )
inline

is_heap_until

Definition at line 237 of file Heap.h.

Here is the caller graph for this function:

◆ isEar()

bool dyno::isEar ( const std::vector< Vec3f > & vertices,
const TopologyModule::Triangle & triangle,
Vec3f n )

Definition at line 81 of file EarClipper.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ iseq() [1/2]

template<typename T, typename D, typename std::enable_if<!std::is_same< T, D >::value, int >::type = 0>
DYN_FUNC int dyno::iseq ( T const & a,
D const & b,
T const EPS = EPSILON )
inline

Definition at line 35 of file SimpleMath.h.

Here is the call graph for this function:

◆ iseq() [2/2]

template<typename T>
DYN_FUNC int dyno::iseq ( T const & a,
T const & b,
T const EPS = EPSILON )
inline

Definition at line 33 of file SimpleMath.h.

Here is the caller graph for this function:

◆ isgeq() [1/2]

template<typename T, typename D, typename std::enable_if<!std::is_same< T, D >::value, int >::type = 0>
DYN_FUNC int dyno::isgeq ( T const & a,
D const & b,
T const EPS = EPSILON )
inline

Definition at line 30 of file SimpleMath.h.

Here is the call graph for this function:

◆ isgeq() [2/2]

template<typename T>
DYN_FUNC int dyno::isgeq ( T const & a,
T const & b,
T const EPS = EPSILON )
inline

Definition at line 28 of file SimpleMath.h.

Here is the caller graph for this function:

◆ isgreat() [1/2]

template<typename T, typename D, typename std::enable_if<!std::is_same< T, D >::value, int >::type = 0>
DYN_FUNC int dyno::isgreat ( T const & a,
D const & b,
T const EPS = EPSILON )
inline

Definition at line 25 of file SimpleMath.h.

Here is the call graph for this function:

◆ isgreat() [2/2]

template<typename T>
DYN_FUNC int dyno::isgreat ( T const & a,
T const & b,
T const EPS = EPSILON )
inline

Definition at line 23 of file SimpleMath.h.

Here is the caller graph for this function:

◆ isleq() [1/2]

template<typename T, typename D, typename std::enable_if<!std::is_same< T, D >::value, int >::type = 0>
DYN_FUNC int dyno::isleq ( T const & a,
D const & b,
T const EPS = EPSILON )
inline

Definition at line 20 of file SimpleMath.h.

Here is the call graph for this function:

◆ isleq() [2/2]

template<typename T>
DYN_FUNC int dyno::isleq ( T const & a,
T const & b,
T const EPS = EPSILON )
inline

Definition at line 18 of file SimpleMath.h.

Here is the caller graph for this function:

◆ isless() [1/2]

template<typename T, typename D, typename std::enable_if<!std::is_same< T, D >::value, int >::type = 0>
DYN_FUNC int dyno::isless ( T const & a,
D const & b,
T const EPS = EPSILON )
inline

Definition at line 15 of file SimpleMath.h.

Here is the call graph for this function:

◆ isless() [2/2]

template<typename T>
DYN_FUNC int dyno::isless ( T const & a,
T const & b,
T const EPS = EPSILON )
inline

Definition at line 13 of file SimpleMath.h.

Here is the caller graph for this function:

◆ isPointInTriangle()

bool dyno::isPointInTriangle ( const Vec3f & pt,
const Vec3f & a,
const Vec3f & b,
const Vec3f & c )

Definition at line 67 of file EarClipper.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ JacobiIteration()

void dyno::JacobiIteration ( DArray< float > lambda,
DArray< Vec3f > impulse,
DArray< Vec3f > J,
DArray< Vec3f > B,
DArray< float > eta,
DArray< TConstraintPair< float > > constraints,
DArray< int > nbq,
DArray< float > K_1,
DArray< Mat2f > K_2,
DArray< Mat3f > K_3,
DArray< float > mass,
DArray< float > fricCoeffs,
float mu,
float g,
float dt )

◆ JacobiIterationForCFM()

void dyno::JacobiIterationForCFM ( DArray< float > lambda,
DArray< Vec3f > impulse,
DArray< Vec3f > J,
DArray< Vec3f > B,
DArray< float > eta,
DArray< TConstraintPair< float > > constraints,
DArray< int > nbq,
DArray< float > K_1,
DArray< Mat2f > K_2,
DArray< Mat3f > K_3,
DArray< float > mass,
DArray< float > CFM,
float mu,
float g,
float dt )

◆ JacobiIterationForNJS()

void dyno::JacobiIterationForNJS ( DArray< float > lambda,
DArray< Vec3f > impulse,
DArray< Vec3f > J,
DArray< Vec3f > B,
DArray< float > eta,
DArray< TConstraintPair< float > > constraints,
DArray< int > nbq,
DArray< float > K_1,
DArray< Mat2f > K_2,
DArray< Mat3f > K_3 )

◆ JacobiIterationForSoft()

void dyno::JacobiIterationForSoft ( DArray< float > lambda,
DArray< Vec3f > impulse,
DArray< Vec3f > J,
DArray< Vec3f > B,
DArray< float > eta,
DArray< TConstraintPair< float > > constraints,
DArray< int > nbq,
DArray< float > K_1,
DArray< Mat2f > K_2,
DArray< Mat3f > K_3,
DArray< float > mass,
DArray< float > mu,
float g,
float dt,
float zeta,
float hertz )

◆ JacobiIterationStrict()

void dyno::JacobiIterationStrict ( DArray< float > lambda,
DArray< Vec3f > impulse,
DArray< Vec3f > J,
DArray< Vec3f > B,
DArray< float > eta,
DArray< TConstraintPair< float > > constraints,
DArray< int > nbq,
DArray< float > d,
DArray< float > mass,
float mu,
float g,
float dt )

◆ jacobiRotate()

template<typename Real>
DYN_FUNC void dyno::jacobiRotate ( SquareMatrix< Real, 3 > & A,
SquareMatrix< Real, 3 > & R,
int p,
int q )

Definition at line 11 of file MatrixFunc.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ leftBound()

template<typename T>
DYN_FUNC int dyno::leftBound ( T target,
T * startLoc,
uint maxSize )

Find the left bound of a target with a binary search algorithm.

Template Parameters
T
Parameters
target
dataStart address
maxSizesize of array buffer
Returns
case 1: return INVALID if data is empty; case 2: return the index of the first element that is equal to or greater than target case 3: return maxSize if target is not in the array

Definition at line 22 of file STLMacro.h.

Here is the caller graph for this function:

◆ lerp()

template<typename T, DeviceType deviceType>
DYN_FUNC T dyno::lerp ( Array< T, deviceType > & array1d,
float x,
LerpMode mode = LerpMode::REPEAT )

Definition at line 36 of file Lerp.h.

Here is the caller graph for this function:

◆ lexicographical_compare()

template<typename InputIterator1, typename InputIterator2>
DYN_FUNC bool dyno::lexicographical_compare ( InputIterator1 first1,
InputIterator1 last1,
InputIterator2 first2,
InputIterator2 last2 )
inline

Definition at line 358 of file RandomAccessContainer.inl.

Here is the caller graph for this function:

◆ loadGLTFMaterial()

void dyno::loadGLTFMaterial ( tinygltf::Model & model,
std::shared_ptr< TextureMesh > texMesh,
FilePath filename )

◆ loadGLTFShape()

void dyno::loadGLTFShape ( tinygltf::Model & model,
std::shared_ptr< TextureMesh > texMesh,
const std::string & filepath,
DArray< Vec3f > * initialPosition = nullptr,
DArray< Vec3f > * initialNormal = nullptr,
DArray< Mat4f > * d_mesh_Matrix = nullptr,
DArray< int > * d_shape_meshId = nullptr,
std::shared_ptr< SkinInfo > skinData = nullptr )

◆ loadGLTFTextureMesh()

void dyno::loadGLTFTextureMesh ( std::shared_ptr< TextureMesh > texMesh,
const std::string & filepath )
Here is the caller graph for this function:

◆ loadTexture()

bool dyno::loadTexture ( const char * path,
dyno::CArray2D< dyno::Vec4f > & img )

Definition at line 9 of file MaterialFunc.h.

◆ loadTextureMeshFromObj()

bool dyno::loadTextureMeshFromObj ( std::shared_ptr< TextureMesh > texMesh,
const FilePath & fullname )

Definition at line 10 of file tinyobj_helper.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ log()

template<typename Real>
DYN_FUNC Complex< Real > dyno::log ( const Complex< Real > & __x)
inline

Definition at line 305 of file Complex.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ log10()

template<typename Real>
DYN_FUNC Complex< Real > dyno::log10 ( const Complex< Real > & __x)
inline

Definition at line 313 of file Complex.inl.

Here is the call graph for this function:

◆ loopSubdivide()

void dyno::loopSubdivide ( std::vector< Vec3f > & vertices,
std::vector< TopologyModule::Triangle > & triangles )

Definition at line 11 of file Subdivide.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lowbit()

DYN_FUNC unsigned int dyno::lowbit ( unsigned int x)
inline

Definition at line 240 of file SimpleMath.h.

Here is the caller graph for this function:

◆ lownum()

DYN_FUNC unsigned int dyno::lownum ( unsigned int x)
inline

Definition at line 260 of file SimpleMath.h.

Here is the call graph for this function:

◆ make_heap()

template<typename RandomAccessIterator, typename Compare>
DYN_FUNC void dyno::make_heap ( RandomAccessIterator first,
RandomAccessIterator last,
Compare compare )

make_heap

Given an array, this function converts it into heap format. The complexity is O(n), where n is count of the range. The input range is not required to be in any order.

Definition at line 160 of file Heap.h.

Here is the call graph for this function:

◆ makeFixedVector() [1/9]

template<class T>
DYN_FUNC VectorND< T, 2 > dyno::makeFixedVector ( const T & v0,
const T & v1 )
inline

Definition at line 279 of file VectorND.h.

◆ makeFixedVector() [2/9]

template<class T>
DYN_FUNC VectorND< T, 3 > dyno::makeFixedVector ( const T & v0,
const T & v1,
const T & v2 )
inline

Definition at line 288 of file VectorND.h.

◆ makeFixedVector() [3/9]

template<class T>
DYN_FUNC VectorND< T, 4 > dyno::makeFixedVector ( const T & v0,
const T & v1,
const T & v2,
const T & v3 )
inline

Definition at line 298 of file VectorND.h.

◆ makeFixedVector() [4/9]

template<class T>
DYN_FUNC VectorND< T, 5 > dyno::makeFixedVector ( const T & v0,
const T & v1,
const T & v2,
const T & v3,
const T & v4 )
inline

Definition at line 309 of file VectorND.h.

◆ makeFixedVector() [5/9]

template<class T>
DYN_FUNC VectorND< T, 6 > dyno::makeFixedVector ( const T & v0,
const T & v1,
const T & v2,
const T & v3,
const T & v4,
const T & v5 )
inline

Definition at line 321 of file VectorND.h.

◆ makeFixedVector() [6/9]

template<class T>
DYN_FUNC VectorND< T, 7 > dyno::makeFixedVector ( const T & v0,
const T & v1,
const T & v2,
const T & v3,
const T & v4,
const T & v5,
const T & v6 )
inline

Definition at line 334 of file VectorND.h.

◆ makeFixedVector() [7/9]

template<class T>
DYN_FUNC VectorND< T, 8 > dyno::makeFixedVector ( const T & v0,
const T & v1,
const T & v2,
const T & v3,
const T & v4,
const T & v5,
const T & v6,
const T & v7 )
inline

Definition at line 348 of file VectorND.h.

◆ makeFixedVector() [8/9]

template<class T>
DYN_FUNC VectorND< T, 9 > dyno::makeFixedVector ( const T & v0,
const T & v1,
const T & v2,
const T & v3,
const T & v4,
const T & v5,
const T & v6,
const T & v7,
const T & v8 )
inline

Definition at line 363 of file VectorND.h.

◆ makeFixedVector() [9/9]

template<class T>
DYN_FUNC VectorND< T, 10 > dyno::makeFixedVector ( const T & v0,
const T & v1,
const T & v2,
const T & v3,
const T & v4,
const T & v5,
const T & v6,
const T & v7,
const T & v8,
const T & v9 )
inline

Definition at line 379 of file VectorND.h.

◆ mappingModifierBits()

PModifierBits dyno::mappingModifierBits ( Qt::KeyboardModifiers mods)

Definition at line 241 of file POpenGLWidget.cpp.

Here is the caller graph for this function:

◆ mappingMouseButton()

PButtonType dyno::mappingMouseButton ( QMouseEvent * event)

Definition at line 225 of file POpenGLWidget.cpp.

Here is the caller graph for this function:

◆ matrixMultiplyVec()

void dyno::matrixMultiplyVec ( DArray< Vec3f > & J,
DArray< Vec3f > & B,
DArray< float > & lambda,
DArray< float > & ans,
DArray< TConstraintPair< float > > & constraints,
int bodyNum )

◆ maximum() [1/4]

template<typename T>
DYN_FUNC T dyno::maximum ( const T & v0,
const T & v1 )
inline

Definition at line 160 of file SimpleMath.h.

Here is the caller graph for this function:

◆ maximum() [2/4]

template<typename T>
DYN_FUNC Vector< T, 2 > dyno::maximum ( const Vector< T, 2 > & v0,
const Vector< T, 2 > & v1 )
inline

Definition at line 166 of file SimpleMath.h.

◆ maximum() [3/4]

template<typename T>
DYN_FUNC Vector< T, 3 > dyno::maximum ( const Vector< T, 3 > & v0,
const Vector< T, 3 > & v1 )
inline

Definition at line 176 of file SimpleMath.h.

◆ maximum() [4/4]

template<typename T>
DYN_FUNC Vector< T, 4 > dyno::maximum ( const Vector< T, 4 > & v0,
const Vector< T, 4 > & v1 )
inline

Definition at line 187 of file SimpleMath.h.

◆ minimum() [1/4]

template<typename T>
DYN_FUNC T dyno::minimum ( const T & v0,
const T & v1 )
inline

Definition at line 120 of file SimpleMath.h.

Here is the caller graph for this function:

◆ minimum() [2/4]

template<typename T>
DYN_FUNC Vector< T, 2 > dyno::minimum ( const Vector< T, 2 > & v0,
const Vector< T, 2 > & v1 )
inline

Definition at line 126 of file SimpleMath.h.

◆ minimum() [3/4]

template<typename T>
DYN_FUNC Vector< T, 3 > dyno::minimum ( const Vector< T, 3 > & v0,
const Vector< T, 3 > & v1 )
inline

Definition at line 136 of file SimpleMath.h.

◆ minimum() [4/4]

template<typename T>
DYN_FUNC Vector< T, 4 > dyno::minimum ( const Vector< T, 4 > & v0,
const Vector< T, 4 > & v1 )
inline

Definition at line 147 of file SimpleMath.h.

◆ move_or_copy()

template<typename InputIterator, typename OutputIterator>
static DYN_FUNC OutputIterator dyno::move_or_copy ( InputIterator first,
InputIterator last,
OutputIterator result )
static

Definition at line 175 of file RandomAccessContainer.inl.

Here is the caller graph for this function:

◆ move_or_copy_backward()

template<typename Iterator>
static DYN_FUNC Iterator dyno::move_or_copy_backward ( Iterator first,
Iterator last,
Iterator resultEnd )
static

Definition at line 184 of file RandomAccessContainer.inl.

Here is the caller graph for this function:

◆ MSB()

DYN_FUNC unsigned int dyno::MSB ( unsigned int x)
inline

Definition at line 257 of file SimpleMath.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ multiply_SM_by_vector()

template<typename VarType>
void dyno::multiply_SM_by_vector ( DArrayMap< VarType > & matrix_a,
DArray< VarType > & a,
DArray< VarType > & Aa )
Here is the caller graph for this function:

◆ multiply_transposedSM_by_vector()

template<typename VarType>
void dyno::multiply_transposedSM_by_vector ( DArrayMap< VarType > & matrix_a,
DArray< VarType > & a,
DArray< VarType > & Aa )

◆ NewtonsMethod()

template<typename T>
DYN_FUNC T dyno::NewtonsMethod ( T a,
T b,
T c,
T d,
T x0,
int init_dir )
inline

Definition at line 118 of file TightCCD.inl.

Here is the caller graph for this function:

◆ operator!=() [1/2]

template<typename T, typename Container, typename Compare>
DYN_FUNC bool dyno::operator!= ( const priority_queue< T, Container, Compare > & a,
const priority_queue< T, Container, Compare > & b )
inline

Definition at line 118 of file PriorityQueue.inl.

◆ operator!=() [2/2]

template<typename T>
bool dyno::operator!= ( const RandomAccessContainer< T > & a,
const RandomAccessContainer< T > & b )
inline

Definition at line 378 of file RandomAccessContainer.inl.

Here is the call graph for this function:

◆ operator*() [1/8]

template<typename S, typename T>
DYN_FUNC const Complex< T > dyno::operator* ( S scale,
const Complex< T > & complex )

Definition at line 247 of file Complex.inl.

◆ operator*() [2/8]

template<typename S, typename T>
DYN_FUNC Quat< T > dyno::operator* ( S scale,
const Quat< T > & quad )
inline

Definition at line 128 of file Quat.h.

◆ operator*() [3/8]

template<typename S, typename T>
DYN_FUNC const SquareMatrix< T, 2 > dyno::operator* ( S scale,
const SquareMatrix< T, 2 > & mat )

Definition at line 78 of file Matrix2x2.h.

◆ operator*() [4/8]

template<typename S, typename T>
DYN_FUNC const SquareMatrix< T, 3 > dyno::operator* ( S scale,
const SquareMatrix< T, 3 > & mat )

Definition at line 84 of file Matrix3x3.h.

◆ operator*() [5/8]

template<typename S, typename T>
DYN_FUNC const SquareMatrix< T, 4 > dyno::operator* ( S scale,
const SquareMatrix< T, 4 > & mat )

Definition at line 312 of file Matrix4x4.inl.

◆ operator*() [6/8]

template<typename S, typename T>
DYN_FUNC const Vector< T, 2 > dyno::operator* ( S scale,
const Vector< T, 2 > & vec )

Definition at line 233 of file Vector2D.inl.

◆ operator*() [7/8]

template<typename S, typename T>
DYN_FUNC const Vector< T, 3 > dyno::operator* ( S scale,
const Vector< T, 3 > & vec )

Definition at line 235 of file Vector3D.inl.

◆ operator*() [8/8]

template<typename S, typename T>
DYN_FUNC const Vector< T, 4 > dyno::operator* ( S scale,
const Vector< T, 4 > & vec )

Definition at line 232 of file Vector4D.inl.

◆ operator+()

template<typename S, typename T>
DYN_FUNC const Complex< T > dyno::operator+ ( S scale,
const Complex< T > & complex )

Definition at line 235 of file Complex.inl.

◆ operator-()

template<typename S, typename T>
DYN_FUNC const Complex< T > dyno::operator- ( S scale,
const Complex< T > & complex )

Definition at line 241 of file Complex.inl.

◆ operator/()

template<typename S, typename T>
DYN_FUNC const Complex< T > dyno::operator/ ( S scale,
const Complex< T > & complex )

Definition at line 253 of file Complex.inl.

◆ operator<() [1/4]

bool dyno::operator< ( const Index2D & lhs,
const Index2D & rhs )

Definition at line 61 of file CubeModel.cpp.

◆ operator<() [2/4]

bool dyno::operator< ( const Index2DPlane & lhs,
const Index2DPlane & rhs )

Definition at line 72 of file PlaneModel.cpp.

◆ operator<() [3/4]

template<typename T, typename Container, typename Compare>
DYN_FUNC bool dyno::operator< ( const priority_queue< T, Container, Compare > & a,
const priority_queue< T, Container, Compare > & b )

Definition at line 112 of file PriorityQueue.inl.

◆ operator<() [4/4]

template<typename T>
bool dyno::operator< ( const RandomAccessContainer< T > & a,
const RandomAccessContainer< T > & b )
inline

Definition at line 385 of file RandomAccessContainer.inl.

Here is the call graph for this function:

◆ operator<=() [1/2]

template<typename T, typename Container, typename Compare>
DYN_FUNC bool dyno::operator<= ( const priority_queue< T, Container, Compare > & a,
const priority_queue< T, Container, Compare > & b )
inline

Definition at line 130 of file PriorityQueue.inl.

◆ operator<=() [2/2]

template<typename T>
bool dyno::operator<= ( const RandomAccessContainer< T > & a,
const RandomAccessContainer< T > & b )
inline

Definition at line 399 of file RandomAccessContainer.inl.

◆ operator==() [1/2]

template<typename T, typename Container, typename Compare>
DYN_FUNC bool dyno::operator== ( const priority_queue< T, Container, Compare > & a,
const priority_queue< T, Container, Compare > & b )

Definition at line 106 of file PriorityQueue.inl.

◆ operator==() [2/2]

template<typename T>
bool dyno::operator== ( const RandomAccessContainer< T > & a,
const RandomAccessContainer< T > & b )
inline

Definition at line 371 of file RandomAccessContainer.inl.

Here is the call graph for this function:

◆ operator>() [1/2]

template<typename T, typename Container, typename Compare>
DYN_FUNC bool dyno::operator> ( const priority_queue< T, Container, Compare > & a,
const priority_queue< T, Container, Compare > & b )
inline

Definition at line 124 of file PriorityQueue.inl.

◆ operator>() [2/2]

template<typename T>
bool dyno::operator> ( const RandomAccessContainer< T > & a,
const RandomAccessContainer< T > & b )
inline

Definition at line 392 of file RandomAccessContainer.inl.

◆ operator>=() [1/2]

template<typename T, typename Container, typename Compare>
DYN_FUNC bool dyno::operator>= ( const priority_queue< T, Container, Compare > & a,
const priority_queue< T, Container, Compare > & b )
inline

Definition at line 136 of file PriorityQueue.inl.

◆ operator>=() [2/2]

template<typename T>
bool dyno::operator>= ( const RandomAccessContainer< T > & a,
const RandomAccessContainer< T > & b )
inline

Definition at line 406 of file RandomAccessContainer.inl.

◆ orientation()

static int dyno::orientation ( double x1,
double y1,
double x2,
double y2,
double & twice_signed_area )
static

Definition at line 188 of file FastSweepingMethod.cpp.

Here is the caller graph for this function:

◆ orthographic()

template<typename Real>
DYN_FUNC int dyno::orthographic ( ClipVertex * out,
Real sign,
Real e,
int axis,
int clipEdge,
ClipVertex * in,
int inCount )

Definition at line 271 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ parallel_allocate_for_list()

template<uint N>
void dyno::parallel_allocate_for_list ( void * lists,
void * elements,
size_t ele_size,
DArray< uint > & index )

◆ parallel_allocate_for_map()

template<uint N>
void dyno::parallel_allocate_for_map ( void * maps,
void * elements,
size_t ele_size,
DArray< uint > & index )
Here is the caller graph for this function:

◆ parallel_init_for_list()

template<uint N>
void dyno::parallel_init_for_list ( void * lists,
void * elements,
size_t ele_size,
DArray< uint > & index )

◆ parallel_init_for_map()

template<uint N>
void dyno::parallel_init_for_map ( void * maps,
void * elements,
size_t ele_size,
DArray< uint > & index )
Here is the caller graph for this function:

◆ parse_enum_string()

bool dyno::parse_enum_string ( const std::string & enum_str,
EnumMap & enumKeyValueList )

Definition at line 20 of file DeclareEnum.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ perp()

template<typename T>
DYN_FUNC Vector< T, 2 > dyno::perp ( Vector< T, 2 > const & v)
inline

Definition at line 228 of file SimpleMath.h.

Here is the caller graph for this function:

◆ point_in_triangle_2d()

static bool dyno::point_in_triangle_2d ( double x0,
double y0,
double x1,
double y1,
double x2,
double y2,
double x3,
double y3,
double & a,
double & b,
double & c )
static

Definition at line 202 of file FastSweepingMethod.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ point_segment_distance()

static float dyno::point_segment_distance ( const Vec3f & x0,
const Vec3f & x1,
const Vec3f & x2 )
static

Definition at line 90 of file FastSweepingMethod.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ point_triangle_distance()

static float dyno::point_triangle_distance ( const Vec3f & x0,
const Vec3f & x1,
const Vec3f & x2,
const Vec3f & x3 )
static

Definition at line 107 of file FastSweepingMethod.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ polar()

template<typename Real>
DYN_FUNC Complex< Real > dyno::polar ( const Real & __rho,
const Real & __theta = Real(0) )
inline

Definition at line 279 of file Complex.inl.

Here is the caller graph for this function:

◆ polarDecomposition() [1/4]

template<typename Real>
DYN_FUNC void dyno::polarDecomposition ( const SquareMatrix< Real, 3 > & A,
SquareMatrix< Real, 3 > & R,
SquareMatrix< Real, 3 > & U,
SquareMatrix< Real, 3 > & D )

Definition at line 226 of file MatrixFunc.inl.

Here is the call graph for this function:

◆ polarDecomposition() [2/4]

template<typename Real>
DYN_FUNC void dyno::polarDecomposition ( const SquareMatrix< Real, 3 > & M,
SquareMatrix< Real, 3 > & R,
Real tolerance )

Definition at line 326 of file MatrixFunc.inl.

Here is the call graph for this function:

◆ polarDecomposition() [3/4]

template<typename Real, int Dim>
DYN_FUNC void dyno::polarDecomposition ( const SquareMatrix< Real, Dim > & A,
SquareMatrix< Real, Dim > & R,
SquareMatrix< Real, Dim > & U,
SquareMatrix< Real, Dim > & D )

◆ polarDecomposition() [4/4]

template<typename Real, int Dim>
DYN_FUNC void dyno::polarDecomposition ( const SquareMatrix< Real, Dim > & M,
SquareMatrix< Real, Dim > & R,
Real tolerance )

◆ pop_heap()

template<typename RandomAccessIterator, typename Compare>
DYN_FUNC void dyno::pop_heap ( RandomAccessIterator first,
RandomAccessIterator last,
Compare compare )
inline

pop_heap Removes the first item from the heap(which is an array), and adjusts the heap so that the highest priority item becomes the new first item. The logically removed element is actually in the back, so an extra pop_back is need. Thus, the pop of a prior-priority high item in a heap is a two step process: pop_heap and pop_back.

Definition at line 140 of file Heap.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pow() [1/3]

template<typename Real>
DYN_FUNC Complex< Real > dyno::pow ( const Complex< Real > & __x,
const Complex< Real > & __y )
inline

Definition at line 364 of file Complex.inl.

Here is the call graph for this function:

◆ pow() [2/3]

template<typename Real>
DYN_FUNC Complex< Real > dyno::pow ( const Complex< Real > & __x,
const Real & __y )
inline

Definition at line 370 of file Complex.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pow() [3/3]

template<typename Real>
DYN_FUNC Complex< Real > dyno::pow ( const Real & __x,
const Complex< Real > & __y )
inline

Definition at line 376 of file Complex.inl.

Here is the call graph for this function:

◆ preconditionedResidual()

void dyno::preconditionedResidual ( DArray< float > & residual,
DArray< float > & ans,
DArray< float > & k_1,
DArray< Mat2f > & k_2,
DArray< Mat3f > & k_3,
DArray< TConstraintPair< float > > & constraints )

◆ preConditionJ()

void dyno::preConditionJ ( DArray< Vec3f > J,
DArray< float > d,
DArray< float > eta )

◆ projectOnAxis() [1/5]

template<typename Real>
DYN_FUNC void dyno::projectOnAxis ( Real & lowerBoundary,
Real & upperBoundary,
const Vec3f axisNormal,
OrientedBox3D box,
const Real radius )
inline

Definition at line 1076 of file CollisionDetectionAlgorithm.inl.

◆ projectOnAxis() [2/5]

template<typename Real>
DYN_FUNC void dyno::projectOnAxis ( Real & lowerBoundary,
Real & upperBoundary,
const Vec3f axisNormal,
Segment3D seg,
const Real radius )
inline

Definition at line 676 of file CollisionDetectionAlgorithm.inl.

◆ projectOnAxis() [3/5]

template<typename Real>
DYN_FUNC void dyno::projectOnAxis ( Real & lowerBoundary,
Real & upperBoundary,
const Vec3f axisNormal,
Sphere3D sphere,
const Real radius )
inline

Definition at line 624 of file CollisionDetectionAlgorithm.inl.

Here is the caller graph for this function:

◆ projectOnAxis() [4/5]

template<typename Real>
DYN_FUNC void dyno::projectOnAxis ( Real & lowerBoundary,
Real & upperBoundary,
const Vec3f axisNormal,
Tet3D tet,
const Real radius )
inline

Definition at line 971 of file CollisionDetectionAlgorithm.inl.

◆ projectOnAxis() [5/5]

template<typename Real>
DYN_FUNC void dyno::projectOnAxis ( Real & lowerBoundary,
Real & upperBoundary,
const Vec3f axisNormal,
Triangle3D tri,
const Real radius )
inline

Definition at line 867 of file CollisionDetectionAlgorithm.inl.

◆ projectPointToTriangle()

Vec3f dyno::projectPointToTriangle ( const Vec3f & A,
const Vec3f & B,
const Vec3f & C,
const Vec3f & P )

Definition at line 53 of file EarClipper.cpp.

Here is the caller graph for this function:

◆ promote_heap() [1/2]

template<typename RandomAccessIterator, typename Distance, typename T, typename Compare>
DYN_FUNC void dyno::promote_heap ( RandomAccessIterator first,
Distance topPosition,
Distance position,
const T & value,
Compare compare )
inline

promote_heap

Moves a value in the heap from a given position upward until it is sorted correctly. This function requires that the value argument refer to a value that is currently not within the heap. Takes a Compare(a, b) function (or function object) which returns true if a < b.

Definition at line 56 of file Heap.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ promote_heap() [2/2]

template<typename RandomAccessIterator, typename Distance, typename T, typename Compare>
DYN_FUNC void dyno::promote_heap ( RandomAccessIterator first,
Distance topPosition,
Distance position,
T && value,
Compare compare )
inline

Definition at line 64 of file Heap.h.

Here is the call graph for this function:

◆ promote_heap_impl()

template<typename RandomAccessIterator, typename Distance, typename T, typename Compare, typename ValueType>
DYN_FUNC void dyno::promote_heap_impl ( RandomAccessIterator first,
Distance topPosition,
Distance position,
T value,
Compare compare )
inline

promote_heap_implementation

Definition at line 36 of file Heap.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ push_heap()

template<typename RandomAccessIterator, typename Compare>
DYN_FUNC void dyno::push_heap ( RandomAccessIterator first,
RandomAccessIterator last,
Compare compare )
inline

push_heap Adds an item to a heap(which is an array).The item necessarily comes from the back of the heap (array). Thus, the insertion of a new item in a heap is a two step process: push_back and push_heap.

Definition at line 122 of file Heap.h.

Here is the call graph for this function:

◆ QRDecomposition()

template<typename Real>
DYN_FUNC void dyno::QRDecomposition ( SquareMatrix< Real, 3 > & A,
SquareMatrix< Real, 3 > & R,
int p,
int q )

Definition at line 78 of file MatrixFunc.inl.

◆ RecieveLogMessage()

static void dyno::RecieveLogMessage ( const Log::Message & m)
static

Definition at line 36 of file GlfwRenderWindow.cpp.

Here is the caller graph for this function:

◆ RecoverFromMortonCode() [1/2]

DYN_FUNC void dyno::RecoverFromMortonCode ( OcKey key,
Level & l,
OcIndex & x,
OcIndex & y,
OcIndex & z )

◆ RecoverFromMortonCode() [2/2]

static DYN_FUNC void dyno::RecoverFromMortonCode ( OcKey key,
OcIndex & x,
OcIndex & y,
OcIndex & z )
static

Definition at line 43 of file VoxelOctree.h.

◆ Register()

bool dyno::Register ( ClassInfo * ci)

Definition at line 56 of file Object.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ remove_heap()

template<typename RandomAccessIterator, typename Distance, typename Compare>
DYN_FUNC void dyno::remove_heap ( RandomAccessIterator first,
Distance heapSize,
Distance position,
Compare compare )
inline

remove_heap Removes an arbitrary entry from the heapand adjusts the heap appropriately. This function is unlike pop_heap in that pop_heap moves the top item to the back of the heap, whereas remove_heap moves an arbitrary item to the back of the heap. Thus, the removing of a new item in a heap is a two step process: remove_heap and pop_back.

Definition at line 204 of file Heap.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rightBound()

template<typename T>
DYN_FUNC int dyno::rightBound ( T target,
T * startLoc,
uint maxSize )

Find the right bound of a target with a binary search algorithm.

Template Parameters
T
Parameters
target
dataStart address
maxSizesize of array buffer
Returns
case 1: return -1 if data is empty; case 2: return the index of the last element that is equal to or smaller than target case 3: return -1 if target is not in the array

Definition at line 54 of file STLMacro.h.

Here is the caller graph for this function:

◆ saveMatrixToFile()

bool dyno::saveMatrixToFile ( DArray< float > & Matrix,
int n,
const std::string & filename )

◆ saveVectorToFile() [1/2]

bool dyno::saveVectorToFile ( const std::vector< float > & vec,
const std::string & filename )

◆ saveVectorToFile() [2/2]

bool dyno::saveVectorToFile ( DArray< float > & vec,
const std::string & filename )

◆ ScanSizeOfNextLevel()

int dyno::ScanSizeOfNextLevel ( int size,
int localSize )
inline

Definition at line 4 of file VkScan.inl.

Here is the caller graph for this function:

◆ set_v()

static void dyno::set_v ( TetInfo & obj,
const std::vector< Vec3f > & values )
static

Definition at line 20 of file RigidBodyShared.h.

◆ SetupAttributesForSFI()

void dyno::SetupAttributesForSFI ( DArray< Attribute > & att)

◆ setUpBallAndSocketJointConstraints()

void dyno::setUpBallAndSocketJointConstraints ( DArray< TConstraintPair< float > > constraints,
DArray< BallAndSocketJoint< float > > joints,
DArray< Vec3f > pos,
DArray< Mat3f > rotMat,
int begin_index )

◆ setUpContactAndFrictionConstraints()

void dyno::setUpContactAndFrictionConstraints ( DArray< TConstraintPair< float > > constraints,
DArray< TContactPair< float > > contactsInLocalFrame,
DArray< Vec3f > pos,
DArray< Mat3f > rotMat,
bool hasFriction )

◆ setupContactCaps()

template<typename Real>
DYN_FUNC void dyno::setupContactCaps ( Real boundary1,
Real boundary2,
const Vector< Real, 3 > axisNormal,
TCapsule3D< Real > cap,
TOrientedBox3D< Real > box,
Real depth,
TManifold< Real > & m )
inline

Definition at line 3415 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setUpContactConstraints()

void dyno::setUpContactConstraints ( DArray< TConstraintPair< float > > constraints,
DArray< TContactPair< float > > contactsInLocalFrame,
DArray< Vec3f > pos,
DArray< Mat3f > rotMat )

◆ setupContactOnBox()

template<typename Real, typename Shape>
DYN_FUNC void dyno::setupContactOnBox ( TManifold< Real > & m,
TSeparationData< Real > & sat,
const Shape & shapeA,
const TOrientedBox3D< Real > & boxB,
const Real radiusA,
const Real radiusB )
inline

Definition at line 1166 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setupContactOnSeg()

template<typename Real>
DYN_FUNC void dyno::setupContactOnSeg ( TManifold< Real > & m,
TSeparationData< Real > & sat,
const TSegment3D< Real > & segB,
const Real radiusA,
const Real radiusB )
inline

Definition at line 737 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setupContactOnSphere()

template<typename Real>
DYN_FUNC void dyno::setupContactOnSphere ( TManifold< Real > & m,
TSeparationData< Real > & sat,
const TSphere3D< Real > & sphereB,
const Real radiusA,
const Real radiusB )
inline

Definition at line 639 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setupContactOnTet()

template<typename Real, typename Shape>
DYN_FUNC void dyno::setupContactOnTet ( TManifold< Real > & m,
TSeparationData< Real > & sat,
const Shape & shapeA,
const TTet3D< Real > & tetB,
const Real radiusA,
const Real radiusB )
inline

Definition at line 1034 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setupContactOnTri()

template<typename Real, typename Shape>
DYN_FUNC void dyno::setupContactOnTri ( TManifold< Real > & m,
TSeparationData< Real > & sat,
const Shape & shapeA,
const TTriangle3D< Real > & triB,
const Real radiusA,
const Real radiusB )
inline

Definition at line 929 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setUpContactsInLocalFrame()

void dyno::setUpContactsInLocalFrame ( DArray< TContactPair< float > > contactsInLocalFrame,
DArray< TContactPair< float > > contactsInGlobalFrame,
DArray< Vec3f > pos,
DArray< Mat3f > rotMat )

◆ setupContactTets() [1/3]

template<typename Real>
DYN_FUNC void dyno::setupContactTets ( Real boundary1,
Real boundary2,
const Vector< Real, 3 > axisNormal,
Tet3D tet,
Capsule3D cap,
Real sMax,
TManifold< Real > & m )
inline

Definition at line 3603 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setupContactTets() [2/3]

template<typename Real>
DYN_FUNC void dyno::setupContactTets ( Real boundary1,
Real boundary2,
const Vector< Real, 3 > axisNormal,
Tet3D tet,
TOrientedBox3D< Real > box,
Real sMax,
TManifold< Real > & m )
inline

Definition at line 4814 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:

◆ setupContactTets() [3/3]

template<typename Real>
DYN_FUNC void dyno::setupContactTets ( Real boundary1,
Real boundary2,
const Vector< Real, 3 > axisNormal,
Tet3D tet1,
Tet3D tet2,
Real sMax,
TManifold< Real > & m )
inline

Definition at line 4625 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:

◆ setupContactTetTri()

template<typename Real>
DYN_FUNC void dyno::setupContactTetTri ( Real boundary1,
Real boundary2,
const Vector< Real, 3 > axisNormal,
Tet3D tet,
Triangle3D triangle,
Real sMax,
TManifold< Real > & m )
inline

Definition at line 3710 of file CollisionDetectionAlgorithm.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setUpFixedJointConstraints()

void dyno::setUpFixedJointConstraints ( DArray< TConstraintPair< float > > & constraints,
DArray< FixedJoint< float > > & joints,
DArray< Mat3f > & rotMat,
DArray< Quat1f > & rotQuat,
int begin_index )

◆ setUpGravity()

void dyno::setUpGravity ( DArray< Vec3f > impulse_ext,
float g,
float dt )

◆ setUpHingeJointConstraints()

void dyno::setUpHingeJointConstraints ( DArray< TConstraintPair< float > > constraints,
DArray< HingeJoint< float > > joints,
DArray< Vec3f > pos,
DArray< Mat3f > rotMat,
DArray< Quat1f > rotation_q,
int begin_index )

◆ setUpPointJointConstraints()

void dyno::setUpPointJointConstraints ( DArray< TConstraintPair< float > > constraints,
DArray< PointJoint< float > > joints,
DArray< Vec3f > pos,
int begin_index )

◆ setupPoints()

template<typename Vec3f>
void dyno::setupPoints ( DArray< Vec3f > & newPos,
DArray< Vec3f > & pos,
DArray< int > & radix )

◆ setUpSliderJointConstraints()

void dyno::setUpSliderJointConstraints ( DArray< TConstraintPair< float > > constraints,
DArray< SliderJoint< float > > joints,
DArray< Vec3f > pos,
DArray< Mat3f > rotMat,
DArray< Quat1f > rotQuat,
int begin_index )

◆ sgn()

template<typename T>
DYN_FUNC int dyno::sgn ( T x)

Definition at line 96 of file TightCCD.inl.

Here is the caller graph for this function:

◆ Shape_PointCounter()

template<typename uint>
void dyno::Shape_PointCounter ( DArray< int > & counter,
DArray< uint > & point_ShapeIds,
uint & target )

◆ shapeToCenter()

template<typename Vec3f, typename uint>
void dyno::shapeToCenter ( DArray< Vec3f > & iniPos,
DArray< Vec3f > & finalPos,
DArray< uint > & shapeId,
DArray< Vec3f > & t )

◆ shapeTransform()

template<typename Mat4f, typename Vec3f>
void dyno::shapeTransform ( DArray< Vec3f > & intialPosition,
DArray< Vec3f > & worldPosition,
DArray< Vec3f > & intialNormal,
DArray< Vec3f > & Normal,
DArray< Mat4f > & WorldMatrix,
DArray< uint > & vertexId_shape,
DArray< int > & shapeId_MeshId )

◆ sign()

template<typename T>
DYN_FUNC int dyno::sign ( T const & a,
T const EPS = EPSILON )
inline

Definition at line 39 of file SimpleMath.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SignedDistanceEE()

template<typename T>
DYN_FUNC T dyno::SignedDistanceEE ( const Vector< T, 3 > & x0,
const Vector< T, 3 > & x1,
const Vector< T, 3 > & y0,
const Vector< T, 3 > & y1,
Vector< T, 3 > * n,
Real * w )

Definition at line 54 of file TightCCD.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SignedDistanceVF()

template<typename T>
DYN_FUNC T dyno::SignedDistanceVF ( const Vector< T, 3 > & x,
const Vector< T, 3 > & y0,
const Vector< T, 3 > & y1,
const Vector< T, 3 > & y2,
Vector< T, 3 > * n,
T * w )

Definition at line 25 of file TightCCD.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sin()

template<typename Real>
DYN_FUNC Complex< Real > dyno::sin ( const Complex< Real > & __x)
inline

Definition at line 564 of file Complex.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sinh()

template<typename Real>
DYN_FUNC Complex< Real > dyno::sinh ( const Complex< Real > & __x)
inline

Definition at line 260 of file Complex.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SizeOfNextLevel()

int dyno::SizeOfNextLevel ( int size,
int localSize )
inline

Definition at line 7 of file VkReduce.inl.

Here is the caller graph for this function:

◆ skinAnimation()

template<typename Vec3f, typename Vec4f, typename Mat4f, typename Vec2u>
void dyno::skinAnimation ( DArray< Vec3f > & intialPosition,
DArray< Vec3f > & worldPosition,
DArray< Mat4f > & joint_inverseBindMatrix,
DArray< Mat4f > & WorldMatrix,
DArray< Vec4f > & bind_joints_0,
DArray< Vec4f > & bind_joints_1,
DArray< Vec4f > & weights_0,
DArray< Vec4f > & weights_1,
Mat4f transform,
bool isNormal,
Vec2u range )

◆ SO_ComputeObjectAndNormal()

template<typename Coord, DeviceType deviceType, typename IndexType>
DYN_FUNC void dyno::SO_ComputeObjectAndNormal ( Coord & pobject,
Coord & pnormal,
Array< Coord, deviceType > & surf_points,
Array< TopologyModule::Edge, deviceType > & edge,
Array< TopologyModule::Triangle, deviceType > & surf_triangles,
Array< TopologyModule::Tri2Edg, deviceType > & t2e,
Array< Coord, deviceType > & edgeN,
Array< Coord, deviceType > & vertexN,
Coord ppos,
IndexType surf_id )

Definition at line 128 of file Distance3D.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SolveCubic()

template<typename T>
DYN_FUNC int dyno::SolveCubic ( T a,
T b,
T c,
T d,
T x[3] )
inline

Definition at line 141 of file TightCCD.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SolveQuadratic()

template<typename T>
DYN_FUNC int dyno::SolveQuadratic ( T a,
T b,
T c,
T x[2] )
inline

Definition at line 99 of file TightCCD.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sort_heap()

template<typename RandomAccessIterator, typename Compare>
DYN_FUNC void dyno::sort_heap ( RandomAccessIterator first,
RandomAccessIterator last,
Compare compare )
inline

sort_heap

After the application if this algorithm, the range it was applied to is no longer a heap, though it will be a reverse heap. The item with the lowest priority will be first, and the highest last. This is not a stable sort because the relative order of equivalent elements is not necessarily preserved. The range referenced must be valid; all pointers must be dereferenceable and within the sequence the last position is reachable from the first by incrementation. The complexity is at most O(n * log(n)), where n is count of the range.

Definition at line 190 of file Heap.h.

Here is the call graph for this function:

◆ sqrt()

template<typename Real>
DYN_FUNC Complex< Real > dyno::sqrt ( const Complex< Real > & __x)
inline

Definition at line 321 of file Complex.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ STP()

template<typename T>
DYN_FUNC T dyno::STP ( const Vector< T, 3 > & u,
const Vector< T, 3 > & v,
const Vector< T, 3 > & w )
inline

Definition at line 10 of file TightCCD.inl.

Here is the caller graph for this function:

◆ swapContactPair()

template<typename Real>
DYN_FUNC void dyno::swapContactPair ( TManifold< Real > & m)

Definition at line 26 of file CollisionDetectionAlgorithm.inl.

Here is the caller graph for this function:

◆ sweep()

static void dyno::sweep ( const CArray< Vec3ui > & tri,
const CArray< Vec3f > & x,
CArray3f & phi,
CArray3i & closest_tri,
const Vec3f & origin,
float dx,
int di,
int dj,
int dk )
static

Definition at line 149 of file FastSweepingMethod.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ tan()

template<typename Real>
DYN_FUNC Complex< Real > dyno::tan ( const Complex< Real > & __x)
inline

Definition at line 581 of file Complex.inl.

Here is the call graph for this function:

◆ tanh()

template<typename Real>
DYN_FUNC Complex< Real > dyno::tanh ( const Complex< Real > & __x)
inline

Definition at line 491 of file Complex.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ trackEdgeAxis()

template<typename Real>
DYN_FUNC bool dyno::trackEdgeAxis ( int & axis,
Real & sMax,
Vector< Real, 3 > & axisNormal,
int n,
Real s,
const Vector< Real, 3 > & normal )
inline

Definition at line 56 of file CollisionDetectionAlgorithm.inl.

Here is the caller graph for this function:

◆ trackFaceAxis()

template<typename Real>
DYN_FUNC bool dyno::trackFaceAxis ( int & axis,
Real & sMax,
Vector< Real, 3 > & axisNormal,
int n,
Real s,
const Vector< Real, 3 > & normal )
inline

Definition at line 39 of file CollisionDetectionAlgorithm.inl.

Here is the caller graph for this function:

◆ traverseNode()

void dyno::traverseNode ( tinygltf::Model & model,
joint id,
std::vector< joint > & joint_nodes,
std::map< joint, std::vector< int > > & dir,
std::vector< joint > currentDir )

◆ triangleArea()

float dyno::triangleArea ( const Vec3f & a,
const Vec3f & b,
const Vec3f & c )

Definition at line 45 of file EarClipper.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ trilinear()

template<typename T, DeviceType deviceType>
DYN_FUNC T dyno::trilinear ( Array3D< T, deviceType > & array3d,
float x,
float y,
float z,
LerpMode mode = LerpMode::REPEAT )

Definition at line 85 of file Lerp.h.

◆ triProduct()

template<typename T>
DYN_FUNC T dyno::triProduct ( Vector< T, 3 > & a,
Vector< T, 3 > & b,
Vector< T, 3 > & c )

Definition at line 84 of file TightCCD.inl.

◆ uniformPtr()

template<typename T>
VkUniform< T > * dyno::uniformPtr ( )
inline

Definition at line 83 of file VkProgram.h.

◆ updateGesture()

void dyno::updateGesture ( DArray< Attribute > attribute,
DArray< Vec3f > pos,
DArray< Quat1f > rotQuat,
DArray< Mat3f > rotMat,
DArray< Mat3f > inertia,
DArray< Vec3f > velocity,
DArray< Vec3f > angular_velocity,
DArray< Mat3f > inertia_init,
float dt )

◆ updateJoint_Mesh_Camera_Dir()

void dyno::updateJoint_Mesh_Camera_Dir ( tinygltf::Model & model,
int & jointNum,
int & meshNum,
std::map< joint, std::vector< int > > & jointId_joint_Dir,
std::vector< joint > & all_Joints,
std::vector< int > & all_Nodes,
std::map< joint, std::vector< int > > nodeId_Dir,
std::map< int, std::vector< int > > & meshId_Dir,
std::vector< int > & all_Meshs,
int & maxJointId )

◆ updatePositionAndRotation()

void dyno::updatePositionAndRotation ( DArray< Vec3f > pos,
DArray< Quat1f > rotQuat,
DArray< Mat3f > rotMat,
DArray< Mat3f > inertia,
DArray< Mat3f > inertia_init,
DArray< Vec3f > impulse_constrain )

◆ updateSDF()

template<typename Real>
DYN_FUNC void dyno::updateSDF ( Real & boundaryA,
Real & boundaryB,
Real & depth,
Vec3f & normal,
Real currentBoundaryA,
Real currentBoundaryB,
Real currentDepth,
Vec3f currentN )
inline

Definition at line 490 of file CollisionDetectionAlgorithm.inl.

◆ updateVelocity()

void dyno::updateVelocity ( DArray< Attribute > attribute,
DArray< Vec3f > velocity,
DArray< Vec3f > angular_velocity,
DArray< Vec3f > impulse,
float linearDamping,
float angularDamping,
float dt )

◆ updateVertexIdShape()

template<typename Triangle>
void dyno::updateVertexIdShape ( DArray< Triangle > & triangle,
DArray< uint > & ID_shapeId,
int & shapeId,
int size )

◆ vectorAdd()

void dyno::vectorAdd ( DArray< float > & ans,
DArray< float > & v1,
DArray< float > & v2,
DArray< TConstraintPair< float > > & constraints )

◆ vectorClampFriction()

void dyno::vectorClampFriction ( DArray< float > v,
DArray< TConstraintPair< float > > constraints,
int contact_size,
float mu )

◆ vectorClampSupport()

void dyno::vectorClampSupport ( DArray< float > v,
DArray< TConstraintPair< float > > constraints )

◆ vectorMultiplyScale()

void dyno::vectorMultiplyScale ( DArray< float > & ans,
DArray< float > & initialVec,
float scale,
DArray< TConstraintPair< float > > & constraints )

◆ vectorMultiplyVector()

void dyno::vectorMultiplyVector ( DArray< float > & v1,
DArray< float > & v2,
DArray< float > & ans,
DArray< TConstraintPair< float > > & constraints )

◆ vectorNorm()

float dyno::vectorNorm ( DArray< float > & a,
DArray< float > & b )

◆ vectorSub()

void dyno::vectorSub ( DArray< float > & ans,
DArray< float > & subtranhend,
DArray< float > & minuend,
DArray< TConstraintPair< float > > & constraints )

◆ vkDispatchSize()

static dim3 dyno::vkDispatchSize ( uint totalSize,
uint blockSize )
static

Definition at line 34 of file VkProgram.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ vkDispatchSize2D()

static dim3 dyno::vkDispatchSize2D ( uint size_x,
uint size_y,
uint blockSize )
static

Definition at line 41 of file VkProgram.h.

Here is the call graph for this function:

◆ vkDispatchSize3D()

static dim3 dyno::vkDispatchSize3D ( uint size_x,
uint size_y,
uint size_z,
uint blockSize )
static

Definition at line 51 of file VkProgram.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ vkTransfer() [1/14]

template<typename T>
bool dyno::vkTransfer ( std::vector< T > & dst,
const VkDeviceArray2D< T > & src )

Definition at line 204 of file VkTransfer.inl.

Here is the call graph for this function:

◆ vkTransfer() [2/14]

template<typename T>
bool dyno::vkTransfer ( std::vector< T > & dst,
const VkDeviceArray3D< T > & src )

Definition at line 331 of file VkTransfer.inl.

Here is the call graph for this function:

◆ vkTransfer() [3/14]

template<typename T>
bool dyno::vkTransfer ( std::vector< T > & dst,
const VkDeviceArray< T > & src )

Definition at line 113 of file VkTransfer.inl.

Here is the call graph for this function:

◆ vkTransfer() [4/14]

template<typename T>
bool dyno::vkTransfer ( VkDeviceArray2D< T > & dst,
const std::vector< T > & src )

Definition at line 224 of file VkTransfer.inl.

Here is the call graph for this function:

◆ vkTransfer() [5/14]

template<typename T>
bool dyno::vkTransfer ( VkDeviceArray2D< T > & dst,
const VkDeviceArray2D< T > & src )

Definition at line 248 of file VkTransfer.inl.

Here is the call graph for this function:

◆ vkTransfer() [6/14]

template<typename T>
bool dyno::vkTransfer ( VkDeviceArray3D< T > & dst,
const std::vector< T > & src )

Definition at line 268 of file VkTransfer.inl.

Here is the call graph for this function:

◆ vkTransfer() [7/14]

template<typename T>
bool dyno::vkTransfer ( VkDeviceArray3D< T > & dst,
const VkDeviceArray3D< T > & src )

Definition at line 292 of file VkTransfer.inl.

Here is the call graph for this function:

◆ vkTransfer() [8/14]

template<typename T>
bool dyno::vkTransfer ( VkDeviceArray< T > & dst,
const std::vector< T > & src )

Definition at line 133 of file VkTransfer.inl.

Here is the call graph for this function:

◆ vkTransfer() [9/14]

template<typename T>
bool dyno::vkTransfer ( VkDeviceArray< T > & dst,
const VkDeviceArray< T > & src )

Definition at line 158 of file VkTransfer.inl.

Here is the call graph for this function:

◆ vkTransfer() [10/14]

template<typename T>
bool dyno::vkTransfer ( VkDeviceArray< T > & dst,
const VkHostArray< T > & src )

Definition at line 93 of file VkTransfer.inl.

Here is the call graph for this function:

◆ vkTransfer() [11/14]

template<typename T>
bool dyno::vkTransfer ( VkDeviceArray< T > & dst,
uint64_t dstOffset,
const VkDeviceArray< T > & src,
uint64_t srcOffset,
uint64_t copySize )

Definition at line 178 of file VkTransfer.inl.

Here is the call graph for this function:

◆ vkTransfer() [12/14]

template<typename T>
bool dyno::vkTransfer ( VkHostArray< T > & dst,
const VkDeviceArray2D< T > & src )

Definition at line 46 of file VkTransfer.inl.

Here is the call graph for this function:

◆ vkTransfer() [13/14]

template<typename T>
bool dyno::vkTransfer ( VkHostArray< T > & dst,
const VkDeviceArray3D< T > & src )

Definition at line 311 of file VkTransfer.inl.

Here is the call graph for this function:

◆ vkTransfer() [14/14]

template<typename T>
bool dyno::vkTransfer ( VkHostArray< T > & dst,
const VkDeviceArray< T > & src )

Definition at line 7 of file VkTransfer.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xvpos()

template<typename T>
DYN_FUNC Vector< T, 3 > dyno::xvpos ( Vector< T, 3 > x,
Vector< T, 3 > v,
T t )

Definition at line 90 of file TightCCD.inl.

Here is the caller graph for this function:

Variable Documentation

◆ BLOCK_SIZE

uint dyno::BLOCK_SIZE = 64
constexpr

Definition at line 48 of file Typedef.inl.

◆ classInfoMap

std::map< std::string, ClassInfo*>* dyno::classInfoMap = NULL
static

Definition at line 6 of file Object.cpp.

◆ EMPTY

int dyno::EMPTY = -1
constexpr

Definition at line 4 of file TopologyConstants.h.

◆ EPSILON

Real dyno::EPSILON = std::numeric_limits<Real>::epsilon()
constexpr

Definition at line 42 of file Typedef.inl.

◆ hBox

std::vector<px::Box> dyno::hBox

Definition at line 18 of file UniformGridRenderer.cpp.

◆ KeyMap

std::map<int, PKeyboardType> dyno::KeyMap

Definition at line 31 of file POpenGLWidget.cpp.

◆ m_wait_condition

QWaitCondition dyno::m_wait_condition

Definition at line 18 of file PSimulationThread.cpp.

◆ REAL_EPSILON

Real dyno::REAL_EPSILON = (std::numeric_limits<Real>::epsilon)()
constexpr

Definition at line 43 of file Typedef.inl.

◆ REAL_EPSILON_SQUARED

Real dyno::REAL_EPSILON_SQUARED = REAL_EPSILON * REAL_EPSILON
constexpr

Definition at line 44 of file Typedef.inl.

◆ REAL_INF

Real dyno::REAL_INF = (std::numeric_limits<Real>::infinity)()
constexpr

Definition at line 47 of file Typedef.inl.

◆ REAL_MAX

Real dyno::REAL_MAX = (std::numeric_limits<Real>::max)()
constexpr

Definition at line 45 of file Typedef.inl.

◆ REAL_MIN

Real dyno::REAL_MIN = (std::numeric_limits<Real>::min)()
constexpr

Definition at line 46 of file Typedef.inl.