diff --git a/build/jam/HaikuImage b/build/jam/HaikuImage index 261cc12821..d787c9af60 100644 --- a/build/jam/HaikuImage +++ b/build/jam/HaikuImage @@ -63,7 +63,9 @@ BEOS_SYSTEM_LIB = libbe.so $(HAIKU_LIBSTDC++) libmedia.so libtracker.so libtranslation.so libnetwork.so libdebug.so libbsd.so libmail.so libtextencoding.so libz.so libfreetype.so libpng.so libmidi.so libmidi2.so libdevice.so libgame.so libscreensaver.so libroot.so - $(X86_ONLY)libGL.so libfluidsynth.so libqoca.so + $(X86_ONLY)libGL.so libfluidsynth.so + # constraint solver lib + lib$(LAYOUT_CONSTRAINT_SOLVER).so ; BEOS_SYSTEM_SERVERS = registrar debug_server syslog_daemon media_server net_server media_addon_server input_server app_server fake_app_server diff --git a/src/kits/Jamfile b/src/kits/Jamfile index 8e4c762c50..c18e5e210e 100644 --- a/src/kits/Jamfile +++ b/src/kits/Jamfile @@ -32,7 +32,7 @@ SharedLibrary libbe.so : storage_kit.o support_kit.o - libqoca.so + lib$(LAYOUT_CONSTRAINT_SOLVER).so libicon.a libagg.a @@ -68,7 +68,7 @@ SharedLibrary libbe_haiku.so : storage_kit.o support_kit.o - libqoca.so + lib$(LAYOUT_CONSTRAINT_SOLVER).so libicon.a libagg.a diff --git a/src/kits/interface/Jamfile b/src/kits/interface/Jamfile index ce22f6cfd2..dd1a3878a1 100644 --- a/src/kits/interface/Jamfile +++ b/src/kits/interface/Jamfile @@ -28,9 +28,21 @@ SetSubDirSupportedPlatforms haiku libbe_test ; UsePrivateHeaders app input interface shared tracker ; UseLibraryHeaders icon ; -# qoca headers -SubDirSysHdrs $(SUBDIR) ; -SubDirHdrs [ FDirName $(SUBDIR) qoca ] ; + +# constraint solver to use +local constraintSolverSources = ; +switch $(LAYOUT_CONSTRAINT_SOLVER) { + case qoca : + { + DEFINES += USE_QOCA_CONSTRAINT_SOLVER ; + constraintSolverSources = QocaConstraintSolverLayouter.cpp ; + SubDirSysHdrs [ FDirName $(HAIKU_TOP) src libs ] ; + SubDirHdrs [ FDirName $(HAIKU_TOP) src libs qoca ] ; + } + case * : + { + } +} SEARCH_SOURCE += [ FDirName $(SUBDIR) textview_support ] ; @@ -126,10 +138,9 @@ MergeObject interface_kit.o : WidthBuffer.cpp # layouter - ConstraintSolverLayouter.cpp Layouter.cpp OneElementLayouter.cpp SimpleLayouter.cpp -; -SubInclude HAIKU_TOP src kits interface qoca ; + $(constraintSolverSources) +; diff --git a/src/kits/interface/layouter/ConstraintSolverLayouter.h b/src/kits/interface/layouter/ConstraintSolverLayouter.h index e5ab5f84db..5b97eeafd5 100644 --- a/src/kits/interface/layouter/ConstraintSolverLayouter.h +++ b/src/kits/interface/layouter/ConstraintSolverLayouter.h @@ -1,144 +1,18 @@ /* - * Copyright 2006, Haiku Inc. - * Distributed under the terms of the MIT License. + * Copyright 2007, Ingo Weinhold . + * All rights reserved. Distributed under the terms of the MIT License. */ #ifndef CONSTRAINT_SOLVER_LAYOUTER_H #define CONSTRAINT_SOLVER_LAYOUTER_H -#include "Layouter.h" -#include - -class QcLinInEqSolver; -class QcConstraint; -class QcConstraint; - -namespace BPrivate { -namespace Layout { - -class ConstraintSolverLayouter : public Layouter { -public: - ConstraintSolverLayouter(int32 elementCount, - int32 spacing); - virtual ~ConstraintSolverLayouter(); - - virtual void AddConstraints(int32 element, int32 length, - float min, float max, float preferred); - virtual void SetWeight(int32 element, float weight); - - virtual float MinSize(); - virtual float MaxSize(); - virtual float PreferredSize(); - - virtual LayoutInfo* CreateLayoutInfo(); - - virtual void Layout(LayoutInfo* layoutInfo, float size); - - virtual Layouter* CloneLayouter(); - -private: - class Set; - - class Variable; - class Constraint; - class MinConstraint; - class MaxConstraint; - class MinMaxEntry; - class MinMaxMatrix; - class MyLayoutInfo; - - friend class Constraint; - - enum { - MIN_CONSTRAINT = 0, - MAX_CONSTRAINT = 1, - }; +#ifdef USE_QOCA_CONSTRAINT_SOLVER +# include "QocaConstraintSolverLayouter.h" + typedef QocaConstraintSolverLayouter ConstraintSolverLayouter; +#else +# include "SimpleLayouter.h" + typedef SimpleLayouter ConstraintSolverLayouter; +#endif - void _ValidateMinMax(); - - void _AddMinConstraint(int32 first, int32 last, - int32 value); - void _AddMaxConstraint(int32 first, int32 last, - int32 value); - - int32 _ComputeMin(); - int32 _ComputeMax(); - bool _ComputeSolution(int32 size); - - bool _FindIntegerSolution(int32 size); - bool _FindIntegerSolution(const Set& nonIntVariables, - const BList& minConstraints, - const BList& maxConstraints, - int32 sizeDiff); - - Constraint* _CreateConstraint(int32 type, int32 first, - int32 last, int32 value); - void _SetConstraint(int32 type, - Constraint** constraints, - int32 element, int32 value, bool restrict); - void _SetConstraint(int32 type, - BList& constraints, - int32 first, int32 last, int32 value, - bool restrict); - int _IndexOfConstraint(BList& constraints, - int32 first, int32 last); - bool _AddSetSizeConstraint(int32 size); - - void _AddConstraints(); - void _AddConstraints(const BList& constraints); - void _RemoveSetSizeConstraint(); - void _RemoveConstraints(); - void _RemoveConstraint(Constraint* constraint); - void _GetInvolvedConstraints( - const BList& constraints, - const BList& variables, - BList& filteredConstraints); - void _GetViolatedConstraints( - const BList& constraints, - BList& violatedConstraints); - void _FilterVariablesByMaxConstraints( - const BList& variables, - const BList& constraints, - Set& filteredVars); - - static int _CompareVariables(const void* a, const void* b); - static int _CompareConstraintsByLength(const void* a, - const void* b); - static int _CompareConstraintsBySatisfactionDistance( - const void* a, const void* b); - -private: - int32 fElementCount; - float* fWeights; - - Constraint** fBasicMinConstraints; - Constraint** fBasicMaxConstraints; - - BList fComplexMinConstraints; - BList fComplexMaxConstraints; - - Variable* fVariables; - Variable* fSizeVariable; - - QcLinInEqSolver* fSolver; - QcConstraint* fSizeSumConstraint; - QcConstraint* fSetSizeConstraint; - - bool fConstraintsAdded; - bool fSetSizeConstraintAdded; - - int32 fSpacing; - int32 fMin; - int32 fMax; - bool fMinMaxValid; - - MyLayoutInfo* fLayoutInfo; -}; - -} // namespace Layout -} // namespace BPrivate - -using BPrivate::Layout::ConstraintSolverLayouter; - -#endif // CONSTRAINT_SOLVER_LAYOUTER_H +#endif // CONSTRAINT_SOLVER_LAYOUTER_H diff --git a/src/kits/interface/layouter/ConstraintSolverLayouter.cpp b/src/kits/interface/layouter/QocaConstraintSolverLayouter.cpp similarity index 90% rename from src/kits/interface/layouter/ConstraintSolverLayouter.cpp rename to src/kits/interface/layouter/QocaConstraintSolverLayouter.cpp index 2360cc4ff8..34b878d4f2 100644 --- a/src/kits/interface/layouter/ConstraintSolverLayouter.cpp +++ b/src/kits/interface/layouter/QocaConstraintSolverLayouter.cpp @@ -1,9 +1,9 @@ /* - * Copyright 2006, Ingo Weinhold . + * Copyright 2006-2007, Ingo Weinhold . * All rights reserved. Distributed under the terms of the MIT License. */ -#include "ConstraintSolverLayouter.h" +#include "QocaConstraintSolverLayouter.h" #include #include @@ -29,7 +29,6 @@ #include - // This monster is a Layouter implementation similar to SimpleLayouter with // the difference that it accepts min/max constraints over several elements, // i.e. not only constraints of the form x_i <=/>= a, but also of the form @@ -66,7 +65,7 @@ // Set -class ConstraintSolverLayouter::Set { +class QocaConstraintSolverLayouter::Set { public: Set() : fElements() @@ -140,7 +139,7 @@ private: // Variable -class ConstraintSolverLayouter::Variable { +class QocaConstraintSolverLayouter::Variable { public: Variable() : fQocaVariable(NULL), @@ -213,9 +212,9 @@ private: // Constraint -class ConstraintSolverLayouter::Constraint { +class QocaConstraintSolverLayouter::Constraint { public: - Constraint(ConstraintSolverLayouter* layouter, + Constraint(QocaConstraintSolverLayouter* layouter, int32 first, int32 last, int32 value) : fLayouter(layouter), fFirst(first), @@ -241,7 +240,8 @@ public: delete fQocaConstraint; } - virtual Constraint* CloneConstraint(ConstraintSolverLayouter* layouter) = 0; + virtual Constraint* CloneConstraint( + QocaConstraintSolverLayouter* layouter) = 0; int32 First() const { @@ -338,7 +338,7 @@ public: protected: - ConstraintSolverLayouter* fLayouter; + QocaConstraintSolverLayouter* fLayouter; int32 fFirst; int32 fLast; @@ -357,16 +357,16 @@ private: // MinConstraint -class ConstraintSolverLayouter::MinConstraint : public Constraint { +class QocaConstraintSolverLayouter::MinConstraint : public Constraint { public: - MinConstraint(ConstraintSolverLayouter* layouter, int32 first, int32 last, - int32 value) + MinConstraint(QocaConstraintSolverLayouter* layouter, int32 first, + int32 last, int32 value) : Constraint(layouter, first, last, value) { SetOriginalValue(value); } - virtual Constraint* CloneConstraint(ConstraintSolverLayouter* layouter) + virtual Constraint* CloneConstraint(QocaConstraintSolverLayouter* layouter) { Constraint* constraint = new MinConstraint(layouter, fFirst, fLast, fOriginalValue); @@ -398,16 +398,16 @@ public: // MaxConstraint -class ConstraintSolverLayouter::MaxConstraint : public Constraint { +class QocaConstraintSolverLayouter::MaxConstraint : public Constraint { public: - MaxConstraint(ConstraintSolverLayouter* layouter, int32 first, int32 last, - int32 value) + MaxConstraint(QocaConstraintSolverLayouter* layouter, int32 first, + int32 last, int32 value) : Constraint(layouter, first, last, value) { SetOriginalValue(value); } - virtual Constraint* CloneConstraint(ConstraintSolverLayouter* layouter) + virtual Constraint* CloneConstraint(QocaConstraintSolverLayouter* layouter) { Constraint* constraint = new MaxConstraint(layouter, fFirst, fLast, fOriginalValue); @@ -439,7 +439,7 @@ public: // MinMaxEntry -class ConstraintSolverLayouter::MinMaxEntry { +class QocaConstraintSolverLayouter::MinMaxEntry { public: Constraint* minConstraint; Constraint* maxConstraint; @@ -473,7 +473,7 @@ public: // MinMaxMatrix -class ConstraintSolverLayouter::MinMaxMatrix { +class QocaConstraintSolverLayouter::MinMaxMatrix { public: MinMaxMatrix(int size) : fSize(size), @@ -500,7 +500,7 @@ private: // MyLayoutInfo -class ConstraintSolverLayouter::MyLayoutInfo : public LayoutInfo { +class QocaConstraintSolverLayouter::MyLayoutInfo : public LayoutInfo { public: MyLayoutInfo(int32 elementCount) : fCount(elementCount) @@ -533,7 +533,7 @@ public: void Dump() { - printf("ConstraintSolverLayouter::MyLayoutInfo(): %ld elements:\n", + printf("QocaConstraintSolverLayouter::MyLayoutInfo(): %ld elements:\n", fCount); for (int32 i = 0; i < fCount; i++) { printf(" %2ld: location: %4ld, size: %4ld\n", i, fLocations[i], @@ -548,11 +548,11 @@ public: }; -// #pragma mark - ConstraintSolverLayouter +// #pragma mark - QocaConstraintSolverLayouter // constructor -ConstraintSolverLayouter::ConstraintSolverLayouter(int32 elementCount, +QocaConstraintSolverLayouter::QocaConstraintSolverLayouter(int32 elementCount, int32 spacing) : fElementCount(elementCount), fWeights(NULL), @@ -612,7 +612,7 @@ ConstraintSolverLayouter::ConstraintSolverLayouter(int32 elementCount, } // destructor -ConstraintSolverLayouter::~ConstraintSolverLayouter() +QocaConstraintSolverLayouter::~QocaConstraintSolverLayouter() { delete fSetSizeConstraint; delete fSizeSumConstraint; @@ -627,7 +627,7 @@ ConstraintSolverLayouter::~ConstraintSolverLayouter() // AddConstraints void -ConstraintSolverLayouter::AddConstraints(int32 element, int32 length, +QocaConstraintSolverLayouter::AddConstraints(int32 element, int32 length, float _min, float _max, float _preferred) { if (length <= 0 || length > fElementCount) @@ -649,7 +649,7 @@ ConstraintSolverLayouter::AddConstraints(int32 element, int32 length, // SetWeight void -ConstraintSolverLayouter::SetWeight(int32 element, float weight) +QocaConstraintSolverLayouter::SetWeight(int32 element, float weight) { if (element < 0 || element >= fElementCount) return; @@ -659,7 +659,7 @@ ConstraintSolverLayouter::SetWeight(int32 element, float weight) // MinSize float -ConstraintSolverLayouter::MinSize() +QocaConstraintSolverLayouter::MinSize() { _ValidateMinMax(); return fMin - 1; @@ -667,7 +667,7 @@ ConstraintSolverLayouter::MinSize() // MaxSize float -ConstraintSolverLayouter::MaxSize() +QocaConstraintSolverLayouter::MaxSize() { _ValidateMinMax(); return fMax - 1; @@ -675,7 +675,7 @@ ConstraintSolverLayouter::MaxSize() // PreferredSize float -ConstraintSolverLayouter::PreferredSize() +QocaConstraintSolverLayouter::PreferredSize() { _ValidateMinMax(); return fMin - 1; @@ -683,16 +683,16 @@ ConstraintSolverLayouter::PreferredSize() // CreateLayoutInfo LayoutInfo* -ConstraintSolverLayouter::CreateLayoutInfo() +QocaConstraintSolverLayouter::CreateLayoutInfo() { return new MyLayoutInfo(fElementCount); } // Layout void -ConstraintSolverLayouter::Layout(LayoutInfo* layoutInfo, float _size) +QocaConstraintSolverLayouter::Layout(LayoutInfo* layoutInfo, float _size) { -//printf("ConstraintSolverLayouter::Layout(%p, %.1f): min: %ld, max: %ld\n", +//printf("QocaConstraintSolverLayouter::Layout(%p, %.1f): min: %ld, max: %ld\n", //layoutInfo, _size, fMin, fMax); int32 size = (int32)_size + 1; @@ -710,7 +710,7 @@ ConstraintSolverLayouter::Layout(LayoutInfo* layoutInfo, float _size) size -= additionalSpace; int32 spacing = (fElementCount - 1) * fSpacing; if (!_ComputeSolution(size - spacing)) { - ERROR_MESSAGE("ConstraintSolverLayouter::Layout(): no solution\n"); + ERROR_MESSAGE("QocaConstraintSolverLayouter::Layout(): no solution\n"); // no solution return; } @@ -750,10 +750,10 @@ ConstraintSolverLayouter::Layout(LayoutInfo* layoutInfo, float _size) // CloneLayouter Layouter* -ConstraintSolverLayouter::CloneLayouter() +QocaConstraintSolverLayouter::CloneLayouter() { - ConstraintSolverLayouter* layouter - = new ConstraintSolverLayouter(fElementCount, fSpacing); + QocaConstraintSolverLayouter* layouter + = new QocaConstraintSolverLayouter(fElementCount, fSpacing); memcpy(layouter->fWeights, fWeights, sizeof(float) * fElementCount); @@ -790,7 +790,7 @@ ConstraintSolverLayouter::CloneLayouter() // _ValidateMinMax void -ConstraintSolverLayouter::_ValidateMinMax() +QocaConstraintSolverLayouter::_ValidateMinMax() { if (fMinMaxValid) return; @@ -809,7 +809,7 @@ ConstraintSolverLayouter::_ValidateMinMax() // _AddMinConstraint void -ConstraintSolverLayouter::_AddMinConstraint(int32 first, int32 last, +QocaConstraintSolverLayouter::_AddMinConstraint(int32 first, int32 last, int32 value) { if (first == last) { @@ -823,7 +823,7 @@ ConstraintSolverLayouter::_AddMinConstraint(int32 first, int32 last, // _AddMaxConstraint void -ConstraintSolverLayouter::_AddMaxConstraint(int32 first, int32 last, +QocaConstraintSolverLayouter::_AddMaxConstraint(int32 first, int32 last, int32 value) { if (first == last) { @@ -837,7 +837,7 @@ ConstraintSolverLayouter::_AddMaxConstraint(int32 first, int32 last, // _ComputeMin int32 -ConstraintSolverLayouter::_ComputeMin() +QocaConstraintSolverLayouter::_ComputeMin() { _RemoveSetSizeConstraint(); _AddConstraints(); @@ -855,7 +855,7 @@ ConstraintSolverLayouter::_ComputeMin() bool success = _FindIntegerSolution(size); if (!success) { ERROR_MESSAGE( - "ConstraintSolverLayouter::_ComputeMin(): no int solution\n"); + "QocaConstraintSolverLayouter::_ComputeMin(): no int solution\n"); return 0; } @@ -864,7 +864,7 @@ ConstraintSolverLayouter::_ComputeMin() // _ComputeMax int32 -ConstraintSolverLayouter::_ComputeMax() +QocaConstraintSolverLayouter::_ComputeMax() { _RemoveSetSizeConstraint(); _AddConstraints(); @@ -888,7 +888,7 @@ ConstraintSolverLayouter::_ComputeMax() bool success = _FindIntegerSolution(size); if (!success) { ERROR_MESSAGE( - "ConstraintSolverLayouter::_ComputeMax(): no int solution\n"); + "QocaConstraintSolverLayouter::_ComputeMax(): no int solution\n"); return B_SIZE_UNLIMITED; } @@ -897,9 +897,9 @@ ConstraintSolverLayouter::_ComputeMax() // _ComputeSolution bool -ConstraintSolverLayouter::_ComputeSolution(int32 size) +QocaConstraintSolverLayouter::_ComputeSolution(int32 size) { -//printf("ConstraintSolverLayouter::_ComputeSolution(%ld)\n", size); +//printf("QocaConstraintSolverLayouter::_ComputeSolution(%ld)\n", size); _RemoveSetSizeConstraint(); _AddConstraints(); @@ -913,7 +913,7 @@ ConstraintSolverLayouter::_ComputeSolution(int32 size) if (!_AddSetSizeConstraint(size)) { // Ugh! Contradictory! - ERROR_MESSAGE("ConstraintSolverLayouter::_ComputeSolution(): " + ERROR_MESSAGE("QocaConstraintSolverLayouter::_ComputeSolution(): " "contradictory CSP\n"); return false; } @@ -922,7 +922,7 @@ ConstraintSolverLayouter::_ComputeSolution(int32 size) fSolver->Solve(); if (!_FindIntegerSolution(size)) { - ERROR_MESSAGE("ConstraintSolverLayouter::_ComputeSolution(): " + ERROR_MESSAGE("QocaConstraintSolverLayouter::_ComputeSolution(): " "no int solution\n"); return false; } @@ -932,9 +932,9 @@ ConstraintSolverLayouter::_ComputeSolution(int32 size) // _FindIntegerSolution bool -ConstraintSolverLayouter::_FindIntegerSolution(int32 size) +QocaConstraintSolverLayouter::_FindIntegerSolution(int32 size) { -//printf("ConstraintSolverLayouter::_FindIntegerSolution(%ld)\n", size); +//printf("QocaConstraintSolverLayouter::_FindIntegerSolution(%ld)\n", size); //printf(" solution:\n"); // check whether there are non-integer variable values Set nonIntVariables; @@ -981,13 +981,13 @@ ConstraintSolverLayouter::_FindIntegerSolution(int32 size) return true; if (sum > size) { - ERROR_MESSAGE("ConstraintSolverLayouter::_FindIntegerSolution(): " + ERROR_MESSAGE("QocaConstraintSolverLayouter::_FindIntegerSolution(): " "computed size %ld, but element sum is %ld\n", size, sum); return false; } if (nonIntVariables.IsEmpty()) { - ERROR_MESSAGE("ConstraintSolverLayouter::_FindIntegerSolution(): " + ERROR_MESSAGE("QocaConstraintSolverLayouter::_FindIntegerSolution(): " "computed size %ld, element sum is %ld, but we have no " "non-integer variables\n", size, sum); return false; @@ -1014,7 +1014,7 @@ ConstraintSolverLayouter::_FindIntegerSolution(int32 size) // _FindIntegerSolution bool -ConstraintSolverLayouter::_FindIntegerSolution(const Set& _nonIntVariables, +QocaConstraintSolverLayouter::_FindIntegerSolution(const Set& _nonIntVariables, const BList& _minConstraints, const BList& _maxConstraints, int32 sizeDiff) { // We get the variables that had a non-integer value, and lists of minimum @@ -1108,14 +1108,14 @@ ConstraintSolverLayouter::_FindIntegerSolution(const Set& _nonIntVariables, } // if we are here, we didn't find a solution - ERROR_MESSAGE("ConstraintSolverLayouter::_FindIntegerSolution(): " + ERROR_MESSAGE("QocaConstraintSolverLayouter::_FindIntegerSolution(): " "found no int solution\n"); return false; } // _CreateConstraint -ConstraintSolverLayouter::Constraint* -ConstraintSolverLayouter::_CreateConstraint(int32 type, int32 first, +QocaConstraintSolverLayouter::Constraint* +QocaConstraintSolverLayouter::_CreateConstraint(int32 type, int32 first, int32 last, int32 value) { switch (type) { @@ -1131,8 +1131,8 @@ ConstraintSolverLayouter::_CreateConstraint(int32 type, int32 first, // _SetConstraint void -ConstraintSolverLayouter::_SetConstraint(int32 type, Constraint** constraints, - int32 element, int32 value, bool restrict) +QocaConstraintSolverLayouter::_SetConstraint(int32 type, + Constraint** constraints, int32 element, int32 value, bool restrict) { if (element < 0 || element >= fElementCount) return; @@ -1156,7 +1156,7 @@ ConstraintSolverLayouter::_SetConstraint(int32 type, Constraint** constraints, // _SetConstraint void -ConstraintSolverLayouter::_SetConstraint(int32 type, BList& constraints, +QocaConstraintSolverLayouter::_SetConstraint(int32 type, BList& constraints, int32 first, int32 last, int32 value, bool restrict) { if (first < 0 || first > last || last >= fElementCount) @@ -1185,8 +1185,8 @@ ConstraintSolverLayouter::_SetConstraint(int32 type, BList& constraints, // _IndexOfConstraint int -ConstraintSolverLayouter::_IndexOfConstraint(BList& constraints, int32 first, - int32 last) +QocaConstraintSolverLayouter::_IndexOfConstraint(BList& constraints, + int32 first, int32 last) { int32 count = constraints.CountItems(); for (int32 i = 0; i < count; i++) { @@ -1200,7 +1200,7 @@ ConstraintSolverLayouter::_IndexOfConstraint(BList& constraints, int32 first, // _AddSetSizeConstraint bool -ConstraintSolverLayouter::_AddSetSizeConstraint(int32 size) +QocaConstraintSolverLayouter::_AddSetSizeConstraint(int32 size) { if (fSetSizeConstraintAdded) { if (fSetSizeConstraint->RHS() == size) @@ -1220,7 +1220,7 @@ ConstraintSolverLayouter::_AddSetSizeConstraint(int32 size) // _AddConstraints void -ConstraintSolverLayouter::_AddConstraints() +QocaConstraintSolverLayouter::_AddConstraints() { if (fConstraintsAdded) return; @@ -1441,7 +1441,7 @@ ConstraintSolverLayouter::_AddConstraints() // _AddConstraints void -ConstraintSolverLayouter::_AddConstraints(const BList& constraints) +QocaConstraintSolverLayouter::_AddConstraints(const BList& constraints) { int32 count = constraints.CountItems(); for (int32 i = 0; i < count; i++) { @@ -1507,7 +1507,7 @@ ConstraintSolverLayouter::_AddConstraints(const BList& constraints) // _RemoveSetSizeConstraint void -ConstraintSolverLayouter::_RemoveSetSizeConstraint() +QocaConstraintSolverLayouter::_RemoveSetSizeConstraint() { if (fSetSizeConstraintAdded) { fSolver->RemoveConstraint(*fSetSizeConstraint); @@ -1517,7 +1517,7 @@ ConstraintSolverLayouter::_RemoveSetSizeConstraint() // _RemoveConstraints void -ConstraintSolverLayouter::_RemoveConstraints() +QocaConstraintSolverLayouter::_RemoveConstraints() { if (!fConstraintsAdded) return; @@ -1547,7 +1547,7 @@ ConstraintSolverLayouter::_RemoveConstraints() // _RemoveConstraint void -ConstraintSolverLayouter::_RemoveConstraint(Constraint* constraint) +QocaConstraintSolverLayouter::_RemoveConstraint(Constraint* constraint) { if (constraint != NULL && constraint->IsAdded()) { fSolver->RemoveConstraint(*constraint->QocaConstraint()); @@ -1557,7 +1557,7 @@ ConstraintSolverLayouter::_RemoveConstraint(Constraint* constraint) // _GetInvolvedConstraints void -ConstraintSolverLayouter::_GetInvolvedConstraints(const BList& constraints, +QocaConstraintSolverLayouter::_GetInvolvedConstraints(const BList& constraints, const BList& variables, BList& filteredConstraints) { filteredConstraints.MakeEmpty(); @@ -1591,7 +1591,7 @@ ConstraintSolverLayouter::_GetInvolvedConstraints(const BList& constraints, // _GetViolatedConstraints void -ConstraintSolverLayouter::_GetViolatedConstraints(const BList& constraints, +QocaConstraintSolverLayouter::_GetViolatedConstraints(const BList& constraints, BList& violatedConstraints) { violatedConstraints.MakeEmpty(); @@ -1615,7 +1615,7 @@ ConstraintSolverLayouter::_GetViolatedConstraints(const BList& constraints, // _FilterVariablesByMaxConstraints void -ConstraintSolverLayouter::_FilterVariablesByMaxConstraints( +QocaConstraintSolverLayouter::_FilterVariablesByMaxConstraints( const BList& variables, const BList& constraints, Set& filteredVars) { filteredVars.MakeEmpty(); @@ -1642,7 +1642,7 @@ ConstraintSolverLayouter::_FilterVariablesByMaxConstraints( // _CompareVariables int -ConstraintSolverLayouter::_CompareVariables(const void* _a, const void* _b) +QocaConstraintSolverLayouter::_CompareVariables(const void* _a, const void* _b) { // compare by distance of the float solution to the integer solution Variable* a = *(Variable**)_a; @@ -1658,7 +1658,7 @@ ConstraintSolverLayouter::_CompareVariables(const void* _a, const void* _b) // _CompareConstraints int -ConstraintSolverLayouter::_CompareConstraintsByLength(const void* _a, +QocaConstraintSolverLayouter::_CompareConstraintsByLength(const void* _a, const void* _b) { // compare by number of involved variables @@ -1670,7 +1670,7 @@ ConstraintSolverLayouter::_CompareConstraintsByLength(const void* _a, // _CompareConstraints int -ConstraintSolverLayouter::_CompareConstraintsBySatisfactionDistance( +QocaConstraintSolverLayouter::_CompareConstraintsBySatisfactionDistance( const void* _a, const void* _b) { // compare by number of involved variables diff --git a/src/kits/interface/layouter/QocaConstraintSolverLayouter.h b/src/kits/interface/layouter/QocaConstraintSolverLayouter.h new file mode 100644 index 0000000000..572394d603 --- /dev/null +++ b/src/kits/interface/layouter/QocaConstraintSolverLayouter.h @@ -0,0 +1,144 @@ +/* + * Copyright 2006-2007, Ingo Weinhold . + * All rights reserved. Distributed under the terms of the MIT License. + */ +#ifndef QOCA_CONSTRAINT_SOLVER_LAYOUTER_H +#define QOCA_CONSTRAINT_SOLVER_LAYOUTER_H + +#include "Layouter.h" + +#include + +class QcLinInEqSolver; +class QcConstraint; +class QcConstraint; + +namespace BPrivate { +namespace Layout { + +class QocaConstraintSolverLayouter : public Layouter { +public: + QocaConstraintSolverLayouter(int32 elementCount, + int32 spacing); + virtual ~QocaConstraintSolverLayouter(); + + virtual void AddConstraints(int32 element, int32 length, + float min, float max, float preferred); + virtual void SetWeight(int32 element, float weight); + + virtual float MinSize(); + virtual float MaxSize(); + virtual float PreferredSize(); + + virtual LayoutInfo* CreateLayoutInfo(); + + virtual void Layout(LayoutInfo* layoutInfo, float size); + + virtual Layouter* CloneLayouter(); + +private: + class Set; + + class Variable; + class Constraint; + class MinConstraint; + class MaxConstraint; + class MinMaxEntry; + class MinMaxMatrix; + class MyLayoutInfo; + + friend class Constraint; + + enum { + MIN_CONSTRAINT = 0, + MAX_CONSTRAINT = 1, + }; + + + void _ValidateMinMax(); + + void _AddMinConstraint(int32 first, int32 last, + int32 value); + void _AddMaxConstraint(int32 first, int32 last, + int32 value); + + int32 _ComputeMin(); + int32 _ComputeMax(); + bool _ComputeSolution(int32 size); + + bool _FindIntegerSolution(int32 size); + bool _FindIntegerSolution(const Set& nonIntVariables, + const BList& minConstraints, + const BList& maxConstraints, + int32 sizeDiff); + + Constraint* _CreateConstraint(int32 type, int32 first, + int32 last, int32 value); + void _SetConstraint(int32 type, + Constraint** constraints, + int32 element, int32 value, bool restrict); + void _SetConstraint(int32 type, + BList& constraints, + int32 first, int32 last, int32 value, + bool restrict); + int _IndexOfConstraint(BList& constraints, + int32 first, int32 last); + bool _AddSetSizeConstraint(int32 size); + + void _AddConstraints(); + void _AddConstraints(const BList& constraints); + void _RemoveSetSizeConstraint(); + void _RemoveConstraints(); + void _RemoveConstraint(Constraint* constraint); + void _GetInvolvedConstraints( + const BList& constraints, + const BList& variables, + BList& filteredConstraints); + void _GetViolatedConstraints( + const BList& constraints, + BList& violatedConstraints); + void _FilterVariablesByMaxConstraints( + const BList& variables, + const BList& constraints, + Set& filteredVars); + + static int _CompareVariables(const void* a, const void* b); + static int _CompareConstraintsByLength(const void* a, + const void* b); + static int _CompareConstraintsBySatisfactionDistance( + const void* a, const void* b); + +private: + int32 fElementCount; + float* fWeights; + + Constraint** fBasicMinConstraints; + Constraint** fBasicMaxConstraints; + + BList fComplexMinConstraints; + BList fComplexMaxConstraints; + + Variable* fVariables; + Variable* fSizeVariable; + + QcLinInEqSolver* fSolver; + QcConstraint* fSizeSumConstraint; + QcConstraint* fSetSizeConstraint; + + bool fConstraintsAdded; + bool fSetSizeConstraintAdded; + + int32 fSpacing; + int32 fMin; + int32 fMax; + bool fMinMaxValid; + + MyLayoutInfo* fLayoutInfo; +}; + +} // namespace Layout +} // namespace BPrivate + +using BPrivate::Layout::QocaConstraintSolverLayouter; + +#endif // QOCA_CONSTRAINT_SOLVER_LAYOUTER_H diff --git a/src/libs/Jamfile b/src/libs/Jamfile index 79db6a99cf..8e01fe211f 100644 --- a/src/libs/Jamfile +++ b/src/libs/Jamfile @@ -13,6 +13,7 @@ SubInclude HAIKU_TOP src libs libtelnet ; SubInclude HAIKU_TOP src libs ncurses ; SubInclude HAIKU_TOP src libs pdflib ; SubInclude HAIKU_TOP src libs png ; +SubInclude HAIKU_TOP src libs qoca ; SubInclude HAIKU_TOP src libs stdc++ ; SubInclude HAIKU_TOP src libs termcap ; SubInclude HAIKU_TOP src libs usb ; diff --git a/src/kits/interface/qoca/ChangeLog b/src/libs/qoca/ChangeLog similarity index 100% rename from src/kits/interface/qoca/ChangeLog rename to src/libs/qoca/ChangeLog diff --git a/src/kits/interface/qoca/Jamfile b/src/libs/qoca/Jamfile similarity index 96% rename from src/kits/interface/qoca/Jamfile rename to src/libs/qoca/Jamfile index 3b704a68f5..52fbd478a3 100644 --- a/src/kits/interface/qoca/Jamfile +++ b/src/libs/qoca/Jamfile @@ -1,4 +1,4 @@ -SubDir HAIKU_TOP src kits interface qoca ; +SubDir HAIKU_TOP src libs qoca ; # Don't compile qoca with debugging. Debug/non-debug versions are # incompatible. diff --git a/src/kits/interface/qoca/KeyIterator.hh b/src/libs/qoca/KeyIterator.hh similarity index 100% rename from src/kits/interface/qoca/KeyIterator.hh rename to src/libs/qoca/KeyIterator.hh diff --git a/src/kits/interface/qoca/Makefile.am b/src/libs/qoca/Makefile.am similarity index 100% rename from src/kits/interface/qoca/Makefile.am rename to src/libs/qoca/Makefile.am diff --git a/src/kits/interface/qoca/Makefile.am.m4 b/src/libs/qoca/Makefile.am.m4 similarity index 100% rename from src/kits/interface/qoca/Makefile.am.m4 rename to src/libs/qoca/Makefile.am.m4 diff --git a/src/kits/interface/qoca/Makefile.in b/src/libs/qoca/Makefile.in similarity index 100% rename from src/kits/interface/qoca/Makefile.in rename to src/libs/qoca/Makefile.in diff --git a/src/kits/interface/qoca/QcASetSolver.H b/src/libs/qoca/QcASetSolver.H similarity index 100% rename from src/kits/interface/qoca/QcASetSolver.H rename to src/libs/qoca/QcASetSolver.H diff --git a/src/kits/interface/qoca/QcASetSolver.cc b/src/libs/qoca/QcASetSolver.cc similarity index 100% rename from src/kits/interface/qoca/QcASetSolver.cc rename to src/libs/qoca/QcASetSolver.cc diff --git a/src/kits/interface/qoca/QcASetSolver.ch b/src/libs/qoca/QcASetSolver.ch similarity index 100% rename from src/kits/interface/qoca/QcASetSolver.ch rename to src/libs/qoca/QcASetSolver.ch diff --git a/src/kits/interface/qoca/QcASetSolver.hh b/src/libs/qoca/QcASetSolver.hh similarity index 100% rename from src/kits/interface/qoca/QcASetSolver.hh rename to src/libs/qoca/QcASetSolver.hh diff --git a/src/kits/interface/qoca/QcAliasedBiMap.H b/src/libs/qoca/QcAliasedBiMap.H similarity index 100% rename from src/kits/interface/qoca/QcAliasedBiMap.H rename to src/libs/qoca/QcAliasedBiMap.H diff --git a/src/kits/interface/qoca/QcAliasedBiMap.ch b/src/libs/qoca/QcAliasedBiMap.ch similarity index 100% rename from src/kits/interface/qoca/QcAliasedBiMap.ch rename to src/libs/qoca/QcAliasedBiMap.ch diff --git a/src/kits/interface/qoca/QcAliasedBiMap.hh b/src/libs/qoca/QcAliasedBiMap.hh similarity index 100% rename from src/kits/interface/qoca/QcAliasedBiMap.hh rename to src/libs/qoca/QcAliasedBiMap.hh diff --git a/src/kits/interface/qoca/QcBasicVarIndexIterator.hh b/src/libs/qoca/QcBasicVarIndexIterator.hh similarity index 100% rename from src/kits/interface/qoca/QcBasicVarIndexIterator.hh rename to src/libs/qoca/QcBasicVarIndexIterator.hh diff --git a/src/kits/interface/qoca/QcBasicnessVarIndexIterator.hh b/src/libs/qoca/QcBasicnessVarIndexIterator.hh similarity index 100% rename from src/kits/interface/qoca/QcBasicnessVarIndexIterator.hh rename to src/libs/qoca/QcBasicnessVarIndexIterator.hh diff --git a/src/kits/interface/qoca/QcBiMap.H b/src/libs/qoca/QcBiMap.H similarity index 100% rename from src/kits/interface/qoca/QcBiMap.H rename to src/libs/qoca/QcBiMap.H diff --git a/src/kits/interface/qoca/QcBiMap.ch b/src/libs/qoca/QcBiMap.ch similarity index 100% rename from src/kits/interface/qoca/QcBiMap.ch rename to src/libs/qoca/QcBiMap.ch diff --git a/src/kits/interface/qoca/QcBiMap.hh b/src/libs/qoca/QcBiMap.hh similarity index 100% rename from src/kits/interface/qoca/QcBiMap.hh rename to src/libs/qoca/QcBiMap.hh diff --git a/src/kits/interface/qoca/QcBiMapNotifier.hh b/src/libs/qoca/QcBiMapNotifier.hh similarity index 100% rename from src/kits/interface/qoca/QcBiMapNotifier.hh rename to src/libs/qoca/QcBiMapNotifier.hh diff --git a/src/kits/interface/qoca/QcCassConstraint.hh b/src/libs/qoca/QcCassConstraint.hh similarity index 100% rename from src/kits/interface/qoca/QcCassConstraint.hh rename to src/libs/qoca/QcCassConstraint.hh diff --git a/src/kits/interface/qoca/QcCassSolver.cc b/src/libs/qoca/QcCassSolver.cc similarity index 100% rename from src/kits/interface/qoca/QcCassSolver.cc rename to src/libs/qoca/QcCassSolver.cc diff --git a/src/kits/interface/qoca/QcCassSolver.hh b/src/libs/qoca/QcCassSolver.hh similarity index 100% rename from src/kits/interface/qoca/QcCassSolver.hh rename to src/libs/qoca/QcCassSolver.hh diff --git a/src/kits/interface/qoca/QcCompPivotSystem.cc b/src/libs/qoca/QcCompPivotSystem.cc similarity index 100% rename from src/kits/interface/qoca/QcCompPivotSystem.cc rename to src/libs/qoca/QcCompPivotSystem.cc diff --git a/src/kits/interface/qoca/QcCompPivotSystem.hh b/src/libs/qoca/QcCompPivotSystem.hh similarity index 100% rename from src/kits/interface/qoca/QcCompPivotSystem.hh rename to src/libs/qoca/QcCompPivotSystem.hh diff --git a/src/kits/interface/qoca/QcCompPivotTableau.cc b/src/libs/qoca/QcCompPivotTableau.cc similarity index 100% rename from src/kits/interface/qoca/QcCompPivotTableau.cc rename to src/libs/qoca/QcCompPivotTableau.cc diff --git a/src/kits/interface/qoca/QcCompPivotTableau.hh b/src/libs/qoca/QcCompPivotTableau.hh similarity index 100% rename from src/kits/interface/qoca/QcCompPivotTableau.hh rename to src/libs/qoca/QcCompPivotTableau.hh diff --git a/src/kits/interface/qoca/QcConstraint.hh b/src/libs/qoca/QcConstraint.hh similarity index 100% rename from src/kits/interface/qoca/QcConstraint.hh rename to src/libs/qoca/QcConstraint.hh diff --git a/src/kits/interface/qoca/QcConstraintBiMap.hh b/src/libs/qoca/QcConstraintBiMap.hh similarity index 100% rename from src/kits/interface/qoca/QcConstraintBiMap.hh rename to src/libs/qoca/QcConstraintBiMap.hh diff --git a/src/kits/interface/qoca/QcConstraintIndexIterator.hh b/src/libs/qoca/QcConstraintIndexIterator.hh similarity index 100% rename from src/kits/interface/qoca/QcConstraintIndexIterator.hh rename to src/libs/qoca/QcConstraintIndexIterator.hh diff --git a/src/kits/interface/qoca/QcConstraintRep.cc b/src/libs/qoca/QcConstraintRep.cc similarity index 100% rename from src/kits/interface/qoca/QcConstraintRep.cc rename to src/libs/qoca/QcConstraintRep.cc diff --git a/src/kits/interface/qoca/QcConstraintRep.hh b/src/libs/qoca/QcConstraintRep.hh similarity index 100% rename from src/kits/interface/qoca/QcConstraintRep.hh rename to src/libs/qoca/QcConstraintRep.hh diff --git a/src/kits/interface/qoca/QcCoreTableau.cc b/src/libs/qoca/QcCoreTableau.cc similarity index 100% rename from src/kits/interface/qoca/QcCoreTableau.cc rename to src/libs/qoca/QcCoreTableau.cc diff --git a/src/kits/interface/qoca/QcCoreTableau.hh b/src/libs/qoca/QcCoreTableau.hh similarity index 100% rename from src/kits/interface/qoca/QcCoreTableau.hh rename to src/libs/qoca/QcCoreTableau.hh diff --git a/src/kits/interface/qoca/QcDefines.hh b/src/libs/qoca/QcDefines.hh similarity index 100% rename from src/kits/interface/qoca/QcDefines.hh rename to src/libs/qoca/QcDefines.hh diff --git a/src/kits/interface/qoca/QcDelCoreTableau.cc b/src/libs/qoca/QcDelCoreTableau.cc similarity index 100% rename from src/kits/interface/qoca/QcDelCoreTableau.cc rename to src/libs/qoca/QcDelCoreTableau.cc diff --git a/src/kits/interface/qoca/QcDelCoreTableau.hh b/src/libs/qoca/QcDelCoreTableau.hh similarity index 100% rename from src/kits/interface/qoca/QcDelCoreTableau.hh rename to src/libs/qoca/QcDelCoreTableau.hh diff --git a/src/kits/interface/qoca/QcDelLinEqSystem.hh b/src/libs/qoca/QcDelLinEqSystem.hh similarity index 100% rename from src/kits/interface/qoca/QcDelLinEqSystem.hh rename to src/libs/qoca/QcDelLinEqSystem.hh diff --git a/src/kits/interface/qoca/QcDelLinEqTableau.cc b/src/libs/qoca/QcDelLinEqTableau.cc similarity index 100% rename from src/kits/interface/qoca/QcDelLinEqTableau.cc rename to src/libs/qoca/QcDelLinEqTableau.cc diff --git a/src/kits/interface/qoca/QcDelLinEqTableau.hh b/src/libs/qoca/QcDelLinEqTableau.hh similarity index 100% rename from src/kits/interface/qoca/QcDelLinEqTableau.hh rename to src/libs/qoca/QcDelLinEqTableau.hh diff --git a/src/kits/interface/qoca/QcDelLinInEqSystem.hh b/src/libs/qoca/QcDelLinInEqSystem.hh similarity index 100% rename from src/kits/interface/qoca/QcDelLinInEqSystem.hh rename to src/libs/qoca/QcDelLinInEqSystem.hh diff --git a/src/kits/interface/qoca/QcDelLinInEqTableau.cc b/src/libs/qoca/QcDelLinInEqTableau.cc similarity index 100% rename from src/kits/interface/qoca/QcDelLinInEqTableau.cc rename to src/libs/qoca/QcDelLinInEqTableau.cc diff --git a/src/kits/interface/qoca/QcDelLinInEqTableau.hh b/src/libs/qoca/QcDelLinInEqTableau.hh similarity index 100% rename from src/kits/interface/qoca/QcDelLinInEqTableau.hh rename to src/libs/qoca/QcDelLinInEqTableau.hh diff --git a/src/kits/interface/qoca/QcDenseMatrix.cc b/src/libs/qoca/QcDenseMatrix.cc similarity index 100% rename from src/kits/interface/qoca/QcDenseMatrix.cc rename to src/libs/qoca/QcDenseMatrix.cc diff --git a/src/kits/interface/qoca/QcDenseMatrix.hh b/src/libs/qoca/QcDenseMatrix.hh similarity index 100% rename from src/kits/interface/qoca/QcDenseMatrix.hh rename to src/libs/qoca/QcDenseMatrix.hh diff --git a/src/kits/interface/qoca/QcDenseMatrixColIterator.hh b/src/libs/qoca/QcDenseMatrixColIterator.hh similarity index 100% rename from src/kits/interface/qoca/QcDenseMatrixColIterator.hh rename to src/libs/qoca/QcDenseMatrixColIterator.hh diff --git a/src/kits/interface/qoca/QcDenseMatrixIterator.hh b/src/libs/qoca/QcDenseMatrixIterator.hh similarity index 100% rename from src/kits/interface/qoca/QcDenseMatrixIterator.hh rename to src/libs/qoca/QcDenseMatrixIterator.hh diff --git a/src/kits/interface/qoca/QcDenseMatrixRowIterator.hh b/src/libs/qoca/QcDenseMatrixRowIterator.hh similarity index 100% rename from src/kits/interface/qoca/QcDenseMatrixRowIterator.hh rename to src/libs/qoca/QcDenseMatrixRowIterator.hh diff --git a/src/kits/interface/qoca/QcDenseTableauColIterator.hh b/src/libs/qoca/QcDenseTableauColIterator.hh similarity index 100% rename from src/kits/interface/qoca/QcDenseTableauColIterator.hh rename to src/libs/qoca/QcDenseTableauColIterator.hh diff --git a/src/kits/interface/qoca/QcDenseTableauIterator.hh b/src/libs/qoca/QcDenseTableauIterator.hh similarity index 100% rename from src/kits/interface/qoca/QcDenseTableauIterator.hh rename to src/libs/qoca/QcDenseTableauIterator.hh diff --git a/src/kits/interface/qoca/QcDenseTableauRowIterator.hh b/src/libs/qoca/QcDenseTableauRowIterator.hh similarity index 100% rename from src/kits/interface/qoca/QcDenseTableauRowIterator.hh rename to src/libs/qoca/QcDenseTableauRowIterator.hh diff --git a/src/kits/interface/qoca/QcDesireValueStore.hh b/src/libs/qoca/QcDesireValueStore.hh similarity index 100% rename from src/kits/interface/qoca/QcDesireValueStore.hh rename to src/libs/qoca/QcDesireValueStore.hh diff --git a/src/kits/interface/qoca/QcEnables.H b/src/libs/qoca/QcEnables.H similarity index 100% rename from src/kits/interface/qoca/QcEnables.H rename to src/libs/qoca/QcEnables.H diff --git a/src/kits/interface/qoca/QcEnables.H.in b/src/libs/qoca/QcEnables.H.in similarity index 100% rename from src/kits/interface/qoca/QcEnables.H.in rename to src/libs/qoca/QcEnables.H.in diff --git a/src/kits/interface/qoca/QcException.hh b/src/libs/qoca/QcException.hh similarity index 100% rename from src/kits/interface/qoca/QcException.hh rename to src/libs/qoca/QcException.hh diff --git a/src/kits/interface/qoca/QcFixedFloat.hh b/src/libs/qoca/QcFixedFloat.hh similarity index 100% rename from src/kits/interface/qoca/QcFixedFloat.hh rename to src/libs/qoca/QcFixedFloat.hh diff --git a/src/kits/interface/qoca/QcFixedFloatRep.H b/src/libs/qoca/QcFixedFloatRep.H similarity index 100% rename from src/kits/interface/qoca/QcFixedFloatRep.H rename to src/libs/qoca/QcFixedFloatRep.H diff --git a/src/kits/interface/qoca/QcFixedFloatRep.cc b/src/libs/qoca/QcFixedFloatRep.cc similarity index 100% rename from src/kits/interface/qoca/QcFixedFloatRep.cc rename to src/libs/qoca/QcFixedFloatRep.cc diff --git a/src/kits/interface/qoca/QcFixedFloatRep.ch b/src/libs/qoca/QcFixedFloatRep.ch similarity index 100% rename from src/kits/interface/qoca/QcFixedFloatRep.ch rename to src/libs/qoca/QcFixedFloatRep.ch diff --git a/src/kits/interface/qoca/QcFixedFloatRep.hh b/src/libs/qoca/QcFixedFloatRep.hh similarity index 100% rename from src/kits/interface/qoca/QcFixedFloatRep.hh rename to src/libs/qoca/QcFixedFloatRep.hh diff --git a/src/kits/interface/qoca/QcFloat.hh b/src/libs/qoca/QcFloat.hh similarity index 100% rename from src/kits/interface/qoca/QcFloat.hh rename to src/libs/qoca/QcFloat.hh diff --git a/src/kits/interface/qoca/QcFloatRep.H b/src/libs/qoca/QcFloatRep.H similarity index 100% rename from src/kits/interface/qoca/QcFloatRep.H rename to src/libs/qoca/QcFloatRep.H diff --git a/src/kits/interface/qoca/QcFloatRep.cc b/src/libs/qoca/QcFloatRep.cc similarity index 100% rename from src/kits/interface/qoca/QcFloatRep.cc rename to src/libs/qoca/QcFloatRep.cc diff --git a/src/kits/interface/qoca/QcFloatRep.ch b/src/libs/qoca/QcFloatRep.ch similarity index 100% rename from src/kits/interface/qoca/QcFloatRep.ch rename to src/libs/qoca/QcFloatRep.ch diff --git a/src/kits/interface/qoca/QcFloatRep.hh b/src/libs/qoca/QcFloatRep.hh similarity index 100% rename from src/kits/interface/qoca/QcFloatRep.hh rename to src/libs/qoca/QcFloatRep.hh diff --git a/src/kits/interface/qoca/QcIneqSolverBase.H b/src/libs/qoca/QcIneqSolverBase.H similarity index 100% rename from src/kits/interface/qoca/QcIneqSolverBase.H rename to src/libs/qoca/QcIneqSolverBase.H diff --git a/src/kits/interface/qoca/QcIneqSolverBase.cc b/src/libs/qoca/QcIneqSolverBase.cc similarity index 100% rename from src/kits/interface/qoca/QcIneqSolverBase.cc rename to src/libs/qoca/QcIneqSolverBase.cc diff --git a/src/kits/interface/qoca/QcIneqSolverBase.ch b/src/libs/qoca/QcIneqSolverBase.ch similarity index 100% rename from src/kits/interface/qoca/QcIneqSolverBase.ch rename to src/libs/qoca/QcIneqSolverBase.ch diff --git a/src/kits/interface/qoca/QcIneqSolverBase.hh b/src/libs/qoca/QcIneqSolverBase.hh similarity index 100% rename from src/kits/interface/qoca/QcIneqSolverBase.hh rename to src/libs/qoca/QcIneqSolverBase.hh diff --git a/src/kits/interface/qoca/QcIterator.hh b/src/libs/qoca/QcIterator.hh similarity index 100% rename from src/kits/interface/qoca/QcIterator.hh rename to src/libs/qoca/QcIterator.hh diff --git a/src/kits/interface/qoca/QcLinEqColState.hh b/src/libs/qoca/QcLinEqColState.hh similarity index 100% rename from src/kits/interface/qoca/QcLinEqColState.hh rename to src/libs/qoca/QcLinEqColState.hh diff --git a/src/kits/interface/qoca/QcLinEqColStateVector.H b/src/libs/qoca/QcLinEqColStateVector.H similarity index 100% rename from src/kits/interface/qoca/QcLinEqColStateVector.H rename to src/libs/qoca/QcLinEqColStateVector.H diff --git a/src/kits/interface/qoca/QcLinEqColStateVector.cc b/src/libs/qoca/QcLinEqColStateVector.cc similarity index 100% rename from src/kits/interface/qoca/QcLinEqColStateVector.cc rename to src/libs/qoca/QcLinEqColStateVector.cc diff --git a/src/kits/interface/qoca/QcLinEqColStateVector.ch b/src/libs/qoca/QcLinEqColStateVector.ch similarity index 100% rename from src/kits/interface/qoca/QcLinEqColStateVector.ch rename to src/libs/qoca/QcLinEqColStateVector.ch diff --git a/src/kits/interface/qoca/QcLinEqColStateVector.hh b/src/libs/qoca/QcLinEqColStateVector.hh similarity index 100% rename from src/kits/interface/qoca/QcLinEqColStateVector.hh rename to src/libs/qoca/QcLinEqColStateVector.hh diff --git a/src/kits/interface/qoca/QcLinEqRowColStateVector.hh b/src/libs/qoca/QcLinEqRowColStateVector.hh similarity index 100% rename from src/kits/interface/qoca/QcLinEqRowColStateVector.hh rename to src/libs/qoca/QcLinEqRowColStateVector.hh diff --git a/src/kits/interface/qoca/QcLinEqRowState.hh b/src/libs/qoca/QcLinEqRowState.hh similarity index 100% rename from src/kits/interface/qoca/QcLinEqRowState.hh rename to src/libs/qoca/QcLinEqRowState.hh diff --git a/src/kits/interface/qoca/QcLinEqRowStateVector.H b/src/libs/qoca/QcLinEqRowStateVector.H similarity index 100% rename from src/kits/interface/qoca/QcLinEqRowStateVector.H rename to src/libs/qoca/QcLinEqRowStateVector.H diff --git a/src/kits/interface/qoca/QcLinEqRowStateVector.cc b/src/libs/qoca/QcLinEqRowStateVector.cc similarity index 100% rename from src/kits/interface/qoca/QcLinEqRowStateVector.cc rename to src/libs/qoca/QcLinEqRowStateVector.cc diff --git a/src/kits/interface/qoca/QcLinEqRowStateVector.ch b/src/libs/qoca/QcLinEqRowStateVector.ch similarity index 100% rename from src/kits/interface/qoca/QcLinEqRowStateVector.ch rename to src/libs/qoca/QcLinEqRowStateVector.ch diff --git a/src/kits/interface/qoca/QcLinEqRowStateVector.hh b/src/libs/qoca/QcLinEqRowStateVector.hh similarity index 100% rename from src/kits/interface/qoca/QcLinEqRowStateVector.hh rename to src/libs/qoca/QcLinEqRowStateVector.hh diff --git a/src/kits/interface/qoca/QcLinEqSolver.cc b/src/libs/qoca/QcLinEqSolver.cc similarity index 100% rename from src/kits/interface/qoca/QcLinEqSolver.cc rename to src/libs/qoca/QcLinEqSolver.cc diff --git a/src/kits/interface/qoca/QcLinEqSolver.hh b/src/libs/qoca/QcLinEqSolver.hh similarity index 100% rename from src/kits/interface/qoca/QcLinEqSolver.hh rename to src/libs/qoca/QcLinEqSolver.hh diff --git a/src/kits/interface/qoca/QcLinEqSystem.cc b/src/libs/qoca/QcLinEqSystem.cc similarity index 100% rename from src/kits/interface/qoca/QcLinEqSystem.cc rename to src/libs/qoca/QcLinEqSystem.cc diff --git a/src/kits/interface/qoca/QcLinEqSystem.hh b/src/libs/qoca/QcLinEqSystem.hh similarity index 100% rename from src/kits/interface/qoca/QcLinEqSystem.hh rename to src/libs/qoca/QcLinEqSystem.hh diff --git a/src/kits/interface/qoca/QcLinEqTableau.cc b/src/libs/qoca/QcLinEqTableau.cc similarity index 100% rename from src/kits/interface/qoca/QcLinEqTableau.cc rename to src/libs/qoca/QcLinEqTableau.cc diff --git a/src/kits/interface/qoca/QcLinEqTableau.hh b/src/libs/qoca/QcLinEqTableau.hh similarity index 100% rename from src/kits/interface/qoca/QcLinEqTableau.hh rename to src/libs/qoca/QcLinEqTableau.hh diff --git a/src/kits/interface/qoca/QcLinInEqColState.hh b/src/libs/qoca/QcLinInEqColState.hh similarity index 100% rename from src/kits/interface/qoca/QcLinInEqColState.hh rename to src/libs/qoca/QcLinInEqColState.hh diff --git a/src/kits/interface/qoca/QcLinInEqColStateVector.H b/src/libs/qoca/QcLinInEqColStateVector.H similarity index 100% rename from src/kits/interface/qoca/QcLinInEqColStateVector.H rename to src/libs/qoca/QcLinInEqColStateVector.H diff --git a/src/kits/interface/qoca/QcLinInEqColStateVector.cc b/src/libs/qoca/QcLinInEqColStateVector.cc similarity index 100% rename from src/kits/interface/qoca/QcLinInEqColStateVector.cc rename to src/libs/qoca/QcLinInEqColStateVector.cc diff --git a/src/kits/interface/qoca/QcLinInEqColStateVector.ch b/src/libs/qoca/QcLinInEqColStateVector.ch similarity index 100% rename from src/kits/interface/qoca/QcLinInEqColStateVector.ch rename to src/libs/qoca/QcLinInEqColStateVector.ch diff --git a/src/kits/interface/qoca/QcLinInEqColStateVector.hh b/src/libs/qoca/QcLinInEqColStateVector.hh similarity index 100% rename from src/kits/interface/qoca/QcLinInEqColStateVector.hh rename to src/libs/qoca/QcLinInEqColStateVector.hh diff --git a/src/kits/interface/qoca/QcLinInEqRowColStateVector.H b/src/libs/qoca/QcLinInEqRowColStateVector.H similarity index 100% rename from src/kits/interface/qoca/QcLinInEqRowColStateVector.H rename to src/libs/qoca/QcLinInEqRowColStateVector.H diff --git a/src/kits/interface/qoca/QcLinInEqRowColStateVector.cc b/src/libs/qoca/QcLinInEqRowColStateVector.cc similarity index 100% rename from src/kits/interface/qoca/QcLinInEqRowColStateVector.cc rename to src/libs/qoca/QcLinInEqRowColStateVector.cc diff --git a/src/kits/interface/qoca/QcLinInEqRowColStateVector.ch b/src/libs/qoca/QcLinInEqRowColStateVector.ch similarity index 100% rename from src/kits/interface/qoca/QcLinInEqRowColStateVector.ch rename to src/libs/qoca/QcLinInEqRowColStateVector.ch diff --git a/src/kits/interface/qoca/QcLinInEqRowColStateVector.hh b/src/libs/qoca/QcLinInEqRowColStateVector.hh similarity index 100% rename from src/kits/interface/qoca/QcLinInEqRowColStateVector.hh rename to src/libs/qoca/QcLinInEqRowColStateVector.hh diff --git a/src/kits/interface/qoca/QcLinInEqSolver.cc b/src/libs/qoca/QcLinInEqSolver.cc similarity index 100% rename from src/kits/interface/qoca/QcLinInEqSolver.cc rename to src/libs/qoca/QcLinInEqSolver.cc diff --git a/src/kits/interface/qoca/QcLinInEqSolver.hh b/src/libs/qoca/QcLinInEqSolver.hh similarity index 100% rename from src/kits/interface/qoca/QcLinInEqSolver.hh rename to src/libs/qoca/QcLinInEqSolver.hh diff --git a/src/kits/interface/qoca/QcLinInEqSystem.cc b/src/libs/qoca/QcLinInEqSystem.cc similarity index 100% rename from src/kits/interface/qoca/QcLinInEqSystem.cc rename to src/libs/qoca/QcLinInEqSystem.cc diff --git a/src/kits/interface/qoca/QcLinInEqSystem.hh b/src/libs/qoca/QcLinInEqSystem.hh similarity index 100% rename from src/kits/interface/qoca/QcLinInEqSystem.hh rename to src/libs/qoca/QcLinInEqSystem.hh diff --git a/src/kits/interface/qoca/QcLinInEqTableau.cc b/src/libs/qoca/QcLinInEqTableau.cc similarity index 100% rename from src/kits/interface/qoca/QcLinInEqTableau.cc rename to src/libs/qoca/QcLinInEqTableau.cc diff --git a/src/kits/interface/qoca/QcLinInEqTableau.hh b/src/libs/qoca/QcLinInEqTableau.hh similarity index 100% rename from src/kits/interface/qoca/QcLinInEqTableau.hh rename to src/libs/qoca/QcLinInEqTableau.hh diff --git a/src/kits/interface/qoca/QcLinPoly.cc b/src/libs/qoca/QcLinPoly.cc similarity index 100% rename from src/kits/interface/qoca/QcLinPoly.cc rename to src/libs/qoca/QcLinPoly.cc diff --git a/src/kits/interface/qoca/QcLinPoly.hh b/src/libs/qoca/QcLinPoly.hh similarity index 100% rename from src/kits/interface/qoca/QcLinPoly.hh rename to src/libs/qoca/QcLinPoly.hh diff --git a/src/kits/interface/qoca/QcLinPolyTerm.hh b/src/libs/qoca/QcLinPolyTerm.hh similarity index 100% rename from src/kits/interface/qoca/QcLinPolyTerm.hh rename to src/libs/qoca/QcLinPolyTerm.hh diff --git a/src/kits/interface/qoca/QcMatrix.hh b/src/libs/qoca/QcMatrix.hh similarity index 100% rename from src/kits/interface/qoca/QcMatrix.hh rename to src/libs/qoca/QcMatrix.hh diff --git a/src/kits/interface/qoca/QcMatrixIterator.hh b/src/libs/qoca/QcMatrixIterator.hh similarity index 100% rename from src/kits/interface/qoca/QcMatrixIterator.hh rename to src/libs/qoca/QcMatrixIterator.hh diff --git a/src/kits/interface/qoca/QcNlpSolver.H b/src/libs/qoca/QcNlpSolver.H similarity index 100% rename from src/kits/interface/qoca/QcNlpSolver.H rename to src/libs/qoca/QcNlpSolver.H diff --git a/src/kits/interface/qoca/QcNlpSolver.cc b/src/libs/qoca/QcNlpSolver.cc similarity index 100% rename from src/kits/interface/qoca/QcNlpSolver.cc rename to src/libs/qoca/QcNlpSolver.cc diff --git a/src/kits/interface/qoca/QcNlpSolver.ch b/src/libs/qoca/QcNlpSolver.ch similarity index 100% rename from src/kits/interface/qoca/QcNlpSolver.ch rename to src/libs/qoca/QcNlpSolver.ch diff --git a/src/kits/interface/qoca/QcNlpSolver.hh b/src/libs/qoca/QcNlpSolver.hh similarity index 100% rename from src/kits/interface/qoca/QcNlpSolver.hh rename to src/libs/qoca/QcNlpSolver.hh diff --git a/src/kits/interface/qoca/QcNomadicFloatRep.H b/src/libs/qoca/QcNomadicFloatRep.H similarity index 100% rename from src/kits/interface/qoca/QcNomadicFloatRep.H rename to src/libs/qoca/QcNomadicFloatRep.H diff --git a/src/kits/interface/qoca/QcNomadicFloatRep.cc b/src/libs/qoca/QcNomadicFloatRep.cc similarity index 100% rename from src/kits/interface/qoca/QcNomadicFloatRep.cc rename to src/libs/qoca/QcNomadicFloatRep.cc diff --git a/src/kits/interface/qoca/QcNomadicFloatRep.ch b/src/libs/qoca/QcNomadicFloatRep.ch similarity index 100% rename from src/kits/interface/qoca/QcNomadicFloatRep.ch rename to src/libs/qoca/QcNomadicFloatRep.ch diff --git a/src/kits/interface/qoca/QcNomadicFloatRep.hh b/src/libs/qoca/QcNomadicFloatRep.hh similarity index 100% rename from src/kits/interface/qoca/QcNomadicFloatRep.hh rename to src/libs/qoca/QcNomadicFloatRep.hh diff --git a/src/kits/interface/qoca/QcNullIterator.H b/src/libs/qoca/QcNullIterator.H similarity index 100% rename from src/kits/interface/qoca/QcNullIterator.H rename to src/libs/qoca/QcNullIterator.H diff --git a/src/kits/interface/qoca/QcNullIterator.ch b/src/libs/qoca/QcNullIterator.ch similarity index 100% rename from src/kits/interface/qoca/QcNullIterator.ch rename to src/libs/qoca/QcNullIterator.ch diff --git a/src/kits/interface/qoca/QcNullableConstraint.hh b/src/libs/qoca/QcNullableConstraint.hh similarity index 100% rename from src/kits/interface/qoca/QcNullableConstraint.hh rename to src/libs/qoca/QcNullableConstraint.hh diff --git a/src/kits/interface/qoca/QcNullableElement.hh b/src/libs/qoca/QcNullableElement.hh similarity index 100% rename from src/kits/interface/qoca/QcNullableElement.hh rename to src/libs/qoca/QcNullableElement.hh diff --git a/src/kits/interface/qoca/QcNullableFloat.hh b/src/libs/qoca/QcNullableFloat.hh similarity index 100% rename from src/kits/interface/qoca/QcNullableFloat.hh rename to src/libs/qoca/QcNullableFloat.hh diff --git a/src/kits/interface/qoca/QcOrigRowState.hh b/src/libs/qoca/QcOrigRowState.hh similarity index 100% rename from src/kits/interface/qoca/QcOrigRowState.hh rename to src/libs/qoca/QcOrigRowState.hh diff --git a/src/kits/interface/qoca/QcOrigRowStateVector.H b/src/libs/qoca/QcOrigRowStateVector.H similarity index 100% rename from src/kits/interface/qoca/QcOrigRowStateVector.H rename to src/libs/qoca/QcOrigRowStateVector.H diff --git a/src/kits/interface/qoca/QcOrigRowStateVector.cc b/src/libs/qoca/QcOrigRowStateVector.cc similarity index 100% rename from src/kits/interface/qoca/QcOrigRowStateVector.cc rename to src/libs/qoca/QcOrigRowStateVector.cc diff --git a/src/kits/interface/qoca/QcOrigRowStateVector.ch b/src/libs/qoca/QcOrigRowStateVector.ch similarity index 100% rename from src/kits/interface/qoca/QcOrigRowStateVector.ch rename to src/libs/qoca/QcOrigRowStateVector.ch diff --git a/src/kits/interface/qoca/QcOrigRowStateVector.hh b/src/libs/qoca/QcOrigRowStateVector.hh similarity index 100% rename from src/kits/interface/qoca/QcOrigRowStateVector.hh rename to src/libs/qoca/QcOrigRowStateVector.hh diff --git a/src/kits/interface/qoca/QcParamVarIndexIterator.hh b/src/libs/qoca/QcParamVarIndexIterator.hh similarity index 100% rename from src/kits/interface/qoca/QcParamVarIndexIterator.hh rename to src/libs/qoca/QcParamVarIndexIterator.hh diff --git a/src/kits/interface/qoca/QcQuasiColState.hh b/src/libs/qoca/QcQuasiColState.hh similarity index 100% rename from src/kits/interface/qoca/QcQuasiColState.hh rename to src/libs/qoca/QcQuasiColState.hh diff --git a/src/kits/interface/qoca/QcQuasiColStateVector.hh b/src/libs/qoca/QcQuasiColStateVector.hh similarity index 100% rename from src/kits/interface/qoca/QcQuasiColStateVector.hh rename to src/libs/qoca/QcQuasiColStateVector.hh diff --git a/src/kits/interface/qoca/QcQuasiRowColStateVector.H b/src/libs/qoca/QcQuasiRowColStateVector.H similarity index 100% rename from src/kits/interface/qoca/QcQuasiRowColStateVector.H rename to src/libs/qoca/QcQuasiRowColStateVector.H diff --git a/src/kits/interface/qoca/QcQuasiRowColStateVector.cc b/src/libs/qoca/QcQuasiRowColStateVector.cc similarity index 100% rename from src/kits/interface/qoca/QcQuasiRowColStateVector.cc rename to src/libs/qoca/QcQuasiRowColStateVector.cc diff --git a/src/kits/interface/qoca/QcQuasiRowColStateVector.ch b/src/libs/qoca/QcQuasiRowColStateVector.ch similarity index 100% rename from src/kits/interface/qoca/QcQuasiRowColStateVector.ch rename to src/libs/qoca/QcQuasiRowColStateVector.ch diff --git a/src/kits/interface/qoca/QcQuasiRowColStateVector.hh b/src/libs/qoca/QcQuasiRowColStateVector.hh similarity index 100% rename from src/kits/interface/qoca/QcQuasiRowColStateVector.hh rename to src/libs/qoca/QcQuasiRowColStateVector.hh diff --git a/src/kits/interface/qoca/QcQuasiRowState.hh b/src/libs/qoca/QcQuasiRowState.hh similarity index 100% rename from src/kits/interface/qoca/QcQuasiRowState.hh rename to src/libs/qoca/QcQuasiRowState.hh diff --git a/src/kits/interface/qoca/QcQuasiRowStateVector.H b/src/libs/qoca/QcQuasiRowStateVector.H similarity index 100% rename from src/kits/interface/qoca/QcQuasiRowStateVector.H rename to src/libs/qoca/QcQuasiRowStateVector.H diff --git a/src/kits/interface/qoca/QcQuasiRowStateVector.cc b/src/libs/qoca/QcQuasiRowStateVector.cc similarity index 100% rename from src/kits/interface/qoca/QcQuasiRowStateVector.cc rename to src/libs/qoca/QcQuasiRowStateVector.cc diff --git a/src/kits/interface/qoca/QcQuasiRowStateVector.ch b/src/libs/qoca/QcQuasiRowStateVector.ch similarity index 100% rename from src/kits/interface/qoca/QcQuasiRowStateVector.ch rename to src/libs/qoca/QcQuasiRowStateVector.ch diff --git a/src/kits/interface/qoca/QcQuasiRowStateVector.hh b/src/libs/qoca/QcQuasiRowStateVector.hh similarity index 100% rename from src/kits/interface/qoca/QcQuasiRowStateVector.hh rename to src/libs/qoca/QcQuasiRowStateVector.hh diff --git a/src/kits/interface/qoca/QcRowAdaptor.hh b/src/libs/qoca/QcRowAdaptor.hh similarity index 100% rename from src/kits/interface/qoca/QcRowAdaptor.hh rename to src/libs/qoca/QcRowAdaptor.hh diff --git a/src/kits/interface/qoca/QcSolvedFormMatrix.hh b/src/libs/qoca/QcSolvedFormMatrix.hh similarity index 100% rename from src/kits/interface/qoca/QcSolvedFormMatrix.hh rename to src/libs/qoca/QcSolvedFormMatrix.hh diff --git a/src/kits/interface/qoca/QcSolver.H b/src/libs/qoca/QcSolver.H similarity index 100% rename from src/kits/interface/qoca/QcSolver.H rename to src/libs/qoca/QcSolver.H diff --git a/src/kits/interface/qoca/QcSolver.cc b/src/libs/qoca/QcSolver.cc similarity index 100% rename from src/kits/interface/qoca/QcSolver.cc rename to src/libs/qoca/QcSolver.cc diff --git a/src/kits/interface/qoca/QcSolver.ch b/src/libs/qoca/QcSolver.ch similarity index 100% rename from src/kits/interface/qoca/QcSolver.ch rename to src/libs/qoca/QcSolver.ch diff --git a/src/kits/interface/qoca/QcSolver.hh b/src/libs/qoca/QcSolver.hh similarity index 100% rename from src/kits/interface/qoca/QcSolver.hh rename to src/libs/qoca/QcSolver.hh diff --git a/src/kits/interface/qoca/QcSparseCoeff.hh b/src/libs/qoca/QcSparseCoeff.hh similarity index 100% rename from src/kits/interface/qoca/QcSparseCoeff.hh rename to src/libs/qoca/QcSparseCoeff.hh diff --git a/src/kits/interface/qoca/QcSparseMatrix.cc b/src/libs/qoca/QcSparseMatrix.cc similarity index 100% rename from src/kits/interface/qoca/QcSparseMatrix.cc rename to src/libs/qoca/QcSparseMatrix.cc diff --git a/src/kits/interface/qoca/QcSparseMatrix.hh b/src/libs/qoca/QcSparseMatrix.hh similarity index 100% rename from src/kits/interface/qoca/QcSparseMatrix.hh rename to src/libs/qoca/QcSparseMatrix.hh diff --git a/src/kits/interface/qoca/QcSparseMatrixColIterator.hh b/src/libs/qoca/QcSparseMatrixColIterator.hh similarity index 100% rename from src/kits/interface/qoca/QcSparseMatrixColIterator.hh rename to src/libs/qoca/QcSparseMatrixColIterator.hh diff --git a/src/kits/interface/qoca/QcSparseMatrixElement.hh b/src/libs/qoca/QcSparseMatrixElement.hh similarity index 100% rename from src/kits/interface/qoca/QcSparseMatrixElement.hh rename to src/libs/qoca/QcSparseMatrixElement.hh diff --git a/src/kits/interface/qoca/QcSparseMatrixIterator.hh b/src/libs/qoca/QcSparseMatrixIterator.hh similarity index 100% rename from src/kits/interface/qoca/QcSparseMatrixIterator.hh rename to src/libs/qoca/QcSparseMatrixIterator.hh diff --git a/src/kits/interface/qoca/QcSparseMatrixRowIterator.hh b/src/libs/qoca/QcSparseMatrixRowIterator.hh similarity index 100% rename from src/kits/interface/qoca/QcSparseMatrixRowIterator.hh rename to src/libs/qoca/QcSparseMatrixRowIterator.hh diff --git a/src/kits/interface/qoca/QcState.hh b/src/libs/qoca/QcState.hh similarity index 100% rename from src/kits/interface/qoca/QcState.hh rename to src/libs/qoca/QcState.hh diff --git a/src/kits/interface/qoca/QcStateVector.hh b/src/libs/qoca/QcStateVector.hh similarity index 100% rename from src/kits/interface/qoca/QcStateVector.hh rename to src/libs/qoca/QcStateVector.hh diff --git a/src/kits/interface/qoca/QcStructVarIndexIterator.hh b/src/libs/qoca/QcStructVarIndexIterator.hh similarity index 100% rename from src/kits/interface/qoca/QcStructVarIndexIterator.hh rename to src/libs/qoca/QcStructVarIndexIterator.hh diff --git a/src/kits/interface/qoca/QcTableau.hh b/src/libs/qoca/QcTableau.hh similarity index 100% rename from src/kits/interface/qoca/QcTableau.hh rename to src/libs/qoca/QcTableau.hh diff --git a/src/kits/interface/qoca/QcTableauColIterator.hh b/src/libs/qoca/QcTableauColIterator.hh similarity index 100% rename from src/kits/interface/qoca/QcTableauColIterator.hh rename to src/libs/qoca/QcTableauColIterator.hh diff --git a/src/kits/interface/qoca/QcTableauRowIterator.hh b/src/libs/qoca/QcTableauRowIterator.hh similarity index 100% rename from src/kits/interface/qoca/QcTableauRowIterator.hh rename to src/libs/qoca/QcTableauRowIterator.hh diff --git a/src/kits/interface/qoca/QcUnsortedListSet.hh b/src/libs/qoca/QcUnsortedListSet.hh similarity index 100% rename from src/kits/interface/qoca/QcUnsortedListSet.hh rename to src/libs/qoca/QcUnsortedListSet.hh diff --git a/src/kits/interface/qoca/QcUtility.cc b/src/libs/qoca/QcUtility.cc similarity index 100% rename from src/kits/interface/qoca/QcUtility.cc rename to src/libs/qoca/QcUtility.cc diff --git a/src/kits/interface/qoca/QcUtility.hh b/src/libs/qoca/QcUtility.hh similarity index 100% rename from src/kits/interface/qoca/QcUtility.hh rename to src/libs/qoca/QcUtility.hh diff --git a/src/kits/interface/qoca/QcVarStow.H b/src/libs/qoca/QcVarStow.H similarity index 100% rename from src/kits/interface/qoca/QcVarStow.H rename to src/libs/qoca/QcVarStow.H diff --git a/src/kits/interface/qoca/QcVarStow.cc b/src/libs/qoca/QcVarStow.cc similarity index 100% rename from src/kits/interface/qoca/QcVarStow.cc rename to src/libs/qoca/QcVarStow.cc diff --git a/src/kits/interface/qoca/QcVarStow.ch b/src/libs/qoca/QcVarStow.ch similarity index 100% rename from src/kits/interface/qoca/QcVarStow.ch rename to src/libs/qoca/QcVarStow.ch diff --git a/src/kits/interface/qoca/QcVarStow.hh b/src/libs/qoca/QcVarStow.hh similarity index 100% rename from src/kits/interface/qoca/QcVarStow.hh rename to src/libs/qoca/QcVarStow.hh diff --git a/src/kits/interface/qoca/QcVariableBiMap.H b/src/libs/qoca/QcVariableBiMap.H similarity index 100% rename from src/kits/interface/qoca/QcVariableBiMap.H rename to src/libs/qoca/QcVariableBiMap.H diff --git a/src/kits/interface/qoca/QcVariableBiMap.cc b/src/libs/qoca/QcVariableBiMap.cc similarity index 100% rename from src/kits/interface/qoca/QcVariableBiMap.cc rename to src/libs/qoca/QcVariableBiMap.cc diff --git a/src/kits/interface/qoca/QcVariableBiMap.ch b/src/libs/qoca/QcVariableBiMap.ch similarity index 100% rename from src/kits/interface/qoca/QcVariableBiMap.ch rename to src/libs/qoca/QcVariableBiMap.ch diff --git a/src/kits/interface/qoca/QcVariableBiMap.hh b/src/libs/qoca/QcVariableBiMap.hh similarity index 100% rename from src/kits/interface/qoca/QcVariableBiMap.hh rename to src/libs/qoca/QcVariableBiMap.hh diff --git a/src/kits/interface/qoca/QcVariableIndexIterator.hh b/src/libs/qoca/QcVariableIndexIterator.hh similarity index 100% rename from src/kits/interface/qoca/QcVariableIndexIterator.hh rename to src/libs/qoca/QcVariableIndexIterator.hh diff --git a/src/kits/interface/qoca/arith.H b/src/libs/qoca/arith.H similarity index 100% rename from src/kits/interface/qoca/arith.H rename to src/libs/qoca/arith.H diff --git a/src/kits/interface/qoca/arith.ch b/src/libs/qoca/arith.ch similarity index 100% rename from src/kits/interface/qoca/arith.ch rename to src/libs/qoca/arith.ch