LibreOffice Module slideshow (master) 1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
box2d::utils::box2DWorld Class Reference

Class that manages the Box2D World. More...

#include <box2dtools.hxx>

Public Member Functions

 box2DWorld (const ::basegfx::B2DVector &rSlideSize)
 
 ~box2DWorld ()
 
bool initiateWorld (const ::basegfx::B2DVector &rSlideSize)
 
double stepAmount (const double fPassedTime, const float fTimeStep=1.0f/100.0f, const int nVelocityIterations=6, const int nPositionIterations=2)
 Simulate and step through a given amount of time in the Box2D World. More...
 
bool shapesInitialized ()
 
bool isInitialized () const
 
Box2DBodySharedPtr makeShapeDynamic (const css::uno::Reference< css::drawing::XShape > &xShape, const basegfx::B2DVector &rStartVelocity, const double fDensity, const double fBounciness)
 Make the shape's corresponding box2D body a dynamic one. More...
 
Box2DBodySharedPtr makeShapeStatic (const slideshow::internal::ShapeSharedPtr &pShape)
 Make the Box2D body corresponding to the given shape a static one. More...
 
Box2DBodySharedPtr createStaticBody (const slideshow::internal::ShapeSharedPtr &rShape, const float fDensity=1.0f, const float fFriction=0.3f)
 Create a static body that is represented by the shape's geometry. More...
 
void initiateAllShapesAsStaticBodies (const slideshow::internal::ShapeManagerSharedPtr &pShapeManager)
 Initiate all the shapes in the current slide in the box2DWorld as static ones. More...
 
bool hasWorldStepper () const
 
void setHasWorldStepper (const bool bHasWorldStepper)
 Set the flag for whether the box2DWorld has a stepper or not. More...
 
void queueDynamicPositionUpdate (const css::uno::Reference< css::drawing::XShape > &xShape, const ::basegfx::B2DPoint &rOutPos)
 Queue a position update that is simulated as if shape's corresponding box2D body moved to given position when processed. More...
 
void queueLinearVelocityUpdate (const css::uno::Reference< css::drawing::XShape > &xShape, const ::basegfx::B2DVector &rVelocity, const int nDelayForSteps=0)
 Queue a update that sets the corresponding box2D body's linear velocity to the given value when processed. More...
 
void queueShapeAnimationUpdate (const css::uno::Reference< css::drawing::XShape > &xShape, const slideshow::internal::ShapeAttributeLayerSharedPtr &pAttrLayer, const slideshow::internal::AttributeType eAttrType, const bool bIsFirstUpdate)
 Queue an appropriate update for the animation effect that is in parallel with a physics animation. More...
 
void queueShapePathAnimationUpdate (const css::uno::Reference< com::sun::star::drawing::XShape > &xShape, const slideshow::internal::ShapeAttributeLayerSharedPtr &pAttrLayer, const bool bIsFirstUpdate)
 Queue an appropriate update for a path animation that is in parallel with a physics animation. More...
 
void queueShapeAnimationEndUpdate (const css::uno::Reference< css::drawing::XShape > &xShape, const slideshow::internal::AttributeType eAttrType)
 Queue an appropriate update for the animation effect that just ended. More...
 
void alertPhysicsAnimationEnd (const slideshow::internal::ShapeSharedPtr &pShape)
 Alert that a physics animation effect has ended. More...
 
void alertPhysicsAnimationStart (const ::basegfx::B2DVector &rSlideSize, const slideshow::internal::ShapeManagerSharedPtr &pShapeManager)
 Alert that a physics animation effect has started. More...
 

Private Member Functions

void createStaticFrameAroundSlide (const ::basegfx::B2DVector &rSlideSize)
 Creates a static frame in Box2D world that corresponds to the slide borders. More...
 
void setShapePosition (const css::uno::Reference< css::drawing::XShape > xShape, const ::basegfx::B2DPoint &rOutPos)
 Sets shape's corresponding Box2D body to the specified position. More...
 
void setShapePositionByLinearVelocity (const css::uno::Reference< css::drawing::XShape > xShape, const ::basegfx::B2DPoint &rOutPos, const double fPassedTime)
 Moves shape's corresponding Box2D body to specified position. More...
 
void setShapeLinearVelocity (const css::uno::Reference< com::sun::star::drawing::XShape > xShape, const basegfx::B2DVector &rVelocity)
 Sets linear velocity of the shape's corresponding Box2D body. More...
 
