Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/CollisionAlgorithm/BaseAABBBroadPhase.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

namespace sofa::collisionalgorithm {

class BaseAABBBroadPhase : public BaseGeometry::BroadPhase {
class SOFA_COLLISIONALGORITHM_API BaseAABBBroadPhase : public BaseGeometry::BroadPhase {
public:

SOFA_ABSTRACT_CLASS(BaseAABBBroadPhase,BaseGeometry::BroadPhase);
Expand Down
5 changes: 3 additions & 2 deletions src/CollisionAlgorithm/BaseAlgorithm.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#pragma once

#include <CollisionAlgorithm/config.h>
#include <CollisionAlgorithm/BaseGeometry.h>
#include <sofa/core/collision/Pipeline.h>
#include <CollisionAlgorithm/DataDetectionOutput.h>
Expand All @@ -12,7 +13,7 @@ namespace sofa::collisionalgorithm {
* \brief The BaseAlgorithm abstract class defines an interface of
* algorithms to be wrapped in sofa components
*/
class BaseAlgorithm : public CollisionAlgorithm
class SOFA_COLLISIONALGORITHM_API BaseAlgorithm : public CollisionAlgorithm
{
public :

Expand All @@ -23,7 +24,7 @@ public :
/*!
* \brief The BaseFilter class provides an interface to create proximity filter components
*/
class BaseFilter : public sofa::core::objectmodel::BaseObject {
class SOFA_COLLISIONALGORITHM_API BaseFilter : public sofa::core::objectmodel::BaseObject {
public:
SOFA_ABSTRACT_CLASS(BaseFilter, sofa::core::objectmodel::BaseObject);

Expand Down
3 changes: 2 additions & 1 deletion src/CollisionAlgorithm/BaseElement.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#pragma once

#include <CollisionAlgorithm/config.h>
#include <CollisionAlgorithm/BaseProximity.h>
#include <sofa/core/visual/VisualParams.h>

Expand Down Expand Up @@ -45,7 +46,7 @@ class ElementContainer {
std::vector<SPtr> m_data;
};

class BaseElement {
class SOFA_COLLISIONALGORITHM_API BaseElement {
public:

typedef std::shared_ptr<BaseElement> SPtr;
Expand Down
3 changes: 2 additions & 1 deletion src/CollisionAlgorithm/BaseGeometry.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#pragma once

#include <CollisionAlgorithm/config.h>
#include <CollisionAlgorithm/CollisionPipeline.h>
#include <CollisionAlgorithm/BaseElement.h>
#include <CollisionAlgorithm/BaseProximity.h>
Expand All @@ -20,7 +21,7 @@ namespace sofa ::collisionalgorithm {
* \brief The BaseGeometry class is an abstract class defining a basic geometry
* iterates through Proximity elements and draws them
*/
class BaseGeometry : public CollisionComponent {
class SOFA_COLLISIONALGORITHM_API BaseGeometry : public CollisionComponent {
public:

class BroadPhase : public sofa::core::objectmodel::BaseObject {
Expand Down
3 changes: 2 additions & 1 deletion src/CollisionAlgorithm/BaseProximity.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#pragma once

#include <CollisionAlgorithm/config.h>
#include <sofa/core/VecId.h>
#include <sofa/core/MultiVecId.h>
#include <sofa/linearalgebra/BaseVector.h>
Expand Down Expand Up @@ -31,7 +32,7 @@ class BaseBaseProximity {
const std::type_info & getTypeInfo() { return typeid(*this); }
};

class BaseProximity : public virtual BaseBaseProximity {
class SOFA_COLLISIONALGORITHM_API BaseProximity : public virtual BaseBaseProximity {
public:
typedef std::shared_ptr<BaseProximity> SPtr;

Expand Down
6 changes: 3 additions & 3 deletions src/CollisionAlgorithm/CollisionPipeline.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,21 +17,21 @@

namespace sofa ::collisionalgorithm {

class CollisionComponent : public core::objectmodel::BaseObject {
class SOFA_COLLISIONALGORITHM_API CollisionComponent : public core::objectmodel::BaseObject {
public:

virtual void prepareDetection() = 0;

};

class CollisionAlgorithm : public core::objectmodel::BaseObject {
class SOFA_COLLISIONALGORITHM_API CollisionAlgorithm : public core::objectmodel::BaseObject {
public:

virtual void doDetection() = 0;

};

class CollisionLoop : public core::objectmodel::BaseObject {
class SOFA_COLLISIONALGORITHM_API CollisionLoop : public core::objectmodel::BaseObject {
public:

SOFA_ABSTRACT_CLASS(CollisionLoop,core::objectmodel::BaseObject);
Expand Down
5 changes: 3 additions & 2 deletions src/CollisionAlgorithm/ElementIterator.h
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
#pragma once

#include <CollisionAlgorithm/config.h>
#include <CollisionAlgorithm/BaseProximity.h>
#include <CollisionAlgorithm/BaseElement.h>

namespace sofa::collisionalgorithm {

class BaseGeometry;

class ElementIterator {
class SOFA_COLLISIONALGORITHM_API ElementIterator {
public:

typedef std::shared_ptr<ElementIterator> SPtr;
Expand Down Expand Up @@ -43,7 +44,7 @@ static inline void operator ++ (ElementIterator::SPtr & it, int /*NB*/) {
it->next();
}

class EmptyIterator : public ElementIterator {
class SOFA_COLLISIONALGORITHM_API EmptyIterator : public ElementIterator {
public:
friend class ElementIterator;

Expand Down
3 changes: 2 additions & 1 deletion src/CollisionAlgorithm/InternalData.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#pragma once

#include <CollisionAlgorithm/config.h>
#include <CollisionAlgorithm/CollisionPipeline.h>
#include <CollisionAlgorithm/BaseElement.h>
#include <CollisionAlgorithm/BaseProximity.h>
Expand All @@ -14,7 +15,7 @@
namespace sofa ::collisionalgorithm {


class InternalDataContainer {
class SOFA_COLLISIONALGORITHM_API InternalDataContainer {
public:


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

namespace sofa::collisionalgorithm {

class Find2DClosestProximityAlgorithm : public BaseAlgorithm {
class SOFA_COLLISIONALGORITHM_API Find2DClosestProximityAlgorithm : public BaseAlgorithm {
public:
SOFA_CLASS(Find2DClosestProximityAlgorithm, BaseAlgorithm);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

namespace sofa::collisionalgorithm {

class FindClosestProximityAlgorithm : public BaseAlgorithm {
class SOFA_COLLISIONALGORITHM_API FindClosestProximityAlgorithm : public BaseAlgorithm {
public:
SOFA_CLASS(FindClosestProximityAlgorithm, BaseAlgorithm);

Expand Down
2 changes: 1 addition & 1 deletion src/CollisionAlgorithm/algorithm/InsertionAlgorithm.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
namespace sofa::collisionalgorithm
{

class InsertionAlgorithm : public BaseAlgorithm
class SOFA_COLLISIONALGORITHM_API InsertionAlgorithm : public BaseAlgorithm
{
public:
SOFA_CLASS(InsertionAlgorithm, BaseAlgorithm);
Expand Down
2 changes: 1 addition & 1 deletion src/CollisionAlgorithm/broadphase/AABBBroadPhase.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace sofa::collisionalgorithm {
* The class is part of the broader collision detection system and is used to quickly narrow down
* potential collisions before more detailed, computationally expensive checks are performed.
*/
class AABBBroadPhase : public BaseAABBBroadPhase {
class SOFA_COLLISIONALGORITHM_API AABBBroadPhase : public BaseAABBBroadPhase {
public:

/**
Expand Down
2 changes: 1 addition & 1 deletion src/CollisionAlgorithm/broadphase/FullAABBBroadPhase.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

namespace sofa::collisionalgorithm {

class FullAABBBroadPhase : public BaseAABBBroadPhase {
class SOFA_COLLISIONALGORITHM_API FullAABBBroadPhase : public BaseAABBBroadPhase {
public:

SOFA_CLASS(FullAABBBroadPhase,BaseAABBBroadPhase);
Expand Down
2 changes: 2 additions & 0 deletions src/CollisionAlgorithm/elements/EdgeElement.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@

namespace sofa::collisionalgorithm {

template class SOFA_COLLISIONALGORITHM_API ElementContainer<EdgeElement>;

EdgeElement::SPtr EdgeElement::create(const PointElement::SPtr & p0, const PointElement::SPtr & p1) {
EdgeElement::SPtr res = EdgeElement::SPtr(new EdgeElement());

Expand Down
2 changes: 1 addition & 1 deletion src/CollisionAlgorithm/elements/EdgeElement.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

namespace sofa::collisionalgorithm {

class EdgeElement : public BaseElement {
class SOFA_COLLISIONALGORITHM_API EdgeElement : public BaseElement {
public:
typedef std::shared_ptr<EdgeElement> SPtr;

Expand Down
2 changes: 2 additions & 0 deletions src/CollisionAlgorithm/elements/PointElement.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@

namespace sofa::collisionalgorithm {

template class SOFA_COLLISIONALGORITHM_API ElementContainer<PointElement>;

PointElement::SPtr PointElement::create(const BaseProximity::SPtr &prox) {
return PointElement::SPtr(new PointElement(prox));
}
Expand Down
2 changes: 1 addition & 1 deletion src/CollisionAlgorithm/elements/PointElement.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

namespace sofa::collisionalgorithm {

class PointElement : public BaseElement {
class SOFA_COLLISIONALGORITHM_API PointElement : public BaseElement {
public:

typedef std::shared_ptr<PointElement> SPtr;
Expand Down
2 changes: 2 additions & 0 deletions src/CollisionAlgorithm/elements/TetrahedronElement.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@

namespace sofa::collisionalgorithm {

template class SOFA_COLLISIONALGORITHM_API ElementContainer<TetrahedronElement>;

TetrahedronElement::SPtr TetrahedronElement::create(PointElement::SPtr p0,PointElement::SPtr p1,PointElement::SPtr p2,PointElement::SPtr p3,
EdgeElement::SPtr e0, EdgeElement::SPtr e1, EdgeElement::SPtr e2, EdgeElement::SPtr e3,EdgeElement::SPtr e4,EdgeElement::SPtr e5,
TriangleElement::SPtr tri0, TriangleElement::SPtr tri1, TriangleElement::SPtr tri2, TriangleElement::SPtr tri3) {
Expand Down
2 changes: 1 addition & 1 deletion src/CollisionAlgorithm/elements/TetrahedronElement.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

namespace sofa::collisionalgorithm {

class TetrahedronElement : public BaseElement {
class SOFA_COLLISIONALGORITHM_API TetrahedronElement : public BaseElement {
public:
typedef std::shared_ptr<TetrahedronElement> SPtr;

Expand Down
2 changes: 2 additions & 0 deletions src/CollisionAlgorithm/elements/TriangleElement.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@

namespace sofa::collisionalgorithm {

template class SOFA_COLLISIONALGORITHM_API ElementContainer<TriangleElement>;

TriangleElement::SPtr TriangleElement::create(BaseProximity::SPtr prox0, BaseProximity::SPtr prox1,BaseProximity::SPtr prox2) {
PointElement::SPtr p0 = PointElement::create(prox0);
PointElement::SPtr p1 = PointElement::create(prox1);
Expand Down
2 changes: 1 addition & 1 deletion src/CollisionAlgorithm/elements/TriangleElement.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

namespace sofa::collisionalgorithm {

class TriangleElement : public BaseElement {
class SOFA_COLLISIONALGORITHM_API TriangleElement : public BaseElement {
public:
typedef std::shared_ptr<TriangleElement> SPtr;

Expand Down
3 changes: 2 additions & 1 deletion src/CollisionAlgorithm/filters/DistanceFilter.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#pragma once

#include <CollisionAlgorithm/config.h>
#include <CollisionAlgorithm/BaseAlgorithm.h>

namespace sofa::collisionalgorithm {
Expand All @@ -8,7 +9,7 @@ namespace sofa::collisionalgorithm {
* \brief The DistanceFilter class
* accepts proximities which positions are within a limited distance from each other
*/
class DistanceFilter : public BaseAlgorithm::BaseFilter {
class SOFA_COLLISIONALGORITHM_API DistanceFilter : public BaseAlgorithm::BaseFilter {
public:
SOFA_CLASS(DistanceFilter, BaseFilter);

Expand Down
4 changes: 4 additions & 0 deletions src/CollisionAlgorithm/geometry/EdgeGeometry.cpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
#include <CollisionAlgorithm/config.h>
#include <CollisionAlgorithm/geometry/EdgeGeometry.h>
#include <sofa/core/ObjectFactory.h>

namespace sofa::collisionalgorithm
{

template class SOFA_COLLISIONALGORITHM_API EdgeGeometry<sofa::defaulttype::Vec3dTypes>;

void registerEdgeGeometry(sofa::core::ObjectFactory* factory)
{
factory->registerObjects(
Expand Down
4 changes: 4 additions & 0 deletions src/CollisionAlgorithm/geometry/PointGeometry.cpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
#include <CollisionAlgorithm/config.h>
#include <CollisionAlgorithm/geometry/PointGeometry.h>
#include <sofa/core/ObjectFactory.h>

namespace sofa::collisionalgorithm
{

template class SOFA_COLLISIONALGORITHM_API PointGeometry<sofa::defaulttype::Vec3dTypes>;

void registerPointGeometry(sofa::core::ObjectFactory* factory)
{
factory->registerObjects(
Expand Down
4 changes: 4 additions & 0 deletions src/CollisionAlgorithm/geometry/SubsetGeometry.cpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
#include <CollisionAlgorithm/config.h>
#include <CollisionAlgorithm/geometry/SubsetGeometry.h>
#include <sofa/core/ObjectFactory.h>

namespace sofa::collisionalgorithm
{

template class SOFA_COLLISIONALGORITHM_API SubsetGeometry<sofa::defaulttype::Vec3dTypes>;

void registerSubsetGeometry(sofa::core::ObjectFactory* factory)
{
factory->registerObjects(
Expand Down
4 changes: 4 additions & 0 deletions src/CollisionAlgorithm/geometry/TetrahedronGeometry.cpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
#include <CollisionAlgorithm/config.h>
#include <CollisionAlgorithm/geometry/TetrahedronGeometry.h>
#include <sofa/core/ObjectFactory.h>

namespace sofa::collisionalgorithm
{

template class SOFA_COLLISIONALGORITHM_API TetrahedronGeometry<sofa::defaulttype::Vec3dTypes>;

void registerTetrahedronGeometry(sofa::core::ObjectFactory* factory)
{
factory->registerObjects(sofa::core::ObjectRegistrationData(
Expand Down
4 changes: 4 additions & 0 deletions src/CollisionAlgorithm/geometry/TriangleGeometry.cpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
#include <CollisionAlgorithm/config.h>
#include <CollisionAlgorithm/geometry/TriangleGeometry.h>
#include <sofa/core/ObjectFactory.h>

namespace sofa::collisionalgorithm
{

template class SOFA_COLLISIONALGORITHM_API TriangleGeometry<sofa::defaulttype::Vec3dTypes>;

void registerTriangleGeometry(sofa::core::ObjectFactory* factory)
{
factory->registerObjects(
Expand Down
5 changes: 3 additions & 2 deletions src/CollisionAlgorithm/operations/ContainsPoint.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#pragma once

#include <CollisionAlgorithm/config.h>
#include <CollisionAlgorithm/BaseElement.h>
#include <CollisionAlgorithm/BaseOperation.h>

Expand All @@ -8,7 +9,7 @@ namespace sofa::collisionalgorithm::Operations::ContainsPointInElement

typedef bool Result;

class Operation : public GenericOperation<Operation, // Type of the operation
class SOFA_COLLISIONALGORITHM_API Operation : public GenericOperation<Operation, // Type of the operation
Result, // Default return type
const type::Vec3&, const BaseElement::SPtr& // Parameters
>
Expand All @@ -33,7 +34,7 @@ namespace sofa::collisionalgorithm::Operations::ContainsPointInProximity

typedef bool Result;

class Operation
class SOFA_COLLISIONALGORITHM_API Operation
: public GenericOperation<Operation, // Type of the operation
Result, // Default return type
const type::Vec3&, const BaseProximity::SPtr& // Parameters
Expand Down
3 changes: 2 additions & 1 deletion src/CollisionAlgorithm/operations/CreateCenterProximity.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#pragma once

#include <CollisionAlgorithm/config.h>
#include <CollisionAlgorithm/BaseProximity.h>
#include <CollisionAlgorithm/BaseOperation.h>
#include <CollisionAlgorithm/elements/EdgeElement.h>
Expand All @@ -9,7 +10,7 @@ namespace sofa::collisionalgorithm::Operations::CreateCenterProximity {

typedef BaseProximity::SPtr Result;

class Operation : public GenericOperation<Operation, //type of operation
class SOFA_COLLISIONALGORITHM_API Operation : public GenericOperation<Operation, //type of operation
Result, //Default return type
const BaseElement::SPtr &//Parameters
> {
Expand Down
Loading
Loading