mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-08 18:40:55 +03:00
Implementation of the new class *BOPAlgo_MakePeriodic* for making the shape periodic in 3D space. Periodicity of the shape means that the shape can be repeated in any periodic direction any number of times without creation of the new geometry or splits. The idea of this algorithm is to make the shape look similarly on the opposite sides or on the period bounds of periodic directions. It does not mean that the opposite sides of the shape will be mirrored. It just means the the opposite sides of the shape should be split by each other and obtain the same geometry on opposite sides. Such approach will allow repeating the shape, i.e. translating the copy of a shape on the period, without creation of new geometry because there will be no coinciding parts of different dimension. Draw commands for the new algorithm: * makeperiodic - makes the shape periodic in required directions; * repeatshape - repeats the periodic shape in requested periodic direction; * periodictwins - returns the periodic twins for the shape; * clearrepetitions - clears all previous repetitions of the periodic shape. Documentation & test cases for the algorithm.
79 lines
2.4 KiB
C++
79 lines
2.4 KiB
C++
// Created on: 2000-05-18
|
|
// Created by: Peter KURNEV
|
|
// Copyright (c) 2000-2014 OPEN CASCADE SAS
|
|
//
|
|
// This file is part of Open CASCADE Technology software library.
|
|
//
|
|
// This library is free software; you can redistribute it and/or modify it under
|
|
// the terms of the GNU Lesser General Public License version 2.1 as published
|
|
// by the Free Software Foundation, with special exception defined in the file
|
|
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
|
// distribution for complete text of the license and disclaimer of any warranty.
|
|
//
|
|
// Alternatively, this file may be used under the terms of Open CASCADE
|
|
// commercial license or contractual agreement.
|
|
|
|
#ifndef _BOPTest_HeaderFile
|
|
#define _BOPTest_HeaderFile
|
|
|
|
#include <Standard.hxx>
|
|
#include <Standard_DefineAlloc.hxx>
|
|
#include <Standard_Handle.hxx>
|
|
|
|
#include <Draw_Interpretor.hxx>
|
|
class BOPTest_Objects;
|
|
class BOPTest_DrawableShape;
|
|
class Message_Report;
|
|
|
|
class BOPTest
|
|
{
|
|
public:
|
|
|
|
DEFINE_STANDARD_ALLOC
|
|
|
|
|
|
Standard_EXPORT static void AllCommands (Draw_Interpretor& aDI);
|
|
|
|
Standard_EXPORT static void BOPCommands (Draw_Interpretor& aDI);
|
|
|
|
Standard_EXPORT static void CheckCommands (Draw_Interpretor& aDI);
|
|
|
|
Standard_EXPORT static void TolerCommands (Draw_Interpretor& aDI);
|
|
|
|
Standard_EXPORT static void LowCommands (Draw_Interpretor& aDI);
|
|
|
|
Standard_EXPORT static void ObjCommands (Draw_Interpretor& aDI);
|
|
|
|
Standard_EXPORT static void PartitionCommands (Draw_Interpretor& aDI);
|
|
|
|
Standard_EXPORT static void APICommands (Draw_Interpretor& aDI);
|
|
|
|
Standard_EXPORT static void OptionCommands (Draw_Interpretor& aDI);
|
|
|
|
Standard_EXPORT static void Factory (Draw_Interpretor& aDI);
|
|
|
|
Standard_EXPORT static void DebugCommands (Draw_Interpretor& aDI);
|
|
|
|
Standard_EXPORT static void CellsCommands (Draw_Interpretor& aDI);
|
|
|
|
Standard_EXPORT static void UtilityCommands (Draw_Interpretor& aDI);
|
|
|
|
Standard_EXPORT static void RemoveFeaturesCommands (Draw_Interpretor& aDI);
|
|
|
|
Standard_EXPORT static void PeriodicityCommands (Draw_Interpretor& aDI);
|
|
|
|
//! Prints errors and warnings if any and draws attached shapes
|
|
//! if flag BOPTest_Objects::DrawWarnShapes() is set
|
|
Standard_EXPORT static void ReportAlerts (const Handle(Message_Report)& theReport);
|
|
|
|
protected:
|
|
|
|
private:
|
|
|
|
friend class BOPTest_Objects;
|
|
friend class BOPTest_DrawableShape;
|
|
|
|
};
|
|
|
|
#endif // _BOPTest_HeaderFile
|