void setShapeAngle (const css::uno::Reference< com::sun::star::drawing::XShape > xShape, const double fAngle)
 Sets rotation angle of the shape's corresponding Box2D body. More...
 
void setShapeAngleByAngularVelocity (const css::uno::Reference< com::sun::star::drawing::XShape > xShape, const double fAngle, const double fPassedTime)
 Rotates shape's corresponding Box2D body to specified angle. More...
 
void setShapeAngularVelocity (const css::uno::Reference< com::sun::star::drawing::XShape > xShape, const double fAngularVelocity)
 Sets angular velocity of the shape's corresponding Box2D body. More...
 
void setShapeCollision (const css::uno::Reference< com::sun::star::drawing::XShape > xShape, const bool bCanCollide)
 Sets whether a shape's corresponding Box2D body has collision in the Box2D World or not. More...
 
void processUpdateQueue (const double fPassedTime)
 Process the updates queued in the maShapeParallelUpdateQueue. More...
 
void step (const float fTimeStep=1.0f/100.0f, const int nVelocityIterations=6, const int nPositionIterations=2)
 Simulate and step through time in the Box2D World. More...
 
void queueDynamicRotationUpdate (const css::uno::Reference< com::sun::star::drawing::XShape > &xShape, const double fAngle)
 Queue a rotation update that is simulated as if shape's corresponding box2D body rotated to given angle when processed. More...
 
void queueAngularVelocityUpdate (const css::uno::Reference< com::sun::star::drawing::XShape > &xShape, const double fAngularVelocity, const int nDelayForSteps=0)
 Queue an angular velocity update that sets the shape's corresponding box2D body angular velocity to the given value when processed. More...
 
void queueShapeVisibilityUpdate (const css::uno::Reference< css::drawing::XShape > &xShape, const bool bVisibility)
 Queue an collision update that sets the collision of shape's corresponding box2D body when processed. More...
 
void queueShapePositionUpdate (const css::uno::Reference< css::drawing::XShape > &xShape, const ::basegfx::B2DPoint &rOutPos)
 

Private Attributes

std::unique_ptr< b2World > mpBox2DWorld
 Pointer to the real Box2D World that this class manages. More...
 
double mfScaleFactor
 Scale factor for conversions between LO user space coordinates to Box2D World coordinates. More...
 
bool mbShapesInitialized
 
bool mbHasWorldStepper
 Holds whether or not there is a PhysicsAnimation that is stepping the Box2D World. More...
 
bool mbAlreadyStepped
 Flag used to stop overstepping that occurs when a physics animation effect transfers step-lock to another one. More...
 
int mnPhysicsAnimationCounter
 Number of Physics Animations going on. More...
 
std::unordered_map< css::uno::Reference< css::drawing::XShape >, Box2DBodySharedPtrmpXShapeToBodyMap
 
std::queue< Box2DDynamicUpdateInformationmaShapeParallelUpdateQueue
 Queue that holds any required information to keep LO animation effects and Box2DWorld in sync. More...
 

Detailed Description

Class that manages the Box2D World.

This class is used when there's a physics animation going on, it handles the stepping through the box2d world, updating the shapes in the box2d world if they were changed by ongoing animations.

Definition at line 76 of file box2dtools.hxx.

Constructor & Destructor Documentation

◆ box2DWorld()

box2d::utils::box2DWorld::box2DWorld ( const ::basegfx::B2DVector rSlideSize)

Definition at line 224 of file box2dtools.cxx.

◆ ~box2DWorld()

box2d::utils::box2DWorld::~box2DWorld ( )
default

Member Function Documentation

◆ alertPhysicsAnimationEnd()

void box2d::utils::box2DWorld::alertPhysicsAnimationEnd ( const slideshow::internal::ShapeSharedPtr pShape)

Alert that a physics animation effect has ended.

Makes the given shape static, if this was the last physics animation effect that was in parallel, box2d bodies that are owned by the mpXShapeToBodyMap are dumped and potentially destroyed.

Attention: \n the box2d body owned by the PhysicsAnimation won't be destroyed.

Definition at line 564 of file box2dtools.cxx.

References fDefaultStaticBodyBounciness(), box2d::utils::makeBodyStatic(), maShapeParallelUpdateQueue, mbAlreadyStepped, mbShapesInitialized, mnPhysicsAnimationCounter, and mpXShapeToBodyMap.

