mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0024002: Overall code and build procedure refactoring -- automatic
Automatic upgrade of OCCT code by command "occt_upgrade . -nocdl": - WOK-generated header files from inc and sources from drv are moved to src - CDL files removed - All packages are converted to nocdlpack
This commit is contained in:
@@ -1,2 +1,10 @@
|
||||
SelectBasics.cxx
|
||||
SelectBasics.hxx
|
||||
SelectBasics_EntityOwner.cxx
|
||||
SelectBasics_EntityOwner.hxx
|
||||
SelectBasics_EntityOwner.lxx
|
||||
SelectBasics_PickResult.hxx
|
||||
SelectBasics_SelectingVolumeManager.hxx
|
||||
SelectBasics_SensitiveEntity.cxx
|
||||
SelectBasics_SensitiveEntity.hxx
|
||||
SelectBasics_SensitiveEntity.lxx
|
||||
|
@@ -1,50 +0,0 @@
|
||||
-- Created on: 1995-01-23
|
||||
-- Created by: Mister rmi
|
||||
-- Copyright (c) 1995-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-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.
|
||||
|
||||
package SelectBasics
|
||||
|
||||
---Purpose: interface class for dynamic selection
|
||||
|
||||
uses
|
||||
Bnd,
|
||||
TCollection,
|
||||
TColStd,
|
||||
Standard,
|
||||
MMgt,
|
||||
gp,
|
||||
TColgp,
|
||||
TopLoc,
|
||||
Select3D
|
||||
|
||||
is
|
||||
|
||||
|
||||
deferred class EntityOwner;
|
||||
|
||||
deferred class SensitiveEntity;
|
||||
|
||||
imported PickResult;
|
||||
---Purpose: Structure to provide all-in-one result of selection of sensitive
|
||||
-- for "Matches" method of SelectBasics_SensitiveEntity.
|
||||
|
||||
imported SelectingVolumeManager;
|
||||
|
||||
MaxOwnerPriority returns Integer;
|
||||
|
||||
MinOwnerPriority returns Integer;
|
||||
|
||||
|
||||
end SelectBasics;
|
@@ -14,8 +14,8 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <SelectBasics.ixx>
|
||||
|
||||
#include <SelectBasics.hxx>
|
||||
|
||||
Standard_Integer SelectBasics::MaxOwnerPriority()
|
||||
{return 9;}
|
||||
|
68
src/SelectBasics/SelectBasics.hxx
Normal file
68
src/SelectBasics/SelectBasics.hxx
Normal file
@@ -0,0 +1,68 @@
|
||||
// Created on: 1995-01-23
|
||||
// Created by: Mister rmi
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-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 _SelectBasics_HeaderFile
|
||||
#define _SelectBasics_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Standard_Integer.hxx>
|
||||
class SelectBasics_EntityOwner;
|
||||
class SelectBasics_SensitiveEntity;
|
||||
|
||||
|
||||
//! interface class for dynamic selection
|
||||
class SelectBasics
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Structure to provide all-in-one result of selection of sensitive
|
||||
//! for "Matches" method of SelectBasics_SensitiveEntity.
|
||||
Standard_EXPORT static Standard_Integer MaxOwnerPriority();
|
||||
|
||||
Standard_EXPORT static Standard_Integer MinOwnerPriority();
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
friend class SelectBasics_EntityOwner;
|
||||
friend class SelectBasics_SensitiveEntity;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _SelectBasics_HeaderFile
|
@@ -1,73 +0,0 @@
|
||||
-- Created on: 1995-02-09
|
||||
-- Created by: Mister rmi
|
||||
-- Copyright (c) 1995-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-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.
|
||||
|
||||
deferred class EntityOwner from SelectBasics inherits TShared from MMgt
|
||||
|
||||
---Purpose: defines an abstract owner of sensitive primitives.
|
||||
-- Owners are typically used to establish a connection
|
||||
-- between sensitive entities and high-level objects (e.g. presentations).
|
||||
--
|
||||
-- Priority : It's possible to give a priority:
|
||||
-- the scale : [0-9] ; the default priority is 0
|
||||
-- it allows the predominance of one selected object upon
|
||||
-- another one if many objects are selected at the same time
|
||||
--
|
||||
--
|
||||
-- example : Selection of shapes : the owners are
|
||||
-- selectable objects (presentations)
|
||||
--
|
||||
-- a user can give vertex priority [3], edges [2] faces [1] shape [0],
|
||||
-- so that if during selection one vertex one edge and one face are
|
||||
-- simultaneously detected, the vertex will only be hilighted.
|
||||
|
||||
|
||||
uses
|
||||
Location from TopLoc
|
||||
|
||||
is
|
||||
|
||||
Initialize (aPriority: Integer = 0) ;
|
||||
---Level: Public
|
||||
|
||||
Set (me:mutable; aPriority :Integer) is static;
|
||||
---Level: Public
|
||||
---Purpose: sets the selectable priority of the owner
|
||||
---C++: inline
|
||||
|
||||
Priority(me) returns Integer is static;
|
||||
---Level: Public
|
||||
---C++: inline
|
||||
|
||||
-- Deferred methods dealing with locations.
|
||||
-- Used in Select3D package.
|
||||
HasLocation(me) returns Boolean from Standard is deferred;
|
||||
|
||||
SetLocation(me:mutable; aLoc : Location from TopLoc) is deferred;
|
||||
|
||||
ResetLocation(me:mutable) is deferred;
|
||||
|
||||
Location(me) returns Location from TopLoc is deferred;
|
||||
|
||||
|
||||
|
||||
fields
|
||||
|
||||
mypriority : Integer is protected;
|
||||
|
||||
end EntityOwner;
|
||||
|
||||
|
||||
|
@@ -14,8 +14,10 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <SelectBasics_EntityOwner.ixx>
|
||||
|
||||
#include <SelectBasics_EntityOwner.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
|
||||
//========================================
|
||||
// Function : Create
|
||||
|
93
src/SelectBasics/SelectBasics_EntityOwner.hxx
Normal file
93
src/SelectBasics/SelectBasics_EntityOwner.hxx
Normal file
@@ -0,0 +1,93 @@
|
||||
// Created on: 1995-02-09
|
||||
// Created by: Mister rmi
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-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 _SelectBasics_EntityOwner_HeaderFile
|
||||
#define _SelectBasics_EntityOwner_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <MMgt_TShared.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class TopLoc_Location;
|
||||
|
||||
|
||||
class SelectBasics_EntityOwner;
|
||||
DEFINE_STANDARD_HANDLE(SelectBasics_EntityOwner, MMgt_TShared)
|
||||
|
||||
//! defines an abstract owner of sensitive primitives.
|
||||
//! Owners are typically used to establish a connection
|
||||
//! between sensitive entities and high-level objects (e.g. presentations).
|
||||
//!
|
||||
//! Priority : It's possible to give a priority:
|
||||
//! the scale : [0-9] ; the default priority is 0
|
||||
//! it allows the predominance of one selected object upon
|
||||
//! another one if many objects are selected at the same time
|
||||
//!
|
||||
//! example : Selection of shapes : the owners are
|
||||
//! selectable objects (presentations)
|
||||
//!
|
||||
//! a user can give vertex priority [3], edges [2] faces [1] shape [0],
|
||||
//! so that if during selection one vertex one edge and one face are
|
||||
//! simultaneously detected, the vertex will only be hilighted.
|
||||
class SelectBasics_EntityOwner : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
//! sets the selectable priority of the owner
|
||||
void Set (const Standard_Integer aPriority);
|
||||
|
||||
Standard_Integer Priority() const;
|
||||
|
||||
Standard_EXPORT virtual Standard_Boolean HasLocation() const = 0;
|
||||
|
||||
Standard_EXPORT virtual void SetLocation (const TopLoc_Location& aLoc) = 0;
|
||||
|
||||
Standard_EXPORT virtual void ResetLocation() = 0;
|
||||
|
||||
Standard_EXPORT virtual TopLoc_Location Location() const = 0;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(SelectBasics_EntityOwner,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
Standard_EXPORT SelectBasics_EntityOwner(const Standard_Integer aPriority = 0);
|
||||
|
||||
Standard_Integer mypriority;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
#include <SelectBasics_EntityOwner.lxx>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _SelectBasics_EntityOwner_HeaderFile
|
@@ -1,92 +0,0 @@
|
||||
-- Created on: 1995-01-23
|
||||
-- Created by: Mister rmi
|
||||
-- Copyright (c) 1995-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-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.
|
||||
|
||||
deferred class SensitiveEntity from SelectBasics inherits TShared from MMgt
|
||||
|
||||
---Purpose: root class; the inheriting classes will be able to give
|
||||
-- sensitive Areas for the dynamic selection algorithms
|
||||
|
||||
uses
|
||||
EntityOwner,
|
||||
BndBox3d from Select3D,
|
||||
PickResult,
|
||||
SelectingVolumeManager
|
||||
|
||||
is
|
||||
|
||||
|
||||
Initialize (theOwnerId : EntityOwner;
|
||||
theSensFactor : Real from Standard = 2.0);
|
||||
|
||||
Set (me : mutable;
|
||||
theOwnerId : EntityOwner)
|
||||
is virtual;
|
||||
---Level: Public
|
||||
---Purpose: Sets owner of the entity
|
||||
|
||||
|
||||
OwnerId (me)
|
||||
returns any EntityOwner
|
||||
is static;
|
||||
---Level: Public
|
||||
---C++: return const&
|
||||
---Purpose: Returns pointer to owner of the entity
|
||||
|
||||
|
||||
Matches (me : mutable;
|
||||
theMgr : out SelectingVolumeManager from SelectBasics;
|
||||
thePickResult : out PickResult from SelectBasics)
|
||||
returns Boolean is deferred;
|
||||
---Level: Public
|
||||
---Purpose: Checks whether the sensitive entity is overlapped by
|
||||
-- current selecting volume
|
||||
|
||||
SensitivityFactor (me)
|
||||
returns Real from Standard;
|
||||
---C++: inline
|
||||
---Purpose: allows a better sensitivity for
|
||||
-- a specific entity in selection algorithms
|
||||
-- useful for small sized entities.
|
||||
|
||||
NbSubElements (me : mutable) returns Integer from Standard
|
||||
is deferred;
|
||||
---Purpose: Returns the number of sub-entities or elements in
|
||||
-- sensitive entity. Is used to determine if entity is
|
||||
-- complex and needs to pre-build BVH at the creation of
|
||||
-- sensitive entity step or is light-weighted so the tree
|
||||
-- can be build on demand with unnoticeable delay
|
||||
|
||||
BoundingBox (me : mutable) returns BndBox3d from Select3D is deferred;
|
||||
---Purpose: Returns bounding box of sensitive entity
|
||||
|
||||
BVH (me : mutable) is deferred;
|
||||
---Purpose: Builds BVH tree for sensitive if it is needed
|
||||
|
||||
Clear (me : mutable) is deferred;
|
||||
---Purpose: Clears up all the resources and memory allocated
|
||||
|
||||
SetSensitivityFactor (me : mutable;
|
||||
theSensFactor :Real from Standard)
|
||||
is protected;
|
||||
---C++: inline
|
||||
---Purpose: Allows to manage the sensitivity of the entity
|
||||
|
||||
|
||||
fields
|
||||
|
||||
myOwnerId : EntityOwner from SelectBasics is protected;
|
||||
mySFactor : Real from Standard;
|
||||
end SensitiveEntity;
|
@@ -14,7 +14,10 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <SelectBasics_SensitiveEntity.ixx>
|
||||
|
||||
#include <SelectBasics_EntityOwner.hxx>
|
||||
#include <SelectBasics_SensitiveEntity.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
#include <TColStd_HArray1OfBoolean.hxx>
|
||||
|
||||
//=======================================================================
|
||||
|
106
src/SelectBasics/SelectBasics_SensitiveEntity.hxx
Normal file
106
src/SelectBasics/SelectBasics_SensitiveEntity.hxx
Normal file
@@ -0,0 +1,106 @@
|
||||
// Created on: 1995-01-23
|
||||
// Created by: Mister rmi
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-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 _SelectBasics_SensitiveEntity_HeaderFile
|
||||
#define _SelectBasics_SensitiveEntity_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <Standard_Real.hxx>
|
||||
#include <MMgt_TShared.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <SelectBasics_SelectingVolumeManager.hxx>
|
||||
#include <SelectBasics_PickResult.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <Select3D_BndBox3d.hxx>
|
||||
class SelectBasics_EntityOwner;
|
||||
|
||||
|
||||
class SelectBasics_SensitiveEntity;
|
||||
DEFINE_STANDARD_HANDLE(SelectBasics_SensitiveEntity, MMgt_TShared)
|
||||
|
||||
//! root class; the inheriting classes will be able to give
|
||||
//! sensitive Areas for the dynamic selection algorithms
|
||||
class SelectBasics_SensitiveEntity : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
//! Sets owner of the entity
|
||||
Standard_EXPORT virtual void Set (const Handle(SelectBasics_EntityOwner)& theOwnerId);
|
||||
|
||||
//! Returns pointer to owner of the entity
|
||||
Standard_EXPORT const Handle(SelectBasics_EntityOwner)& OwnerId() const;
|
||||
|
||||
//! Checks whether the sensitive entity is overlapped by
|
||||
//! current selecting volume
|
||||
Standard_EXPORT virtual Standard_Boolean Matches (SelectBasics_SelectingVolumeManager& theMgr, SelectBasics_PickResult& thePickResult) = 0;
|
||||
|
||||
//! allows a better sensitivity for
|
||||
//! a specific entity in selection algorithms
|
||||
//! useful for small sized entities.
|
||||
Standard_Real SensitivityFactor() const;
|
||||
|
||||
//! Returns the number of sub-entities or elements in
|
||||
//! sensitive entity. Is used to determine if entity is
|
||||
//! complex and needs to pre-build BVH at the creation of
|
||||
//! sensitive entity step or is light-weighted so the tree
|
||||
//! can be build on demand with unnoticeable delay
|
||||
Standard_EXPORT virtual Standard_Integer NbSubElements() = 0;
|
||||
|
||||
//! Returns bounding box of sensitive entity
|
||||
Standard_EXPORT virtual Select3D_BndBox3d BoundingBox() = 0;
|
||||
|
||||
//! Builds BVH tree for sensitive if it is needed
|
||||
Standard_EXPORT virtual void BVH() = 0;
|
||||
|
||||
//! Clears up all the resources and memory allocated
|
||||
Standard_EXPORT virtual void Clear() = 0;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTI(SelectBasics_SensitiveEntity,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
Standard_EXPORT SelectBasics_SensitiveEntity(const Handle(SelectBasics_EntityOwner)& theOwnerId, const Standard_Real theSensFactor = 2.0);
|
||||
|
||||
//! Allows to manage the sensitivity of the entity
|
||||
void SetSensitivityFactor (const Standard_Real theSensFactor);
|
||||
|
||||
Handle(SelectBasics_EntityOwner) myOwnerId;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Standard_Real mySFactor;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
#include <SelectBasics_SensitiveEntity.lxx>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _SelectBasics_SensitiveEntity_HeaderFile
|
Reference in New Issue
Block a user