◆ alertPhysicsAnimationStart()

void box2d::utils::box2DWorld::alertPhysicsAnimationStart ( const ::basegfx::B2DVector rSlideSize,
const slideshow::internal::ShapeManagerSharedPtr pShapeManager 
)

Alert that a physics animation effect has started.

Initiates the box2D world if it is not initiated yet, and likewise constructs box2d bodies for the shapes in the current slide if they are not constructed.

Definition at line 588 of file box2dtools.cxx.

References initiateAllShapesAsStaticBodies(), initiateWorld(), mbShapesInitialized, mnPhysicsAnimationCounter, and mpBox2DWorld.

◆ createStaticBody()

Box2DBodySharedPtr box2d::utils::box2DWorld::createStaticBody ( const slideshow::internal::ShapeSharedPtr rShape,
const float  fDensity = 1.0f,
const float  fFriction = 0.3f 
)

◆ createStaticFrameAroundSlide()

void box2d::utils::box2DWorld::createStaticFrameAroundSlide ( const ::basegfx::B2DVector rSlideSize)
private

Creates a static frame in Box2D world that corresponds to the slide borders.

Definition at line 252 of file box2dtools.cxx.

References mfScaleFactor, and mpBox2DWorld.

Referenced by initiateWorld().

◆ hasWorldStepper()

bool box2d::utils::box2DWorld::hasWorldStepper ( ) const
Returns
whether the box2DWorld has a stepper or not

Definition at line 447 of file box2dtools.cxx.

References mbHasWorldStepper.

◆ initiateAllShapesAsStaticBodies()

void box2d::utils::box2DWorld::initiateAllShapesAsStaticBodies ( const slideshow::internal::ShapeManagerSharedPtr pShapeManager)

◆ initiateWorld()

bool box2d::utils::box2DWorld::initiateWorld ( const ::basegfx::B2DVector rSlideSize)

Definition at line 238 of file box2dtools.cxx.

References createStaticFrameAroundSlide(), and mpBox2DWorld.

Referenced by alertPhysicsAnimationStart().

◆ isInitialized()

bool box2d::utils::box2DWorld::isInitialized ( ) const
Returns
whether the Box2D World is initialized or not

Definition at line 640 of file box2dtools.cxx.

References mpBox2DWorld.

◆ makeShapeDynamic()

Box2DBodySharedPtr box2d::utils::box2DWorld::makeShapeDynamic ( const css::uno::Reference< css::drawing::XShape > &  xShape,
const basegfx::B2DVector rStartVelocity,
const double  fDensity,
const double  fBounciness 
)

Make the shape's corresponding box2D body a dynamic one.

A dynamic body will be affected by other bodies and the gravity.

Parameters
xShapeShape reference
rStartVelocityVelocity of the shape after making it dynamic
fDensityDensity of the body that is in kg/m^2
fBouncinessBounciness of the body that is usually in between [0,1]. Even though it could take values that are >1, it is way too chaotic.
Returns
box2d body pointer

Definition at line 649 of file box2dtools.cxx.

References box2d::utils::makeBodyDynamic(), mpBox2DWorld, mpXShapeToBodyMap, and queueLinearVelocityUpdate().

◆ makeShapeStatic()

Box2DBodySharedPtr box2d::utils::box2DWorld::makeShapeStatic ( const slideshow::internal::ShapeSharedPtr pShape)

Make the Box2D body corresponding to the given shape a static one.

A static body will not be affected by other bodies and the gravity. But will affect other bodies that are dynamic (will still collide with them but won't move etc.)

Parameters
pShapePointer to the shape to alter the corresponding Box2D body of
Returns
box2d body pointer

Definition at line 669 of file box2dtools.cxx.

References box2d::utils::makeBodyStatic(), mpBox2DWorld, and mpXShapeToBodyMap.

◆ processUpdateQueue()

void box2d::utils::box2DWorld::processUpdateQueue ( const double  fPassedTime)
private

◆ queueAngularVelocityUpdate()

void box2d::utils::box2DWorld::queueAngularVelocityUpdate ( const css::uno::Reference< com::sun::star::drawing::XShape > &  xShape,
const double  fAngularVelocity,
const int  nDelayForSteps = 0 
)
private

Queue an angular velocity update that sets the shape's corresponding box2D body angular velocity to the given value when processed.

Definition at line 481 of file box2dtools.cxx.

References box2d::utils::BOX2D_UPDATE_ANGULAR_VELOCITY, maShapeParallelUpdateQueue, and box2d::utils::Box2DDynamicUpdateInformation::mfAngularVelocity.

Referenced by queueShapeAnimationEndUpdate().

◆ queueDynamicPositionUpdate()

void box2d::utils::box2DWorld::queueDynamicPositionUpdate ( const css::uno::Reference< css::drawing::XShape > &  xShape,
const ::basegfx::B2DPoint rOutPos 
)

Queue a position update that is simulated as if shape's corresponding box2D body moved to given position when processed.

Definition at line 454 of file box2dtools.cxx.

References box2d::utils::BOX2D_UPDATE_POSITION_CHANGE, box2d::utils::Box2DDynamicUpdateInformation::maPosition, and maShapeParallelUpdateQueue.

Referenced by queueShapeAnimationUpdate().

◆ queueDynamicRotationUpdate()

void box2d::utils::box2DWorld::queueDynamicRotationUpdate ( const css::uno::Reference< com::sun::star::drawing::XShape > &  xShape,
const double  fAngle 
)
private

Queue a rotation update that is simulated as if shape's corresponding box2D body rotated to given angle when processed.

Definition at line 473 of file box2dtools.cxx.

References box2d::utils::BOX2D_UPDATE_ANGLE, maShapeParallelUpdateQueue, and box2d::utils::Box2DDynamicUpdateInformation::mfAngle.

Referenced by queueShapeAnimationUpdate().

◆ queueLinearVelocityUpdate()

void box2d::utils::box2DWorld::queueLinearVelocityUpdate ( const css::uno::Reference< css::drawing::XShape > &  xShape,
const ::basegfx::B2DVector rVelocity,
const int  nDelayForSteps = 0 
)

Queue a update that sets the corresponding box2D body's linear velocity to the given value when processed.

Definition at line 463 of file box2dtools.cxx.

References box2d::utils::BOX2D_UPDATE_LINEAR_VELOCITY, maShapeParallelUpdateQueue, and box2d::utils::Box2DDynamicUpdateInformation::maVelocity.

Referenced by makeShapeDynamic(), and queueShapeAnimationEndUpdate().

◆ queueShapeAnimationEndUpdate()

void box2d::utils::box2DWorld::queueShapeAnimationEndUpdate ( const css::uno::Reference< css::drawing::XShape > &  xShape,
const slideshow::internal::AttributeType  eAttrType 
)

Queue an appropriate update for the animation effect that just ended.

Definition at line 544 of file box2dtools.cxx.

References slideshow::internal::PosX, slideshow::internal::PosY, queueAngularVelocityUpdate(), queueLinearVelocityUpdate(), and slideshow::internal::Rotate.

◆ queueShapeAnimationUpdate()

void box2d::utils::box2DWorld::queueShapeAnimationUpdate ( const css::uno::Reference< css::drawing::XShape > &  xShape,
const slideshow::internal::ShapeAttributeLayerSharedPtr pAttrLayer,
const slideshow::internal::AttributeType  eAttrType,
const bool  bIsFirstUpdate 
)

◆ queueShapePathAnimationUpdate()

void box2d::utils::box2DWorld::queueShapePathAnimationUpdate ( const css::uno::Reference< com::sun::star::drawing::XShape > &  xShape,
const slideshow::internal::ShapeAttributeLayerSharedPtr pAttrLayer,
const bool  bIsFirstUpdate 
)

Queue an appropriate update for a path animation that is in parallel with a physics animation.

Definition at line 508 of file box2dtools.cxx.

References slideshow::internal::PosX, and queueShapeAnimationUpdate().

◆ queueShapePositionUpdate()

void box2d::utils::box2DWorld::queueShapePositionUpdate ( const css::uno::Reference< css::drawing::XShape > &  xShape,
const ::basegfx::B2DPoint rOutPos 
)
private

◆ queueShapeVisibilityUpdate()

void box2d::utils::box2DWorld::queueShapeVisibilityUpdate ( const css::uno::Reference< css::drawing::XShape > &  xShape,
const bool  bVisibility 
)
private

Queue an collision update that sets the collision of shape's corresponding box2D body when processed.

Definition at line 491 of file box2dtools.cxx.

References box2d::utils::BOX2D_UPDATE_VISIBILITY, maShapeParallelUpdateQueue, and box2d::utils::Box2DDynamicUpdateInformation::mbVisibility.

Referenced by initiateAllShapesAsStaticBodies(), and queueShapeAnimationUpdate().

◆ setHasWorldStepper()

void box2d::utils::box2DWorld::setHasWorldStepper ( const bool  bHasWorldStepper)

Set the flag for whether the box2DWorld has a stepper or not.

Definition at line 449 of file box2dtools.cxx.

References mbHasWorldStepper.

◆ setShapeAngle()

void box2d::utils::box2DWorld::setShapeAngle ( const css::uno::Reference< com::sun::star::drawing::XShape >  xShape,
const double  fAngle 
)
private

Sets rotation angle of the shape's corresponding Box2D body.

Parameters
xShapeShape reference
fAngleAngle of rotation in degrees.

Definition at line 312 of file box2dtools.cxx.

References mpXShapeToBodyMap.

◆ setShapeAngleByAngularVelocity()

void box2d::utils::box2DWorld::setShapeAngleByAngularVelocity ( const css::uno::Reference< com::sun::star::drawing::XShape >  xShape,
const double  fAngle,
const double  fPassedTime 
)
private

Rotates shape's corresponding Box2D body to specified angle.

Rotates the Box2D body to specified angle as if the body had exact angular velocity to reach that point in given time frame

Parameters
xShapeShape reference
fAngleAngle of rotation in degrees.
fPassedTimeTime frame which the Box2D body should rotate to the specified angle.

Definition at line 319 of file box2dtools.cxx.

References mpBox2DWorld, and mpXShapeToBodyMap.

Referenced by processUpdateQueue().

◆ setShapeAngularVelocity()

void box2d::utils::box2DWorld::setShapeAngularVelocity ( const css::uno::Reference< com::sun::star::drawing::XShape >  xShape,
const double  fAngularVelocity 
)
private

Sets angular velocity of the shape's corresponding Box2D body.

Parameters
xShapeShape reference
fAngularVelocityAngular velocity in degrees per second.

Definition at line 331 of file box2dtools.cxx.

References mpBox2DWorld, and mpXShapeToBodyMap.

Referenced by processUpdateQueue().

◆ setShapeCollision()

void box2d::utils::box2DWorld::setShapeCollision ( const css::uno::Reference< com::sun::star::drawing::XShape >  xShape,
const bool  bCanCollide 
)
private

Sets whether a shape's corresponding Box2D body has collision in the Box2D World or not.

Used for animations that change the visibility of the shape.

Parameters
xShapeShape reference
bCanCollidetrue if collisions should be enabled for the corresponding Box2D body of this shape and false if it should be disabled.

Definition at line 340 of file box2dtools.cxx.

References mpBox2DWorld, and mpXShapeToBodyMap.

Referenced by processUpdateQueue().

◆ setShapeLinearVelocity()

void box2d::utils::box2DWorld::setShapeLinearVelocity ( const css::uno::Reference< com::sun::star::drawing::XShape >  xShape,
const basegfx::B2DVector rVelocity 
)
private

Sets linear velocity of the shape's corresponding Box2D body.

Moves shape's corresponding Box2D body to specified position as if the body had velocity to reach that point in given time frame.

Parameters
xShapeShape reference
rVelocityVelocity vector in LO user space coordinates.

Definition at line 303 of file box2dtools.cxx.

References mpBox2DWorld, and mpXShapeToBodyMap.

Referenced by processUpdateQueue().

◆ setShapePosition()

void box2d::utils::box2DWorld::setShapePosition ( const css::uno::Reference< css::drawing::XShape >  xShape,
const ::basegfx::B2DPoint rOutPos 
)
private

Sets shape's corresponding Box2D body to the specified position.

Body is teleported to the specified position, not moved

Parameters
xShapeShape reference
rOutPosPosition in LO user space coordinates

Definition at line 284 of file box2dtools.cxx.

References mpXShapeToBodyMap.

Referenced by processUpdateQueue().

◆ setShapePositionByLinearVelocity()

void box2d::utils::box2DWorld::setShapePositionByLinearVelocity ( const css::uno::Reference< css::drawing::XShape >  xShape,
const ::basegfx::B2DPoint rOutPos,
const double  fPassedTime 
)
private

Moves shape's corresponding Box2D body to specified position.

Moves shape's corresponding Box2D body to specified position as if the body had velocity to reach that point in given time frame.

Parameters
xShapeShape reference
rOutPosPosition in LO user space coordinates
fPassedTimeTime frame which the Box2D body should move to the specified position.

Definition at line 291 of file box2dtools.cxx.

References mpBox2DWorld, and mpXShapeToBodyMap.

Referenced by processUpdateQueue().

◆ shapesInitialized()

bool box2d::utils::box2DWorld::shapesInitialized ( )
Returns
whether shapes in the slide are initialized as Box2D bodies or not

Definition at line 638 of file box2dtools.cxx.

References mbShapesInitialized.

◆ step()

void box2d::utils::box2DWorld::step ( const float  fTimeStep = 1.0f / 100.0f,
const int  nVelocityIterations = 6,
const int  nPositionIterations = 2 
)
private

Simulate and step through time in the Box2D World.

Used in stepAmount

Attention: \n fTimeStep should not vary.

Definition at line 601 of file box2dtools.cxx.

References mpBox2DWorld.

Referenced by stepAmount().

◆ stepAmount()

double box2d::utils::box2DWorld::stepAmount ( const double  fPassedTime,
const float  fTimeStep = 1.0f / 100.0f,
const int  nVelocityIterations = 6,
const int  nPositionIterations = 2 
)

Simulate and step through a given amount of time in the Box2D World.

Parameters
fPassedTimeAmount of time to step through
Returns
Amount of time actually stepped through, since it is possible to only step through a multiple of fTimeStep
Attention: \n fTimeStep should not vary.

Definition at line 608 of file box2dtools.cxx.

References mbAlreadyStepped, mpBox2DWorld, processUpdateQueue(), and step().

Member Data Documentation

◆ maShapeParallelUpdateQueue

std::queue<Box2DDynamicUpdateInformation> box2d::utils::box2DWorld::maShapeParallelUpdateQueue
private

Queue that holds any required information to keep LO animation effects and Box2DWorld in sync.

Is processed before every step of the box2d world by processUpdateQueue. Holds position, rotation, visibility etc. changes and associated values.

Definition at line 101 of file box2dtools.hxx.

Referenced by alertPhysicsAnimationEnd(), processUpdateQueue(), queueAngularVelocityUpdate(), queueDynamicPositionUpdate(), queueDynamicRotationUpdate(), queueLinearVelocityUpdate(), queueShapePositionUpdate(), and queueShapeVisibilityUpdate().

◆ mbAlreadyStepped

bool box2d::utils::box2DWorld::mbAlreadyStepped
private

Flag used to stop overstepping that occurs when a physics animation effect transfers step-lock to another one.

Definition at line 89 of file box2dtools.hxx.

Referenced by alertPhysicsAnimationEnd(), and stepAmount().

◆ mbHasWorldStepper

bool box2d::utils::box2DWorld::mbHasWorldStepper
private

Holds whether or not there is a PhysicsAnimation that is stepping the Box2D World.

Used to create a lock mechanism

Definition at line 86 of file box2dtools.hxx.

Referenced by hasWorldStepper(), and setHasWorldStepper().

◆ mbShapesInitialized

bool box2d::utils::box2DWorld::mbShapesInitialized
private

◆ mfScaleFactor

double box2d::utils::box2DWorld::mfScaleFactor
private

Scale factor for conversions between LO user space coordinates to Box2D World coordinates.

Definition at line 82 of file box2dtools.hxx.

Referenced by createStaticBody(), and createStaticFrameAroundSlide().

◆ mnPhysicsAnimationCounter

int box2d::utils::box2DWorld::mnPhysicsAnimationCounter
private

Number of Physics Animations going on.

Definition at line 91 of file box2dtools.hxx.

Referenced by alertPhysicsAnimationEnd(), and alertPhysicsAnimationStart().

◆ mpBox2DWorld

std::unique_ptr<b2World> box2d::utils::box2DWorld::mpBox2DWorld
private

◆ mpXShapeToBodyMap

std::unordered_map<css::uno::Reference<css::drawing::XShape>, Box2DBodySharedPtr> box2d::utils::box2DWorld::mpXShapeToBodyMap
private

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