mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
Compare commits
32 Commits
CR24397
...
CR670_FixS
Author | SHA1 | Date | |
---|---|---|---|
|
6033b13c29 | ||
|
ec738c8ff1 | ||
|
fe7caef6da | ||
|
097a0cae0f | ||
|
3054ab58fb | ||
|
75ee56f2df | ||
|
95ee0712bc | ||
|
a5a0a4399f | ||
|
d099845895 | ||
|
47d9074abb | ||
|
480bf81e37 | ||
|
973c2be1e1 | ||
|
3693361422 | ||
|
4a0c5c25a4 | ||
|
a0726e55a7 | ||
|
38fd051164 | ||
|
243fc66226 | ||
|
5396d9ca17 | ||
|
4e7bb26301 | ||
|
60bf98ae02 | ||
|
e04db19958 | ||
|
de88958f6e | ||
|
7551feda20 | ||
|
4efafd1f3a | ||
|
0c4033b4d1 | ||
|
0adbd30f1d | ||
|
0794c042bd | ||
|
0929d0ef20 | ||
|
fe83e1ea69 | ||
|
73cd8a8afd | ||
|
6bf1bdbd22 | ||
|
eef7fc6447 |
@@ -300,8 +300,11 @@ INCLUDE(adm/templates/tcl.cmake)
|
||||
|
||||
#install tcltk
|
||||
IF(INSTALL_TCL)
|
||||
GET_FILENAME_COMPONENT(3RDPARTY_TCL_LIB_DIR "${3RDPARTY_TCL_LIBRARY}" PATH)
|
||||
GET_FILENAME_COMPONENT(3RDPARTY_TCL_DLL_DIR "${3RDPARTY_TCL_DLL}" PATH)
|
||||
SET(3RDPARTY_TCL_DLL_DIR "")
|
||||
SET(3RDPARTY_TCL_LIB_DIR "")
|
||||
|
||||
GET_FILENAME_COMPONENT(3RDPARTY_TCL_LIB_DIR_INSIDE "${3RDPARTY_TCL_LIBRARY}" PATH)
|
||||
GET_FILENAME_COMPONENT(3RDPARTY_TCL_DLL_DIR_INSIDE "${3RDPARTY_TCL_DLL}" PATH)
|
||||
|
||||
IF (IS_TCL_VERSION_FOUND)
|
||||
SET (TCL_VERSION ${TCL_MAJOR_VERSION}${TCL_SEP}${TCL_MINOR_VERSION})
|
||||
@@ -313,17 +316,20 @@ IF(INSTALL_TCL)
|
||||
SET (TCL_FOLDER_VERSION "")
|
||||
ENDIF()
|
||||
|
||||
INSTALL(FILES "${3RDPARTY_TCL_DLL_DIR}/${DLL_SO_PREFIX}tcl${TCL_VERSION}.${DLL_SO}" DESTINATION "${INSTALL_DIR}/${DLL_SO_FOLDER}")
|
||||
INSTALL(FILES "${3RDPARTY_TCL_DLL_DIR}/${DLL_SO_PREFIX}tk${TCL_VERSION}.${DLL_SO}" DESTINATION "${INSTALL_DIR}/${DLL_SO_FOLDER}")
|
||||
INSTALL(FILES "${3RDPARTY_TCL_DLL_DIR_INSIDE}/${DLL_SO_PREFIX}tcl${TCL_VERSION}.${DLL_SO}" DESTINATION "${INSTALL_DIR}/${DLL_SO_FOLDER}")
|
||||
INSTALL(FILES "${3RDPARTY_TCL_DLL_DIR_INSIDE}/${DLL_SO_PREFIX}tk${TCL_VERSION}.${DLL_SO}" DESTINATION "${INSTALL_DIR}/${DLL_SO_FOLDER}")
|
||||
|
||||
IF (IS_TCL_VERSION_FOUND)
|
||||
INSTALL(DIRECTORY "${3RDPARTY_TCL_LIB_DIR}/tcl8" DESTINATION "${INSTALL_DIR}/lib")
|
||||
INSTALL(DIRECTORY "${3RDPARTY_TCL_LIB_DIR}/tcl${TCL_FOLDER_VERSION}" DESTINATION "${INSTALL_DIR}/lib")
|
||||
INSTALL(DIRECTORY "${3RDPARTY_TCL_LIB_DIR}/tk${TCL_FOLDER_VERSION}" DESTINATION "${INSTALL_DIR}/lib")
|
||||
INSTALL(DIRECTORY "${3RDPARTY_TCL_LIB_DIR_INSIDE}/tcl8" DESTINATION "${INSTALL_DIR}/lib")
|
||||
INSTALL(DIRECTORY "${3RDPARTY_TCL_LIB_DIR_INSIDE}/tcl${TCL_FOLDER_VERSION}" DESTINATION "${INSTALL_DIR}/lib")
|
||||
INSTALL(DIRECTORY "${3RDPARTY_TCL_LIB_DIR_INSIDE}/tk${TCL_FOLDER_VERSION}" DESTINATION "${INSTALL_DIR}/lib")
|
||||
ELSE()
|
||||
MESSAGE(STATUS "\nWarning: tclX.X and tkX.X subdirs won't be copyied during the installation process.")
|
||||
MESSAGE(STATUS "Try seeking tcl within another folder by changing 3RDPARTY_TCL_DIR variable.")
|
||||
ENDIF()
|
||||
ELSE()
|
||||
GET_FILENAME_COMPONENT(3RDPARTY_TCL_DLL_DIR "${3RDPARTY_TCL_DLL}" PATH)
|
||||
GET_FILENAME_COMPONENT(3RDPARTY_TCL_LIB_DIR "${3RDPARTY_TCL_LIBRARY}" PATH)
|
||||
ENDIF()
|
||||
|
||||
# GLX
|
||||
@@ -452,12 +458,6 @@ string( REGEX REPLACE ";" "\n\t" 3RDPARTY_LIBRARY_DIRS_WITH_ENDS "${3RDPARTY_LIB
|
||||
MESSAGE(STATUS "3RDPARTY_LIBRARY_DIRS: ${3RDPARTY_LIBRARY_DIRS_WITH_ENDS}")
|
||||
link_directories( ${3RDPARTY_LIBRARY_DIRS} )
|
||||
|
||||
#
|
||||
SET(RUN_PROJECT "")
|
||||
SET(CASROOT_DEFINITION "set \"CASROOT=${CMAKE_SOURCE_DIR}\"")
|
||||
SET(BIN_DIR_POSTFIX "bin")
|
||||
SET(RESOURCE_DIR_PREFIX "%SCRIPTROOT%\\src")
|
||||
|
||||
IF("${INSTALL_DIR}" STREQUAL "")
|
||||
MESSAGE(FATAL_ERROR "INSTALL_DIR is empty")
|
||||
ELSE()
|
||||
@@ -480,13 +480,6 @@ ELSE()
|
||||
install(FILES "${OCCT_BINARY_DIR}/env.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR}" )
|
||||
ENDIF()
|
||||
|
||||
IF(MSVC AND "${BUILD_CONFIGURATION}" STREQUAL "Debug")
|
||||
SET(RUN_PROJECT "start OCCT.sln")
|
||||
SET(BIN_DIR_POSTFIX "out\\bin\\Debug")
|
||||
SET(RESOURCE_DIR_PREFIX "%CASROOT%\\src")
|
||||
configure_file("${CMAKE_SOURCE_DIR}/adm/cmake/env.bat.in" OCCT.bat @ONLY)
|
||||
ENDIF()
|
||||
|
||||
include(adm/cmake/CMakeToolKitsDeps.txt)
|
||||
|
||||
IF (BUILD_Samples)
|
||||
|
153
LICENSE
153
LICENSE
@@ -1,153 +0,0 @@
|
||||
Open CASCADE Technology Public License
|
||||
License version: 6.6 March, 2013
|
||||
|
||||
Open CASCADE S.A.S. releases and makes publicly available the source code of the software Open CASCADE Technology to the free software development community under the terms and conditions of this license.
|
||||
|
||||
It is not the purpose of this license to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this license has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
|
||||
|
||||
|
||||
Please read this license carefully and completely before downloading this software. By downloading, using, modifying, distributing and sublicensing this software, you indicate your acceptance to be bound by the terms and conditions of this license. If you do not want to accept or cannot accept for any reasons the terms and conditions of this license, please do not download or use in any manner this software.
|
||||
|
||||
1. Definitions
|
||||
|
||||
Unless there is something in the subject matter or in the context inconsistent therewith, the capitalized terms used in this License shall have the following meaning.
|
||||
|
||||
"Applicable Intellectual Property Rights" means (a) with respect to the Initial Developer, any rights under patents or patents applications or other intellectual property rights that are now or hereafter acquired, owned by or assigned to the Initial Developer and that cover subject matter contained in the Original Code, but only to the extent necessary to use, reproduce, modify, distribute or sublicense the Original Code without infringement; and (b) with respect to You or any Contributor, any rights under patents or patents applications or other intellectual property rights that are now or hereafter acquired, owned by or assigned to You or to such Contributor and that cover subject matter contained in Your Modifications or in such Contributor's Modifications, taken alone or in combination with Original Code.
|
||||
|
||||
"Contributor" means each individual or legal entity that creates or contributes to the creation of any Modification, including the Initial Developer.
|
||||
|
||||
"Derivative Program": means a new program combining the Software or portions thereof with other source code not governed by the terms of this License.
|
||||
|
||||
"Initial Developer": means Open CASCADE S.A.S., with main offices at 1, place des Fr<46>res Montgolfier, 78280 Guyancourt, France.
|
||||
|
||||
"Modifications": mean any addition to, deletion from or change to the substance or the structure of the Software. When source code of the Software is released as a series of files, a Modification is: (a) any addition to, deletion from or change to the contents of a file containing the Software or (b) any new file or other representation of computer program statements that contains any part of the Software. By way of example, Modifications include any debug of, or improvement to, the Original Code or any of its components or portions as well as its next versions or releases thereof.
|
||||
|
||||
"Original Code": means (a) the source code of the software Open CASCADE Technology originally made available by the Initial Developer under this License, including the source code of any updates or upgrades of the Original Code and (b) the object code compiled from such source code and originally made available by Initial Developer under this License.
|
||||
|
||||
"Software": means the Original Code, the Modifications, the combination of Original Code and any Modifications or any respective portions thereof.
|
||||
|
||||
"You" or "Your": means an individual or a legal entity exercising rights under this License.
|
||||
|
||||
|
||||
2. Acceptance of license
|
||||
|
||||
By using, reproducing, modifying, distributing or sublicensing the Software or any portion thereof, You expressly indicate Your acceptance of the terms and conditions of this License and undertake to act in accordance with all the provisions of this License applicable to You.
|
||||
|
||||
|
||||
3. Scope and purpose
|
||||
|
||||
This License applies to the Software and You may not use, reproduce, modify, distribute, sublicense or circulate the Software, or any portion thereof, except as expressly provided under this License. Any attempt to otherwise use, reproduce, modify, distribute or sublicense the Software is void and will automatically terminate Your rights under this License.
|
||||
|
||||
|
||||
4. Contributor license
|
||||
|
||||
Subject to the terms and conditions of this License, the Initial Developer and each of the Contributors hereby grant You a world-wide, royalty-free, irrevocable and non-exclusive license under the Applicable Intellectual Property Rights they own or control, to use, reproduce, modify, distribute and sublicense the Software provided that:
|
||||
|
||||
You reproduce in all copies of the Software the copyright and other proprietary notices and disclaimers of the Initial Developer as they appear in the Original Code and attached hereto as Schedule "A" and any other notices or disclaimers attached to the Software and keep intact all notices in the Original Code that refer to this License and to the absence of any warranty;
|
||||
You include a copy of this License with every copy of the Software You distribute;
|
||||
If you distribute or sublicense the Software (as modified by You or on Your behalf as the case may be), You cause such Software to be licensed as a whole, at no charge, to all third parties, under the terms and conditions of the License, making in particular available to all third parties the source code of the Software;
|
||||
You document all Your Modifications, indicate the date of each such Modifications, designate the version of the Software You used, prominently include a file carrying such information with respect to the Modifications and duplicate the copyright and other proprietary notices and disclaimers attached hereto as Schedule "B" or any other notices or disclaimers attached to the Software with your Modifications.
|
||||
|
||||
For greater certainty, it is expressly understood that You may freely create Derivative Programs (without any obligation to publish such Derivative Program) and distribute same as a single product. In such case, You must ensure that all the requirements of this License are fulfilled for the Software or any portion thereof.
|
||||
|
||||
|
||||
5. Your license
|
||||
|
||||
You hereby grant all Contributors and anyone who becomes a party under this License a world-wide, non-exclusive, royalty-free and irrevocable license under the Applicable Intellectual Property Rights owned or controlled by You, to use, reproduce, modify, distribute and sublicense all Your Modifications under the terms and conditions of this License.
|
||||
|
||||
|
||||
6. Software subject to license
|
||||
|
||||
Your Modifications shall be governed by the terms and conditions of this License. You are not authorized to impose any other terms or conditions than those prevailing under this License when You distribute and/or sublicense the Software, save and except as permitted under Section 7 hereof.
|
||||
|
||||
|
||||
7. Additional terms
|
||||
|
||||
You may choose to offer, on a non-exclusive basis, and to charge a fee for any warranty, support, maintenance, liability obligations or other rights consistent with the scope of this License with respect to the Software (the "Additional Terms") to the recipients of the Software. However, You may do so only on Your own behalf and on Your sole and exclusive responsibility. You must obtain the recipient's agreement that any such Additional Terms are offered by You alone, and You hereby agree to indemnify, defend and hold the Initial Developer and any Contributor harmless for any liability incurred by or claims asserted against the Initial Developer or any Contributors with respect to any such Additional Terms.
|
||||
|
||||
|
||||
8. Disclaimer of warranty
|
||||
|
||||
The Software is provided under this License on an "as is" basis, without warranty of any kind, including without limitation, warranties that the Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Software is with You.
|
||||
|
||||
|
||||
9. Liability
|
||||
|
||||
Under no circumstances shall You, the Initial Developer or any Contributor be liable to any person for any direct or indirect damages of any kind including, without limitation, damages for loss of goodwill, loss of data, work stoppage, computer failure or malfunction or any and all other commercial damages or losses resulting from or relating to this License or indirectly to the use of the Software.
|
||||
|
||||
|
||||
10. Trademark
|
||||
|
||||
This License does not grant any rights to use the trademarks, trade names and domain names "MATRA", "EADS Matra Datavision", "CAS.CADE", "Open CASCADE", "opencascade.com" and "opencascade.org" or any other trademarks, trade names or domain names used or owned by the Initial Developer.
|
||||
|
||||
|
||||
11. Copyright
|
||||
|
||||
The Initial Developer retains all rights, title and interest in and to the Original Code. You may not remove the copyright <20> notice which appears when You download the Software.
|
||||
|
||||
|
||||
12. Term
|
||||
|
||||
This License is granted to You for a term equal to the remaining period of protection covered by the intellectual property rights applicable to the Original Code.
|
||||
|
||||
|
||||
13. Termination
|
||||
|
||||
In case of termination, as provided in Section 3 above, You agree to immediately stop any further use, reproduction, modification, distribution and sublicensing of the Software and to destroy all copies of the Software that are in Your possession or control. All sublicenses of the Software which have been properly granted prior to termination shall survive any termination of this License. In addition, Sections 5, 8 to 11, 13.2 and 15.2 of this License, in reason of their nature, shall survive the termination of this License for a period of fifteen (15) years.
|
||||
|
||||
|
||||
14. Versions of the license
|
||||
|
||||
The Initial Developer may publish new versions of this License from time to time. Once Original Code has been published under a particular version of this License, You may choose to continue to use it under the terms and conditions of that version or use the Original Code under the terms of any subsequent version of this License published by the Initial Developer.
|
||||
|
||||
|
||||
15. Miscellaneous
|
||||
|
||||
15.1 Relationship of Parties
|
||||
|
||||
This License will not be construed as creating an agency, partnership, joint venture or any other form of legal association between You and the Initial Developer, and You will not represent to the contrary, whether expressly, by implication or otherwise.
|
||||
|
||||
15.2 Independent Development
|
||||
|
||||
Nothing in this License will impair the Initial Developer's right to acquire, license, develop, have others develop for it, market or distribute technology or products that perform the same or similar functions as, or otherwise compete with, Modifications, Derivative Programs, technology or products that You may develop, produce, market or distribute.
|
||||
|
||||
15.3 Severability
|
||||
|
||||
If for any reason a court of competent jurisdiction finds any provision of this License, or portion thereof, to be unenforceable, that provision of the License will be enforced to the maximum extent permissible so as to effect the economic benefits and intent of the parties, and the remainder of this License will continue in full force and extent.
|
||||
|
||||
|
||||
END OF THE TERMS AND
|
||||
CONDITIONS OF THIS LICENSE
|
||||
|
||||
|
||||
Open CASCADE S.A.S. is a French soci<63>t<EFBFBD> par actions simplifi<66>e having its main offices at 1, place in Fr<46>res Montgolfier, 78280 Guyancourt, France. Its web site is located at the following address www.opencascade.com
|
||||
|
||||
|
||||
Open CASCADE Technology Public License
|
||||
|
||||
Schedule "A"
|
||||
|
||||
The content of this file is subject to the Open CASCADE Technology Public License Version 6.5 (the "License").
|
||||
You may not use the content of this file except in compliance with the License.
|
||||
Please obtain a copy of the License at http://www.opencascade.org and read it completely before using this file.
|
||||
|
||||
The Initial Developer of the Original Code is Open CASCADE S.A.S., with main offices at 1, place des Fr<46>res Montgolfier, 78280 Guyancourt, France. The Original Code is copyright <20> Open CASCADE S.A.S., 2001. All rights reserved.
|
||||
|
||||
"The Original Code and all software distributed under the License are distributed on an "AS IS" basis, without warranty of any kind, and the Initial Developer hereby disclaims all such warranties, including without limitation, any warranties of merchantability, fitness for a particular purpose or non-infringement. Please see the License for the specific terms and conditions governing rights and limitations under the License".
|
||||
|
||||
End of Schedule "A"
|
||||
|
||||
|
||||
Open CASCADE Technology Public License
|
||||
|
||||
Schedule "B"
|
||||
|
||||
"The content of this file is subject to the Open CASCADE Technology Public License Version 6.5 (the "License"). You may not use the content of this file except in compliance with the License. Please obtain a copy of the License at http://www.opencascade.org and read it completely before using this file.
|
||||
|
||||
The Initial Developer of the Original Code is Open CASCADE S.A.S., with main offices at 1, place des Fr<46>res Montgolfier, 78280 Guyancourt, France. The Original Code is copyright <20> Open CASCADE S.A.S., 2001. All rights reserved.
|
||||
|
||||
Modifications to the Original Code have been made by ________________________. Modifications are copyright <20> [Year to be included]. All rights reserved.
|
||||
|
||||
The software Open CASCADE Technology and all software distributed under the License are distributed on an "AS IS" basis, without warranty of any kind, and the Initial Developer hereby disclaims all such warranties, including without limitation, any warranties of merchantability, fitness for a particular purpose or non-infringement. Please see the License for the specific terms and conditions governing rights and limitations under the License".
|
||||
|
||||
End of Schedule "B"
|
502
LICENSE_LGPL_21.txt
Executable file
502
LICENSE_LGPL_21.txt
Executable file
@@ -0,0 +1,502 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 2.1, February 1999
|
||||
|
||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the Lesser GPL. It also counts
|
||||
as the successor of the GNU Library Public License, version 2, hence
|
||||
the version number 2.1.]
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Lesser General Public License, applies to some
|
||||
specially designated software packages--typically libraries--of the
|
||||
Free Software Foundation and other authors who decide to use it. You
|
||||
can use it too, but we suggest you first think carefully about whether
|
||||
this license or the ordinary General Public License is the better
|
||||
strategy to use in any particular case, based on the explanations below.
|
||||
|
||||
When we speak of free software, we are referring to freedom of use,
|
||||
not price. Our General Public Licenses are designed to make sure that
|
||||
you have the freedom to distribute copies of free software (and charge
|
||||
for this service if you wish); that you receive source code or can get
|
||||
it if you want it; that you can change the software and use pieces of
|
||||
it in new free programs; and that you are informed that you can do
|
||||
these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
distributors to deny you these rights or to ask you to surrender these
|
||||
rights. These restrictions translate to certain responsibilities for
|
||||
you if you distribute copies of the library or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link other code with the library, you must provide
|
||||
complete object files to the recipients, so that they can relink them
|
||||
with the library after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
We protect your rights with a two-step method: (1) we copyright the
|
||||
library, and (2) we offer you this license, which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
To protect each distributor, we want to make it very clear that
|
||||
there is no warranty for the free library. Also, if the library is
|
||||
modified by someone else and passed on, the recipients should know
|
||||
that what they have is not the original version, so that the original
|
||||
author's reputation will not be affected by problems that might be
|
||||
introduced by others.
|
||||
|
||||
Finally, software patents pose a constant threat to the existence of
|
||||
any free program. We wish to make sure that a company cannot
|
||||
effectively restrict the users of a free program by obtaining a
|
||||
restrictive license from a patent holder. Therefore, we insist that
|
||||
any patent license obtained for a version of the library must be
|
||||
consistent with the full freedom of use specified in this license.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the
|
||||
ordinary GNU General Public License. This license, the GNU Lesser
|
||||
General Public License, applies to certain designated libraries, and
|
||||
is quite different from the ordinary General Public License. We use
|
||||
this license for certain libraries in order to permit linking those
|
||||
libraries into non-free programs.
|
||||
|
||||
When a program is linked with a library, whether statically or using
|
||||
a shared library, the combination of the two is legally speaking a
|
||||
combined work, a derivative of the original library. The ordinary
|
||||
General Public License therefore permits such linking only if the
|
||||
entire combination fits its criteria of freedom. The Lesser General
|
||||
Public License permits more lax criteria for linking other code with
|
||||
the library.
|
||||
|
||||
We call this license the "Lesser" General Public License because it
|
||||
does Less to protect the user's freedom than the ordinary General
|
||||
Public License. It also provides other free software developers Less
|
||||
of an advantage over competing non-free programs. These disadvantages
|
||||
are the reason we use the ordinary General Public License for many
|
||||
libraries. However, the Lesser license provides advantages in certain
|
||||
special circumstances.
|
||||
|
||||
For example, on rare occasions, there may be a special need to
|
||||
encourage the widest possible use of a certain library, so that it becomes
|
||||
a de-facto standard. To achieve this, non-free programs must be
|
||||
allowed to use the library. A more frequent case is that a free
|
||||
library does the same job as widely used non-free libraries. In this
|
||||
case, there is little to gain by limiting the free library to free
|
||||
software only, so we use the Lesser General Public License.
|
||||
|
||||
In other cases, permission to use a particular library in non-free
|
||||
programs enables a greater number of people to use a large body of
|
||||
free software. For example, permission to use the GNU C Library in
|
||||
non-free programs enables many more people to use the whole GNU
|
||||
operating system, as well as its variant, the GNU/Linux operating
|
||||
system.
|
||||
|
||||
Although the Lesser General Public License is Less protective of the
|
||||
users' freedom, it does ensure that the user of a program that is
|
||||
linked with the Library has the freedom and the wherewithal to run
|
||||
that program using a modified version of the Library.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, whereas the latter must
|
||||
be combined with the library in order to run.
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library or other
|
||||
program which contains a notice placed by the copyright holder or
|
||||
other authorized party saying it may be distributed under the terms of
|
||||
this Lesser General Public License (also called "this License").
|
||||
Each licensee is addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
|
||||
If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also combine or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (1) uses at run time a
|
||||
copy of the library already present on the user's computer system,
|
||||
rather than copying library functions into the executable, and (2)
|
||||
will operate properly with a modified version of the library, if
|
||||
the user installs one, as long as the modified version is
|
||||
interface-compatible with the version that the work was made with.
|
||||
|
||||
c) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
d) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
e) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the materials to be distributed need not include anything that is
|
||||
normally distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties with
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Lesser General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Libraries
|
||||
|
||||
If you develop a new library, and you want it to be of the greatest
|
||||
possible use to the public, we recommend making it free software that
|
||||
everyone can redistribute and change. You can do so by permitting
|
||||
redistribution under these terms (or, alternatively, under the terms of the
|
||||
ordinary General Public License).
|
||||
|
||||
To apply these terms, attach the following notices to the library. It is
|
||||
safest to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least the
|
||||
"copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the library's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the library, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1990
|
||||
Ty Coon, President of Vice
|
||||
|
||||
That's all there is to it!
|
10
OCCT_LGPL_EXCEPTION.txt
Normal file
10
OCCT_LGPL_EXCEPTION.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Open CASCADE exception (version 1.0) to GNU LGPL version 2.1.
|
||||
|
||||
The object code (i.e. not a source) form of a "work that uses the Library"
|
||||
can incorporate material from a header file that is part of the Library.
|
||||
As a special exception to the GNU Lesser General Public License version 2.1,
|
||||
you may distribute such object code incorporating material from header files
|
||||
provided with the Open CASCADE Technology libraries (including code of CDL
|
||||
generic classes) under terms of your choice, provided that you give
|
||||
prominent notice in supporting documentation to this code that it makes use
|
||||
of or is based on facilities provided by the Open CASCADE Technology software.
|
@@ -1,20 +1,28 @@
|
||||
Open CASCADE Technology
|
||||
=======================
|
||||
|
||||
This directory contains sources of Open CASCADE Technology (OCCT), a collection
|
||||
of C++ libraries providing services for 3D surface and solid modeling, CAD data
|
||||
exchange, and visualization. OCCT can be best applied in development of
|
||||
software dealing with 3D modeling (CAD), manufacturing / measuring (CAM) or
|
||||
numerical simulation (CAE).
|
||||
This directory contains sources of Open CASCADE Technology (OCCT), a software
|
||||
development platform providing services for 3D surface and solid modeling, CAD
|
||||
data exchange, and visualization. Most of OCCT functionality is available in
|
||||
the form of C++ libraries. OCCT can be best applied in development of software
|
||||
dealing with 3D modeling (CAD), manufacturing / measuring (CAM) or numerical
|
||||
simulation (CAE).
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
The OCCT code is subject to the Open CASCADE Technology Public License
|
||||
(the "License"). You may not use the content of the relevant files except
|
||||
in compliance with the License. Please see the LICENSE file or obtain a copy
|
||||
of the License at http://www.opencascade.org and read it completely before
|
||||
using this software.
|
||||
Open CASCADE Technology is free software; you can redistribute it and / or
|
||||
modify it under the terms of the GNU Lesser General Public 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.
|
||||
|
||||
Alternatively, Open CASCADE Technology may be used under the terms of Open
|
||||
CASCADE commercial license or contractual agreement.
|
||||
|
||||
Note that Open CASCADE Technology is provided on an "AS IS" basis, WITHOUT
|
||||
WARRANTY OF ANY KIND. The entire risk related to any use of the OCCT code and
|
||||
materials is on you. See the license text for formal disclaimer.
|
||||
|
||||
Packaging
|
||||
---------
|
||||
@@ -30,7 +38,7 @@ You can receive certified version of OCCT code in different packages.
|
||||
building on all officially supported platforms.
|
||||
|
||||
- Binary package (platform-specific): in addition to complete source archive,
|
||||
includes binaries of OCCT and third-party libraries built on one platform.
|
||||
it includes binaries of OCCT and third-party libraries built on one platform.
|
||||
This package allows using OCCT immediately after installation.
|
||||
|
||||
Certified versions of OCCT can be downloaded from http://www.opencascade.org
|
||||
@@ -48,9 +56,11 @@ Open file doc/html/index.html to browse HTML documentation.
|
||||
If HTML documentation is not available in your package, you can:
|
||||
|
||||
- Generate it from sources.
|
||||
You need to have Tcl and Doxygen 1.8.4 (or above) in PATH.
|
||||
In Tcl prompt, cd to OCCT root folder and run "source dox/start.tcl".
|
||||
On Windows you can also run shortcut batch file *gendoc.bat*.
|
||||
|
||||
You need to have Tcl and Doxygen 1.8.4 (or above) installed on your system.
|
||||
and accessible in your environment (check environment variable PATH).
|
||||
Run batch file *gendoc.bat* on Windows or Bash scriot *gendoc.sh* on Linux
|
||||
or Mac OS X to (re)generate documentation.
|
||||
|
||||
- Read documentation in source plain text (MarkDown) format found in
|
||||
subfolder *dox*
|
@@ -1,7 +1,7 @@
|
||||
@echo off
|
||||
|
||||
rem Setup environment and launch DRAWEXE
|
||||
call "%~dp0env.bat" %1 %2 %3
|
||||
call "%~dp0env.bat"
|
||||
|
||||
echo Hint: use "pload ALL" command to load standard commands
|
||||
DRAWEXE.exe
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
aScriptPath=${BASH_SOURCE%/*}; if [ -d "${aScriptPath}" ]; then cd "$aScriptPath"; fi; aScriptPath="$PWD";
|
||||
|
||||
source "${aScriptPath}/env.sh" "$1" "$2"
|
||||
source "${aScriptPath}/env.sh"
|
||||
|
||||
echo 'Hint: use "pload ALL" command to load standard commands'
|
||||
DRAWEXE
|
||||
|
@@ -3,54 +3,57 @@ echo off
|
||||
set "SCRIPTROOT=%~dp0"
|
||||
set "SCRIPTROOT=%SCRIPTROOT:~0,-1%"
|
||||
|
||||
@CASROOT_DEFINITION@
|
||||
|
||||
set "FREETYPE_DIR=@3RDPARTY_FREETYPE_DLL_DIR@"
|
||||
set "GL2PS_DIR=@3RDPARTY_GL2PS_DLL_DIR@"
|
||||
|
||||
set "TBB_DIR=@3RDPARTY_TBB_DLL_DIR@"
|
||||
set "FREEIMAGE_DIR=@3RDPARTY_FREEIMAGE_DLL_DIR@"
|
||||
if ["%CASROOT%"] == [""] set "CASROOT=%SCRIPTROOT%"
|
||||
|
||||
set "TCL_DIR=@3RDPARTY_TCL_DLL_DIR@"
|
||||
if not ["%TCL_DIR%"] == [""] set "PATH=%TCL_DIR%;%PATH%"
|
||||
|
||||
set "PATH=%FREETYPE_DIR%;%GL2PS_DIR%;%FREEIMAGE_DIR%;%TBB_DIR%;%TCL_DIR%;%PATH%"
|
||||
set "FREETYPE_DIR=@3RDPARTY_FREETYPE_DLL_DIR@"
|
||||
if not ["%FREETYPE_DIR%"] == [""] set "PATH=%FREETYPE_DIR%;%PATH%"
|
||||
|
||||
set "FREEIMAGE_DIR=@3RDPARTY_FREEIMAGE_DLL_DIR@"
|
||||
if not ["%FREEIMAGE_DIR%"] == [""] set "PATH=%FREEIMAGE_DIR%;%PATH%"
|
||||
|
||||
set "GL2PS_DIR=@3RDPARTY_GL2PS_DLL_DIR@"
|
||||
if not ["%GL2PS_DIR%"] == [""] set "PATH=%GL2PS_DIR%;%PATH%"
|
||||
|
||||
set "TBB_DIR=@3RDPARTY_TBB_DLL_DIR@"
|
||||
if not ["%TBB_DIR%"] == [""] set "PATH=%TBB_DIR%;%PATH%"
|
||||
|
||||
rem ----- Set path to 3rd party and OCCT libraries -----
|
||||
set "PATH=%SCRIPTROOT%\@BIN_DIR_POSTFIX@;%PATH%"
|
||||
set "PATH=%CASROOT%\bin;%PATH%"
|
||||
|
||||
rem ----- Set envoronment variables used by OCCT -----
|
||||
set CSF_LANGUAGE=us
|
||||
set MMGT_CLEAR=1
|
||||
set CSF_EXCEPTION_PROMPT=1
|
||||
set "CSF_SHMessage=@RESOURCE_DIR_PREFIX@\SHMessage"
|
||||
set "CSF_MDTVTexturesDirectory=@RESOURCE_DIR_PREFIX@\Textures"
|
||||
set "CSF_ShadersDirectory=@RESOURCE_DIR_PREFIX@\Shaders"
|
||||
set "CSF_XSMessage=@RESOURCE_DIR_PREFIX@\XSMessage"
|
||||
set "CSF_TObjMessage=@RESOURCE_DIR_PREFIX@\TObj"
|
||||
set "CSF_StandardDefaults=@RESOURCE_DIR_PREFIX@\StdResource"
|
||||
set "CSF_PluginDefaults=@RESOURCE_DIR_PREFIX@\StdResource"
|
||||
set "CSF_XCAFDefaults=@RESOURCE_DIR_PREFIX@\StdResource"
|
||||
set "CSF_TObjDefaults=@RESOURCE_DIR_PREFIX@\StdResource"
|
||||
set "CSF_StandardLiteDefaults=@RESOURCE_DIR_PREFIX@\StdResource"
|
||||
set "CSF_UnitsLexicon=@RESOURCE_DIR_PREFIX@\UnitsAPI\Lexi_Expr.dat"
|
||||
set "CSF_UnitsDefinition=@RESOURCE_DIR_PREFIX@\UnitsAPI\Units.dat"
|
||||
set "CSF_IGESDefaults=@RESOURCE_DIR_PREFIX@\XSTEPResource"
|
||||
set "CSF_STEPDefaults=@RESOURCE_DIR_PREFIX@\XSTEPResource"
|
||||
set "CSF_XmlOcafResource=@RESOURCE_DIR_PREFIX@\XmlOcafResource"
|
||||
set "CSF_MIGRATION_TYPES=@RESOURCE_DIR_PREFIX@\StdResource\MigrationSheet.txt"
|
||||
set "CSF_SHMessage=%CASROOT%\src\SHMessage"
|
||||
set "CSF_MDTVTexturesDirectory=%CASROOT%\src\Textures"
|
||||
set "CSF_ShadersDirectory=%CASROOT%\src\Shaders"
|
||||
set "CSF_XSMessage=%CASROOT%\src\XSMessage"
|
||||
set "CSF_TObjMessage=%CASROOT%\src\TObj"
|
||||
set "CSF_StandardDefaults=%CASROOT%\src\StdResource"
|
||||
set "CSF_PluginDefaults=%CASROOT%\src\StdResource"
|
||||
set "CSF_XCAFDefaults=%CASROOT%\src\StdResource"
|
||||
set "CSF_TObjDefaults=%CASROOT%\src\StdResource"
|
||||
set "CSF_StandardLiteDefaults=%CASROOT%\src\StdResource"
|
||||
set "CSF_UnitsLexicon=%CASROOT%\src\UnitsAPI\Lexi_Expr.dat"
|
||||
set "CSF_UnitsDefinition=%CASROOT%\src\UnitsAPI\Units.dat"
|
||||
set "CSF_IGESDefaults=%CASROOT%\src\XSTEPResource"
|
||||
set "CSF_STEPDefaults=%CASROOT%\src\XSTEPResource"
|
||||
set "CSF_XmlOcafResource=%CASROOT%\src\XmlOcafResource"
|
||||
set "CSF_MIGRATION_TYPES=%CASROOT%\src\StdResource\MigrationSheet.txt"
|
||||
|
||||
rem Draw Harness special stuff
|
||||
if exist "@RESOURCE_DIR_PREFIX@\DrawResources" (
|
||||
set "DRAWHOME=@RESOURCE_DIR_PREFIX@\DrawResources"
|
||||
set "CSF_DrawPluginDefaults=@RESOURCE_DIR_PREFIX@\DrawResources"
|
||||
if exist "%CASROOT%\src\DrawResources" (
|
||||
set "DRAWHOME=%CASROOT%\src\DrawResources"
|
||||
set "CSF_DrawPluginDefaults=%CASROOT%\src\DrawResources"
|
||||
|
||||
if exist "@RESOURCE_DIR_PREFIX@\DrawResources\DrawDefault" (
|
||||
set "DRAWDEFAULT=@RESOURCE_DIR_PREFIX@\DrawResources\DrawDefault"
|
||||
if exist "%CASROOT%\src\DrawResources\DrawDefault" (
|
||||
set "DRAWDEFAULT=%CASROOT%\src\DrawResources\DrawDefault"
|
||||
)
|
||||
)
|
||||
|
||||
if exist "@RESOURCE_DIR_PREFIX@\DrawResourcesProducts" (
|
||||
set "CSF_DrawPluginProductsDefaults=@RESOURCE_DIR_PREFIX@\DrawResourcesProducts"
|
||||
if exist "%CASROOT%\src\DrawResourcesProducts" (
|
||||
set "CSF_DrawPluginProductsDefaults=%CASROOT%\src\DrawResourcesProducts"
|
||||
)
|
||||
|
||||
@RUN_PROJECT@
|
@@ -1,30 +1,36 @@
|
||||
echo off
|
||||
#!/bin/bash
|
||||
|
||||
aScriptPath=${BASH_SOURCE%/*}; if [ -d "${aScriptPath}" ]; then cd "$aScriptPath"; fi; aScriptPath="$PWD";
|
||||
|
||||
FREETYPE_DIR="@3RDPARTY_FREETYPE_DLL_DIR@"
|
||||
GL2PS_DIR="@3RDPARTY_GL2PS_DLL_DIR@"
|
||||
if [ "${CASROOT}" == "" ]; then
|
||||
export CASROOT="${aScriptPath}"
|
||||
fi
|
||||
|
||||
TBB_DIR="@3RDPARTY_TBB_DLL_DIR@"
|
||||
FREEIMAGE_DIR="@3RDPARTY_FREEIMAGE_DLL_DIR@"
|
||||
aLibPath="${CASROOT}/lib"
|
||||
|
||||
TCL_DIR="@3RDPARTY_TCL_DLL_DIR@"
|
||||
|
||||
aLibPath="$aScriptPath/lib"
|
||||
if [ "$TCL_DIR" != "" ]; then
|
||||
aLibPath="${TCL_DIR}:${aLibPath}"
|
||||
fi
|
||||
if [ "$TBB_DIR" != "" ]; then
|
||||
aLibPath="${TBB_DIR}:${aLibPath}"
|
||||
|
||||
FREETYPE_DIR="@3RDPARTY_FREETYPE_DLL_DIR@"
|
||||
if [ "$FREETYPE_DIR" != "" ]; then
|
||||
aLibPath="${FREETYPE_DIR}:${aLibPath}"
|
||||
fi
|
||||
|
||||
FREEIMAGE_DIR="@3RDPARTY_FREEIMAGE_DLL_DIR@"
|
||||
if [ "$FREEIMAGE_DIR" != "" ]; then
|
||||
aLibPath="${FREEIMAGE_DIR}:${aLibPath}"
|
||||
fi
|
||||
|
||||
GL2PS_DIR="@3RDPARTY_GL2PS_DLL_DIR@"
|
||||
if [ "$GL2PS_DIR" != "" ]; then
|
||||
aLibPath="${GL2PS_DIR}:${aLibPath}"
|
||||
fi
|
||||
if [ "$FREETYPE_DIR" != "" ]; then
|
||||
aLibPath="${FREETYPE_DIR}:${aLibPath}"
|
||||
|
||||
TBB_DIR="@3RDPARTY_TBB_DLL_DIR@"
|
||||
if [ "$TBB_DIR" != "" ]; then
|
||||
aLibPath="${TBB_DIR}:${aLibPath}"
|
||||
fi
|
||||
|
||||
# ----- Set path to 3rd party and OCCT libraries -----
|
||||
@@ -46,7 +52,7 @@ else
|
||||
fi
|
||||
|
||||
# ----- Set path to OCCT executables -----
|
||||
PATH="${PATH}:$aScriptPath/bin"
|
||||
PATH="${PATH}:${CASROOT}/bin"
|
||||
|
||||
# ----- Setup Environment Variables -----
|
||||
anArch=`uname -m`
|
||||
@@ -63,33 +69,33 @@ fi
|
||||
export CSF_LANGUAGE=us
|
||||
export MMGT_CLEAR=1
|
||||
export CSF_EXCEPTION_PROMPT=1
|
||||
export CSF_SHMessage="${aScriptPath}/res/SHMessage"
|
||||
export CSF_MDTVTexturesDirectory="${aScriptPath}/res/Textures"
|
||||
export CSF_ShadersDirectory="${aScriptPath}/res/Shaders"
|
||||
export CSF_XSMessage="SCRIPTROOT/res/XSMessage"
|
||||
export CSF_TObjMessage="SCRIPTROOT/res/TObj"
|
||||
export CSF_StandardDefaults="${aScriptPath}/res/StdResource"
|
||||
export CSF_PluginDefaults="${aScriptPath}/res/StdResource"
|
||||
export CSF_XCAFDefaults="${aScriptPath}/res/StdResource"
|
||||
export CSF_TObjDefaults="${aScriptPath}/res/StdResource"
|
||||
export CSF_StandardLiteDefaults="${aScriptPath}/res/StdResource"
|
||||
export CSF_UnitsLexicon="${aScriptPath}/res/UnitsAPI/Lexi_Expr.dat"
|
||||
export CSF_UnitsDefinition="${aScriptPath}/res/UnitsAPI/Units.dat"
|
||||
export CSF_IGESDefaults="${aScriptPath}/res/XSTEPResource"
|
||||
export CSF_STEPDefaults="${aScriptPath}/res/XSTEPResource"
|
||||
export CSF_XmlOcafResource="${aScriptPath}/res/XmlOcafResource"
|
||||
export CSF_MIGRATION_TYPES="${aScriptPath}/res/StdResource/MigrationSheet.txt"
|
||||
export CSF_SHMessage="${CASROOT}/src/SHMessage"
|
||||
export CSF_MDTVTexturesDirectory="${CASROOT}/src/Textures"
|
||||
export CSF_ShadersDirectory="${CASROOT}/src/Shaders"
|
||||
export CSF_XSMessage="${CASROOT}/src/XSMessage"
|
||||
export CSF_TObjMessage="${CASROOT}/src/TObj"
|
||||
export CSF_StandardDefaults="${CASROOT}/src/StdResource"
|
||||
export CSF_PluginDefaults="${CASROOT}/src/StdResource"
|
||||
export CSF_XCAFDefaults="${CASROOT}/src/StdResource"
|
||||
export CSF_TObjDefaults="${CASROOT}/src/StdResource"
|
||||
export CSF_StandardLiteDefaults="${CASROOT}/src/StdResource"
|
||||
export CSF_UnitsLexicon="${CASROOT}/src/UnitsAPI/Lexi_Expr.dat"
|
||||
export CSF_UnitsDefinition="${CASROOT}/src/UnitsAPI/Units.dat"
|
||||
export CSF_IGESDefaults="${CASROOT}/src/XSTEPResource"
|
||||
export CSF_STEPDefaults="${CASROOT}/src/XSTEPResource"
|
||||
export CSF_XmlOcafResource="${CASROOT}/src/XmlOcafResource"
|
||||
export CSF_MIGRATION_TYPES="${CASROOT}/src/StdResource/MigrationSheet.txt"
|
||||
|
||||
# Draw Harness special stuff
|
||||
if [ -e "${aScriptPath}/res/DrawResources" ]; then
|
||||
export DRAWHOME="${aScriptPath}/res/DrawResources"
|
||||
export CSF_DrawPluginDefaults="${aScriptPath}/res/DrawResources"
|
||||
if [ -e "${CASROOT}/src/DrawResources" ]; then
|
||||
export DRAWHOME="${CASROOT}/src/DrawResources"
|
||||
export CSF_DrawPluginDefaults="${CASROOT}/src/DrawResources"
|
||||
|
||||
if [ -e "${aScriptPath}/res/DrawResources/DrawDefault" ]; then
|
||||
export DRAWDEFAULT="${aScriptPath}/res/DrawResources/DrawDefault"
|
||||
if [ -e "${CASROOT}/src/DrawResources/DrawDefault" ]; then
|
||||
export DRAWDEFAULT="${CASROOT}/src/DrawResources/DrawDefault"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -e "${aScriptPath}/res/DrawResourcesProducts" ]; then
|
||||
export CSF_DrawPluginProductsDefaults="${aScriptPath}/res/DrawResourcesProducts"
|
||||
if [ -e "${CASROOT}/src/DrawResourcesProducts" ]; then
|
||||
export CSF_DrawPluginProductsDefaults="${CASROOT}/src/DrawResourcesProducts"
|
||||
fi
|
@@ -30,7 +30,7 @@
|
||||
|
||||
SET(TBB_DEBUG_POSTFIX "")
|
||||
if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
|
||||
SET(TBB_DEBUG_POSTFIX "") # _debug postfix removed
|
||||
SET(TBB_DEBUG_POSTFIX "_debug")
|
||||
ENDIF()
|
||||
|
||||
IF("${3RDPARTY_TBB_LIBRARY}" STREQUAL "" OR CHANGES_ARE_NEEDED OR "${3RDPARTY_TBB_LIBRARY}" STREQUAL "3RDPARTY_TBB_LIBRARY-NOTFOUND")
|
||||
|
@@ -161,11 +161,3 @@ IF(3RDPARTY_TCL_DLL)
|
||||
ELSE()
|
||||
LIST(APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TCL_DLL)
|
||||
ENDIF()
|
||||
|
||||
IF(INSTALL_TCL)
|
||||
SET(3RDPARTY_TCL_DLL_DIR "")
|
||||
SET(3RDPARTY_TCL_LIB_DIR "")
|
||||
ELSE()
|
||||
GET_FILENAME_COMPONENT(3RDPARTY_TCL_DLL_DIR "${3RDPARTY_TCL_DLL}" PATH)
|
||||
GET_FILENAME_COMPONENT(3RDPARTY_TCL_LIB_DIR "${3RDPARTY_TCL_LIBRARY}" PATH)
|
||||
ENDIF()
|
157
dox/LICENSE.md
157
dox/LICENSE.md
@@ -1,157 +0,0 @@
|
||||
License {#occt_pubic_license}
|
||||
=======
|
||||
|
||||
## Open CASCADE Technology Public License
|
||||
|
||||
*License version: 6.6* @htmlonly<br />@endhtmlonly
|
||||
*March, 2013*
|
||||
|
||||
Open CASCADE S.A.S. releases and makes publicly available the source code of the software Open CASCADE Technology to the free software development community under the terms and conditions of this license.
|
||||
|
||||
It is not the purpose of this license to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this license has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
|
||||
|
||||
|
||||
Please read this license carefully and completely before downloading this software. By downloading, using, modifying, distributing and sublicensing this software, you indicate your acceptance to be bound by the terms and conditions of this license. If you do not want to accept or cannot accept for any reasons the terms and conditions of this license, please do not download or use in any manner this software.
|
||||
|
||||
### 1. Definitions
|
||||
|
||||
Unless there is something in the subject matter or in the context inconsistent therewith, the capitalized terms used in this License shall have the following meaning.
|
||||
|
||||
"Applicable Intellectual Property Rights" means (a) with respect to the Initial Developer, any rights under patents or patents applications or other intellectual property rights that are now or hereafter acquired, owned by or assigned to the Initial Developer and that cover subject matter contained in the Original Code, but only to the extent necessary to use, reproduce, modify, distribute or sublicense the Original Code without infringement; and (b) with respect to You or any Contributor, any rights under patents or patents applications or other intellectual property rights that are now or hereafter acquired, owned by or assigned to You or to such Contributor and that cover subject matter contained in Your Modifications or in such Contributor's Modifications, taken alone or in combination with Original Code.
|
||||
|
||||
"Contributor" means each individual or legal entity that creates or contributes to the creation of any Modification, including the Initial Developer.
|
||||
|
||||
"Derivative Program": means a new program combining the Software or portions thereof with other source code not governed by the terms of this License.
|
||||
|
||||
"Initial Developer": means Open CASCADE S.A.S., with main offices at 1, place des Frères Montgolfier, 78280 Guyancourt, France.
|
||||
|
||||
"Modifications": mean any addition to, deletion from or change to the substance or the structure of the Software. When source code of the Software is released as a series of files, a Modification is: (a) any addition to, deletion from or change to the contents of a file containing the Software or (b) any new file or other representation of computer program statements that contains any part of the Software. By way of example, Modifications include any debug of, or improvement to, the Original Code or any of its components or portions as well as its next versions or releases thereof.
|
||||
|
||||
"Original Code": means (a) the source code of the software Open CASCADE Technology originally made available by the Initial Developer under this License, including the source code of any updates or upgrades of the Original Code and (b) the object code compiled from such source code and originally made available by Initial Developer under this License.
|
||||
|
||||
"Software": means the Original Code, the Modifications, the combination of Original Code and any Modifications or any respective portions thereof.
|
||||
|
||||
"You" or "Your": means an individual or a legal entity exercising rights under this License.
|
||||
|
||||
|
||||
### 2. Acceptance of license
|
||||
|
||||
By using, reproducing, modifying, distributing or sublicensing the Software or any portion thereof, You expressly indicate Your acceptance of the terms and conditions of this License and undertake to act in accordance with all the provisions of this License applicable to You.
|
||||
|
||||
|
||||
### 3. Scope and purpose
|
||||
|
||||
This License applies to the Software and You may not use, reproduce, modify, distribute, sublicense or circulate the Software, or any portion thereof, except as expressly provided under this License. Any attempt to otherwise use, reproduce, modify, distribute or sublicense the Software is void and will automatically terminate Your rights under this License.
|
||||
|
||||
|
||||
### 4. Contributor license
|
||||
|
||||
Subject to the terms and conditions of this License, the Initial Developer and each of the Contributors hereby grant You a world-wide, royalty-free, irrevocable and non-exclusive license under the Applicable Intellectual Property Rights they own or control, to use, reproduce, modify, distribute and sublicense the Software provided that:
|
||||
|
||||
You reproduce in all copies of the Software the copyright and other proprietary notices and disclaimers of the Initial Developer as they appear in the Original Code and attached hereto as Schedule "A" and any other notices or disclaimers attached to the Software and keep intact all notices in the Original Code that refer to this License and to the absence of any warranty;
|
||||
You include a copy of this License with every copy of the Software You distribute;
|
||||
If you distribute or sublicense the Software (as modified by You or on Your behalf as the case may be), You cause such Software to be licensed as a whole, at no charge, to all third parties, under the terms and conditions of the License, making in particular available to all third parties the source code of the Software;
|
||||
You document all Your Modifications, indicate the date of each such Modifications, designate the version of the Software You used, prominently include a file carrying such information with respect to the Modifications and duplicate the copyright and other proprietary notices and disclaimers attached hereto as Schedule "B" or any other notices or disclaimers attached to the Software with your Modifications.
|
||||
|
||||
For greater certainty, it is expressly understood that You may freely create Derivative Programs (without any obligation to publish such Derivative Program) and distribute same as a single product. In such case, You must ensure that all the requirements of this License are fulfilled for the Software or any portion thereof.
|
||||
|
||||
|
||||
### 5. Your license
|
||||
|
||||
You hereby grant all Contributors and anyone who becomes a party under this License a world-wide, non-exclusive, royalty-free and irrevocable license under the Applicable Intellectual Property Rights owned or controlled by You, to use, reproduce, modify, distribute and sublicense all Your Modifications under the terms and conditions of this License.
|
||||
|
||||
|
||||
### 6. Software subject to license
|
||||
|
||||
Your Modifications shall be governed by the terms and conditions of this License. You are not authorized to impose any other terms or conditions than those prevailing under this License when You distribute and/or sublicense the Software, save and except as permitted under Section 7 hereof.
|
||||
|
||||
|
||||
### 7. Additional terms
|
||||
|
||||
You may choose to offer, on a non-exclusive basis, and to charge a fee for any warranty, support, maintenance, liability obligations or other rights consistent with the scope of this License with respect to the Software (the "Additional Terms") to the recipients of the Software. However, You may do so only on Your own behalf and on Your sole and exclusive responsibility. You must obtain the recipient's agreement that any such Additional Terms are offered by You alone, and You hereby agree to indemnify, defend and hold the Initial Developer and any Contributor harmless for any liability incurred by or claims asserted against the Initial Developer or any Contributors with respect to any such Additional Terms.
|
||||
|
||||
|
||||
### 8. Disclaimer of warranty
|
||||
|
||||
The Software is provided under this License on an "as is" basis, without warranty of any kind, including without limitation, warranties that the Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Software is with You.
|
||||
|
||||
|
||||
### 9. Liability
|
||||
|
||||
Under no circumstances shall You, the Initial Developer or any Contributor be liable to any person for any direct or indirect damages of any kind including, without limitation, damages for loss of goodwill, loss of data, work stoppage, computer failure or malfunction or any and all other commercial damages or losses resulting from or relating to this License or indirectly to the use of the Software.
|
||||
|
||||
|
||||
### 10. Trademark
|
||||
|
||||
This License does not grant any rights to use the trademarks, trade names and domain names "MATRA", "EADS Matra Datavision", "CAS.CADE", "Open CASCADE", "opencascade.com" and "opencascade.org" or any other trademarks, trade names or domain names used or owned by the Initial Developer.
|
||||
|
||||
|
||||
### 11. Copyright
|
||||
|
||||
The Initial Developer retains all rights, title and interest in and to the Original Code. You may not remove the copyright (c) notice which appears when You download the Software.
|
||||
|
||||
|
||||
### 12. Term
|
||||
|
||||
This License is granted to You for a term equal to the remaining period of protection covered by the intellectual property rights applicable to the Original Code.
|
||||
|
||||
|
||||
### 13. Termination
|
||||
|
||||
In case of termination, as provided in Section 3 above, You agree to immediately stop any further use, reproduction, modification, distribution and sublicensing of the Software and to destroy all copies of the Software that are in Your possession or control. All sublicenses of the Software which have been properly granted prior to termination shall survive any termination of this License. In addition, Sections 5, 8 to 11, 13.2 and 15.2 of this License, in reason of their nature, shall survive the termination of this License for a period of fifteen (15) years.
|
||||
|
||||
|
||||
### 14. Versions of the license
|
||||
|
||||
The Initial Developer may publish new versions of this License from time to time. Once Original Code has been published under a particular version of this License, You may choose to continue to use it under the terms and conditions of that version or use the Original Code under the terms of any subsequent version of this License published by the Initial Developer.
|
||||
|
||||
|
||||
### 15. Miscellaneous
|
||||
|
||||
#### 15.1 Relationship of Parties
|
||||
|
||||
This License will not be construed as creating an agency, partnership, joint venture or any other form of legal association between You and the Initial Developer, and You will not represent to the contrary, whether expressly, by implication or otherwise.
|
||||
|
||||
#### 15.2 Independent Development
|
||||
|
||||
Nothing in this License will impair the Initial Developer's right to acquire, license, develop, have others develop for it, market or distribute technology or products that perform the same or similar functions as, or otherwise compete with, Modifications, Derivative Programs, technology or products that You may develop, produce, market or distribute.
|
||||
|
||||
#### 15.3 Severability
|
||||
|
||||
If for any reason a court of competent jurisdiction finds any provision of this License, or portion thereof, to be unenforceable, that provision of the License will be enforced to the maximum extent permissible so as to effect the economic benefits and intent of the parties, and the remainder of this License will continue in full force and extent.
|
||||
|
||||
|
||||
@htmlonly<center>@endhtmlonly
|
||||
#### END OF THE TERMS AND CONDITIONS OF THIS LICENSE
|
||||
|
||||
Open CASCADE S.A.S. is a French société par actions simplifiée having its main offices at 1, place in Frères Montgolfier, 78280 Guyancourt, France. Its web site is located at the following address http://www.opencascade.com
|
||||
|
||||
|
||||
#### Open CASCADE Technology Public License
|
||||
|
||||
#### Schedule "A"
|
||||
|
||||
The content of this file is subject to the Open CASCADE Technology Public License Version 6.5 (the "License").
|
||||
You may not use the content of this file except in compliance with the License.
|
||||
Please obtain a copy of the License at http://www.opencascade.org and read it completely before using this file. The Initial Developer of the Original Code is Open CASCADE S.A.S., with main offices at 1, place des Frères Montgolfier, 78280 Guyancourt, France. The Original Code is copyright (c) Open CASCADE S.A.S., 2001. All rights reserved.
|
||||
|
||||
"The Original Code and all software distributed under the License are distributed on an "AS IS" basis, without warranty of any kind, and the Initial Developer hereby disclaims all such warranties, including without limitation, any warranties of merchantability, fitness for a particular purpose or non-infringement.
|
||||
|
||||
Please see the License for the specific terms and conditions governing rights and limitations under the License".
|
||||
|
||||
#### End of Schedule "A"
|
||||
|
||||
|
||||
#### Open CASCADE Technology Public License
|
||||
|
||||
#### Schedule "B"
|
||||
|
||||
"The content of this file is subject to the Open CASCADE Technology Public License Version 6.5 (the "License"). You may not use the content of this file except in compliance with the License. Please obtain a copy of the License at http://www.opencascade.org and read it completely before using this file. The Initial Developer of the Original Code is Open CASCADE S.A.S., with main offices at 1, place des Frères Montgolfier, 78280 Guyancourt, France. The Original Code is copyright (c) Open CASCADE S.A.S., 2001. All rights reserved.
|
||||
|
||||
Modifications to the Original Code have been made by ________________________. Modifications are copyright (c) [Year to be included]. All rights reserved.
|
||||
|
||||
The software Open CASCADE Technology and all software distributed under the License are distributed on an "AS IS" basis, without warranty of any kind, and the Initial Developer hereby disclaims all such warranties, including without limitation, any warranties of merchantability, fitness for a particular purpose or non-infringement. Please see the License for the specific terms and conditions governing rights and limitations under the License".
|
||||
|
||||
#### End of Schedule "B"
|
||||
|
||||
@htmlonly</center>@endhtmlonly
|
@@ -13,7 +13,7 @@ proc OverviewDoc_DetectCasVersion {theCasRoot} {
|
||||
set fh_loaded [read $fh]
|
||||
close $fh
|
||||
regexp {[^/]\s*#\s*define\s+OCC_VERSION_COMPLETE\s+\"([^\s]*)\"} $fh_loaded dummy occt_ver
|
||||
regexp {#\s*define\s+OCC_VERSION_DEVELOPMENT\s+\"([^\s]*)\"} $fh_loaded dummy occt_ver_add
|
||||
regexp {^\s*#\s*define\s+OCC_VERSION_DEVELOPMENT\s+\"([^\s]*)\"} $fh_loaded dummy occt_ver_add
|
||||
if { "$occt_ver_add" != "" } { set occt_ver ${occt_ver}.$occt_ver_add }
|
||||
}
|
||||
return $occt_ver
|
||||
@@ -435,7 +435,7 @@ proc OverviewDoc_MakeRefmanTex {fileName latexDir docLabel verboseMode} {
|
||||
puts $texfile "\\vspace*{1cm}"
|
||||
puts $texfile "{\\Large $docLabel}\\\\"
|
||||
puts $texfile "\\vspace*{1cm}"
|
||||
puts $texfile "{\\large Generated by Doxygen 1.8.4}\\\\"
|
||||
# puts $texfile "{\\large Generated by Doxygen 1.8.4}\\\\"
|
||||
puts $texfile "\\vspace*{0.5cm}"
|
||||
puts $texfile "{\\small \\today}\\"
|
||||
puts $texfile "\\end{center}"
|
||||
|
@@ -5,11 +5,11 @@ Overview {#mainpage}
|
||||
|
||||
@section OCCT_OVW_SECTION_1 Welcome
|
||||
|
||||
Welcome to Open CASCADE Technology (OCCT), a collection
|
||||
of C++ libraries providing services for 3D surface and solid modeling, CAD data
|
||||
exchange, and visualization. OCCT can be best applied in development of
|
||||
software dealing with 3D modeling (CAD), manufacturing / measuring (CAM) or
|
||||
numerical simulation (CAE).
|
||||
Welcome to Open CASCADE Technology (OCCT), a software development platform
|
||||
providing services for 3D surface and solid modeling, CAD data exchange, and
|
||||
visualization. Most of OCCT functionality is available in the form of C++
|
||||
libraries. OCCT can be best applied in development of software dealing with 3D
|
||||
modeling (CAD), manufacturing / measuring (CAM) or numerical simulation (CAE).
|
||||
|
||||
@htmlonly<center>@endhtmlonly
|
||||
http://www.opencascade.org
|
||||
@@ -19,7 +19,8 @@ http://www.opencascade.org
|
||||
|
||||
@section OCCT_OVW_SECTION_2 Copyrights
|
||||
|
||||
Copyright(c) 2001-2013 by OPEN CASCADE S.A.S. All rights reserved.
|
||||
Open CASCADE Technology and all materials, including this documentation, is
|
||||
Copyright (c) 1999-2013 by OPEN CASCADE S.A.S. All rights reserved.
|
||||
|
||||
@htmlonly<center>@endhtmlonly
|
||||
http://www.opencascade.com
|
||||
@@ -27,6 +28,22 @@ http://www.opencascade.com
|
||||
@image latex /resources/occ_logo.png
|
||||
@htmlonly</center>@endhtmlonly
|
||||
|
||||
License
|
||||
--------
|
||||
|
||||
Open CASCADE Technology is free software; you can redistribute it and / or
|
||||
modify it under the terms of the
|
||||
@ref license_lgpl_21 "GNU Lesser General Public License (LGPL) version 2.1",
|
||||
with additional @ref occt_lgpl_exception "exception".
|
||||
|
||||
Alternatively, Open CASCADE Technology may be used under the terms of Open
|
||||
CASCADE commercial license or contractual agreement.
|
||||
|
||||
Note that Open CASCADE Technology is provided on an "AS IS" basis, WITHOUT
|
||||
WARRANTY OF ANY KIND. The entire risk related to any use of the OCCT code and
|
||||
materials is on you. See the @ref occt_public_license "license" text for formal
|
||||
disclaimer.
|
||||
|
||||
Trademark information
|
||||
----------------------
|
||||
|
||||
|
@@ -75,9 +75,9 @@ install (TARGETS Geometry RUNTIME DESTINATION "${INSTALL_DIR}/bin"
|
||||
LIBRARY DESTINATION "${INSTALL_DIR}/lib")
|
||||
|
||||
include_directories (${OCCT_ROOT}/inc
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common
|
||||
${Geometry_SRC_DIR}
|
||||
${Geometry_ISESSION2D_DIR}
|
||||
${Geometry_RESOURCE_DIR})
|
||||
${Geometry_RESOURCE_DIR}
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common)
|
||||
|
||||
target_link_libraries (Geometry mfcsample)
|
@@ -43,8 +43,8 @@ install (TARGETS Modeling RUNTIME DESTINATION "${INSTALL_DIR}/bin"
|
||||
LIBRARY DESTINATION "${INSTALL_DIR}/lib")
|
||||
|
||||
include_directories (${OCCT_ROOT}/inc
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common
|
||||
${MFC_STANDARD_SAMPLES_DIR}/02_Modeling
|
||||
${Modeling_SRC_DIR})
|
||||
${Modeling_SRC_DIR}
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common)
|
||||
|
||||
target_link_libraries (Modeling mfcsample TKSTEP209 TKSTEPAttr TKSTEPBase TKBO)
|
||||
|
@@ -39,8 +39,8 @@ install (TARGETS Viewer2d RUNTIME DESTINATION "${INSTALL_DIR}/bin"
|
||||
LIBRARY DESTINATION "${INSTALL_DIR}/lib")
|
||||
|
||||
include_directories (${OCCT_ROOT}/inc
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common
|
||||
${MFC_STANDARD_SAMPLES_DIR}/03_Viewer2d
|
||||
${Viewer2d_SOURCE_DIR})
|
||||
${Viewer2d_SOURCE_DIR}
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common)
|
||||
|
||||
target_link_libraries (Viewer2d mfcsample)
|
@@ -67,7 +67,7 @@ install (TARGETS Viewer3d RUNTIME DESTINATION "${INSTALL_DIR}/bin"
|
||||
LIBRARY DESTINATION "${INSTALL_DIR}/lib")
|
||||
|
||||
include_directories (${OCCT_ROOT}/inc
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common
|
||||
${Viewer3d_SRC_DIR})
|
||||
${Viewer3d_SRC_DIR}
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common)
|
||||
|
||||
target_link_libraries (Viewer3d mfcsample)
|
@@ -43,8 +43,8 @@ install (TARGETS ImportExport RUNTIME DESTINATION "${INSTALL_DIR}/bin"
|
||||
LIBRARY DESTINATION "${INSTALL_DIR}/lib")
|
||||
|
||||
include_directories (${OCCT_ROOT}/inc
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common
|
||||
${MFC_STANDARD_SAMPLES_DIR}/05_ImportExport
|
||||
${ImportExport_SRC_DIR})
|
||||
${ImportExport_SRC_DIR}
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common)
|
||||
|
||||
target_link_libraries (ImportExport mfcsample)
|
@@ -59,8 +59,8 @@ install (TARGETS Ocaf RUNTIME DESTINATION "${INSTALL_DIR}/bin"
|
||||
LIBRARY DESTINATION "${INSTALL_DIR}/lib")
|
||||
|
||||
include_directories (${OCCT_ROOT}/inc
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common
|
||||
${MFC_STANDARD_SAMPLES_DIR}/06_Ocaf
|
||||
${Ocaf_SRC_DIR})
|
||||
${Ocaf_SRC_DIR}
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common)
|
||||
|
||||
target_link_libraries (Ocaf mfcsample TKLCAF TKBO)
|
@@ -45,8 +45,8 @@ install (TARGETS Triangulation RUNTIME DESTINATION "${INSTALL_DIR}/bin"
|
||||
LIBRARY DESTINATION "${INSTALL_DIR}/lib")
|
||||
|
||||
include_directories (${OCCT_ROOT}/inc
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common
|
||||
${MFC_STANDARD_SAMPLES_DIR}/07_Triangulation
|
||||
${Triangulation_SRC_DIR})
|
||||
${Triangulation_SRC_DIR}
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common)
|
||||
|
||||
target_link_libraries (Triangulation mfcsample TKSTEP209 TKSTEPAttr TKBO)
|
@@ -67,8 +67,8 @@ install (TARGETS HLR RUNTIME DESTINATION "${INSTALL_DIR}/bin"
|
||||
LIBRARY DESTINATION "${INSTALL_DIR}/lib")
|
||||
|
||||
include_directories (${OCCT_ROOT}/inc
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common
|
||||
${HLR_RESOURCE_DIR}
|
||||
${HLR_SRC_DIR})
|
||||
${HLR_SRC_DIR}
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common)
|
||||
|
||||
target_link_libraries (HLR mfcsample)
|
@@ -216,7 +216,8 @@ void CSelectionDialog::OnGetSelectedShapes()
|
||||
OneOrMoreFound = Standard_True;
|
||||
TopoDS_Shape aShape = anAISShape->Shape();
|
||||
myDisplayableShape->Add (aShape);
|
||||
myInteractiveContext->Display (anAISShape);
|
||||
Handle(AIS_Shape) aSelectedShape = new AIS_Shape (aShape);
|
||||
myInteractiveContext->Display (aSelectedShape);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -50,8 +50,8 @@ install (TARGETS Animation RUNTIME DESTINATION "${INSTALL_DIR}/bin"
|
||||
LIBRARY DESTINATION "${INSTALL_DIR}/lib")
|
||||
|
||||
include_directories (${OCCT_ROOT}/inc
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common
|
||||
${Animation_RESOURCE_DIR}
|
||||
${Animation_SRC_DIR})
|
||||
${Animation_SRC_DIR}
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common)
|
||||
|
||||
target_link_libraries (Animation mfcsample TKBO)
|
@@ -67,9 +67,9 @@ install (TARGETS Convert RUNTIME DESTINATION "${INSTALL_DIR}/bin"
|
||||
LIBRARY DESTINATION "${INSTALL_DIR}/lib")
|
||||
|
||||
include_directories (${OCCT_ROOT}/inc
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common
|
||||
${Convert_SRC_DIR}
|
||||
${ISESSION_SUBDIR}
|
||||
${WNT_SUBDIR})
|
||||
${WNT_SUBDIR}
|
||||
${MFC_STANDARD_SAMPLES_DIR}/Common)
|
||||
|
||||
target_link_libraries (Convert mfcsample)
|
@@ -142,13 +142,13 @@ void CAngleParamsVerticesPage::OnBnClickedVertex3Btn()
|
||||
anAspect->TextAspect()->SetHeight (aDimDlg->GetFontHeight());
|
||||
anAspect->MakeTextShaded (aDimDlg->IsText3dShaded());
|
||||
anAspect->SetCommonColor (aDimDlg->GetDimensionColor());
|
||||
anAngleDim->MakeUnitsDisplayed (aDimDlg->IsUnitsDisplayed());
|
||||
if (anAngleDim->IsUnitsDisplayed())
|
||||
anAngleDim->DimensionAspect()->MakeUnitsDisplayed (aDimDlg->IsUnitsDisplayed());
|
||||
if (aDimDlg->IsUnitsDisplayed())
|
||||
{
|
||||
anAngleDim->SetDisplayUnits (aDimDlg->GetUnits());
|
||||
if ((anAngleDim->DisplayUnits().IsEqual (TCollection_AsciiString ("deg"))))
|
||||
if ((anAngleDim->GetDisplayUnits().IsEqual (TCollection_AsciiString ("deg"))))
|
||||
{
|
||||
anAngleDim->MakeUnitsDisplayed (Standard_False);
|
||||
anAngleDim->DimensionAspect()->MakeUnitsDisplayed (Standard_False);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
0
samples/mfc/standard/Common/AngleParamsVerticesPage.h
Normal file → Executable file
0
samples/mfc/standard/Common/AngleParamsVerticesPage.h
Normal file → Executable file
@@ -9,6 +9,7 @@
|
||||
#include "LengthParamsEdgesPage.h"
|
||||
#include "AngleParamsVerticesPage.h"
|
||||
#include "RadiusParamsPage.h"
|
||||
#include "ParamsFacesPage.h"
|
||||
#include <Standard_Macro.hxx>
|
||||
#include <AIS_InteractiveContext.hxx>
|
||||
#include <TColStd_ListIteratorOfListOfInteger.hxx>
|
||||
@@ -30,6 +31,7 @@ BEGIN_MESSAGE_MAP(CDimensionDlg, CDialog)
|
||||
ON_BN_CLICKED(IDC_2DText, &CDimensionDlg::OnBnClicked2dText)
|
||||
ON_BN_CLICKED(IDC_3DText, &CDimensionDlg::OnBnClicked3dText)
|
||||
ON_BN_CLICKED(IDC_DimensionColor, &CDimensionDlg::OnBnClickedDimensionColor)
|
||||
ON_WM_CLOSE()
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
//=======================================================================
|
||||
@@ -171,6 +173,8 @@ void CDimensionDlg::CreateLengthParamsTab()
|
||||
myLengthParams->InsertItem (1, &aTabItem);
|
||||
aTabItem.pszText = "Parallel edges";
|
||||
myLengthParams->InsertItem (2, &aTabItem);
|
||||
aTabItem.pszText = "Parallel faces";
|
||||
myLengthParams->InsertItem (3, &aTabItem);
|
||||
|
||||
CLengthParamsEdgePage *aPage1 = new CLengthParamsEdgePage (myAISContext);
|
||||
aTabItem.mask = TCIF_PARAM;
|
||||
@@ -186,6 +190,7 @@ void CDimensionDlg::CreateLengthParamsTab()
|
||||
myLengthParams->SetItem (1, &aTabItem);
|
||||
VERIFY (aPage2->Create (CLengthParamsVerticesPage::IDD,myLengthParams));
|
||||
aPage2->SetWindowPos (NULL,10,30,0,0,SWP_NOSIZE | SWP_NOZORDER);
|
||||
aPage2->ShowWindow (SW_HIDE);
|
||||
|
||||
CLengthParamsEdgesPage *aPage3 = new CLengthParamsEdgesPage (myAISContext);
|
||||
aTabItem.mask = TCIF_PARAM;
|
||||
@@ -193,6 +198,15 @@ void CDimensionDlg::CreateLengthParamsTab()
|
||||
myLengthParams->SetItem (2, &aTabItem);
|
||||
VERIFY (aPage3->Create (CLengthParamsEdgesPage::IDD,myLengthParams));
|
||||
aPage3->SetWindowPos (NULL,10,30,0,0,SWP_NOSIZE | SWP_NOZORDER);
|
||||
aPage3->ShowWindow (SW_HIDE);
|
||||
|
||||
CParamsFacesPage *aPage4 = new CParamsFacesPage (myAISContext);
|
||||
aTabItem.mask = TCIF_PARAM;
|
||||
aTabItem.lParam = (LPARAM)aPage4;
|
||||
myLengthParams->SetItem (3, &aTabItem);
|
||||
VERIFY (aPage4->Create (CParamsFacesPage::IDD,myLengthParams));
|
||||
aPage4->SetWindowPos (NULL,10,30,0,0,SWP_NOSIZE | SWP_NOZORDER);
|
||||
aPage4->ShowWindow (SW_HIDE);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@@ -208,6 +222,8 @@ void CDimensionDlg::CreateAngleParamsTab()
|
||||
myAngleParams->InsertItem (0, &aTabItem);
|
||||
aTabItem.pszText = "Three vertices";
|
||||
myAngleParams->InsertItem (1, &aTabItem);
|
||||
aTabItem.pszText = "Two faces";
|
||||
myAngleParams->InsertItem (2, &aTabItem);
|
||||
|
||||
CLengthParamsEdgesPage *aPage1 = new CLengthParamsEdgesPage (myAISContext, true);
|
||||
aTabItem.mask = TCIF_PARAM;
|
||||
@@ -223,6 +239,15 @@ void CDimensionDlg::CreateAngleParamsTab()
|
||||
myAngleParams->SetItem (1, &aTabItem);
|
||||
VERIFY (aPage2->Create (CAngleParamsVerticesPage::IDD,myAngleParams));
|
||||
aPage2->SetWindowPos (NULL,10,30,0,0,SWP_NOSIZE | SWP_NOZORDER);
|
||||
aPage2->ShowWindow (SW_HIDE);
|
||||
|
||||
CParamsFacesPage *aPage3 = new CParamsFacesPage (myAISContext, true);
|
||||
aTabItem.mask = TCIF_PARAM;
|
||||
aTabItem.lParam = (LPARAM)aPage3;
|
||||
myAngleParams->SetItem (2, &aTabItem);
|
||||
VERIFY (aPage3->Create (CParamsFacesPage::IDD,myAngleParams));
|
||||
aPage3->SetWindowPos (NULL,10,30,0,0,SWP_NOSIZE | SWP_NOZORDER);
|
||||
aPage3->ShowWindow (SW_HIDE);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@@ -275,7 +300,22 @@ void CDimensionDlg::UpdateStandardModeForAngle()
|
||||
int aTabNum = ((CTabCtrl*) GetDlgItem (IDC_AngleTab))->GetCurSel();
|
||||
myAISContext->CloseAllContexts();
|
||||
myAISContext->OpenLocalContext();
|
||||
myAISContext->ActivateStandardMode (aTabNum == 1 ? TopAbs_VERTEX : TopAbs_EDGE);
|
||||
TopAbs_ShapeEnum aMode;
|
||||
|
||||
if (aTabNum == 1)
|
||||
{
|
||||
aMode = TopAbs_VERTEX;
|
||||
}
|
||||
else if (aTabNum == 2)
|
||||
{
|
||||
aMode = TopAbs_FACE;
|
||||
}
|
||||
else
|
||||
{
|
||||
aMode = TopAbs_EDGE;
|
||||
}
|
||||
|
||||
myAISContext->ActivateStandardMode (aMode);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@@ -288,7 +328,21 @@ void CDimensionDlg::UpdateStandardModeForLength()
|
||||
int aTabNum = ((CTabCtrl*) GetDlgItem (IDC_LengthTab))->GetCurSel();
|
||||
myAISContext->CloseAllContexts();
|
||||
myAISContext->OpenLocalContext();
|
||||
myAISContext->ActivateStandardMode (aTabNum == 1 ? TopAbs_VERTEX : TopAbs_EDGE);
|
||||
TopAbs_ShapeEnum aMode;
|
||||
|
||||
if (aTabNum == 1)
|
||||
{
|
||||
aMode = TopAbs_VERTEX;
|
||||
}
|
||||
else if (aTabNum == 3)
|
||||
{
|
||||
aMode = TopAbs_FACE;
|
||||
}
|
||||
else
|
||||
{
|
||||
aMode = TopAbs_EDGE;
|
||||
}
|
||||
myAISContext->ActivateStandardMode (aMode);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@@ -500,11 +554,12 @@ void CDimensionDlg::OnDestroy()
|
||||
{
|
||||
myAISContext->CloseAllContexts();
|
||||
}
|
||||
// Destroy length tab
|
||||
CWnd *aWnd;
|
||||
TC_ITEM anItem;
|
||||
anItem.mask = TCIF_PARAM;
|
||||
for (int i = 2; i >= 0; --i)
|
||||
|
||||
// Destroy length tab
|
||||
for (int i = 3; i >= 0; --i)
|
||||
{
|
||||
((CTabCtrl*) GetDlgItem (IDC_LengthTab))->GetItem (i, &anItem);
|
||||
ASSERT (anItem.lParam);
|
||||
@@ -513,7 +568,7 @@ void CDimensionDlg::OnDestroy()
|
||||
delete aWnd;
|
||||
}
|
||||
// Destroy angle tab
|
||||
for (int i = 1; i >= 0; --i)
|
||||
for (int i = 2; i >= 0; --i)
|
||||
{
|
||||
((CTabCtrl*) GetDlgItem (IDC_AngleTab))->GetItem (i, &anItem);
|
||||
ASSERT(anItem.lParam);
|
||||
@@ -522,6 +577,20 @@ void CDimensionDlg::OnDestroy()
|
||||
delete aWnd;
|
||||
}
|
||||
|
||||
// Destroy radius tab
|
||||
((CTabCtrl*) GetDlgItem (IDC_RadiusTab))->GetItem (0, &anItem);
|
||||
ASSERT(anItem.lParam);
|
||||
aWnd = (CWnd*) anItem.lParam;
|
||||
aWnd->DestroyWindow();
|
||||
delete aWnd;
|
||||
|
||||
// Destroy diameter tab
|
||||
((CTabCtrl*) GetDlgItem (IDC_DiameterTab))->GetItem (0, &anItem);
|
||||
ASSERT(anItem.lParam);
|
||||
aWnd = (CWnd*) anItem.lParam;
|
||||
aWnd->DestroyWindow();
|
||||
delete aWnd;
|
||||
|
||||
CDialog::OnDestroy();
|
||||
}
|
||||
|
||||
@@ -684,3 +753,12 @@ const Quantity_Color CDimensionDlg::GetDimensionColor() const
|
||||
{
|
||||
return myDimensionColor;
|
||||
}
|
||||
|
||||
void CDimensionDlg::OnClose()
|
||||
{
|
||||
if (myAISContext->HasOpenedContext())
|
||||
{
|
||||
myAISContext->CloseAllContexts();
|
||||
}
|
||||
CDialog::OnClose();
|
||||
}
|
||||
|
1
samples/mfc/standard/Common/DimensionDlg.h
Normal file → Executable file
1
samples/mfc/standard/Common/DimensionDlg.h
Normal file → Executable file
@@ -76,4 +76,5 @@ public:
|
||||
afx_msg void OnBnClicked2dText();
|
||||
afx_msg void OnBnClicked3dText();
|
||||
afx_msg void OnBnClickedDimensionColor();
|
||||
afx_msg void OnClose();
|
||||
};
|
||||
|
@@ -96,8 +96,8 @@ void CLengthParamsEdgePage::OnBnClickedChooseEdgeBtn()
|
||||
anAspect->TextAspect()->SetHeight (aDimDlg->GetFontHeight());
|
||||
anAspect->MakeTextShaded (aDimDlg->IsText3dShaded());
|
||||
anAspect->SetCommonColor (aDimDlg->GetDimensionColor());
|
||||
aLenDim->MakeUnitsDisplayed (aDimDlg->IsUnitsDisplayed());
|
||||
if (aLenDim->IsUnitsDisplayed())
|
||||
aLenDim->DimensionAspect()->MakeUnitsDisplayed (aDimDlg->IsUnitsDisplayed());
|
||||
if (aDimDlg->IsUnitsDisplayed())
|
||||
{
|
||||
aLenDim->SetDisplayUnits (aDimDlg->GetUnits());
|
||||
}
|
||||
|
0
samples/mfc/standard/Common/LengthParamsEdgePage.h
Normal file → Executable file
0
samples/mfc/standard/Common/LengthParamsEdgePage.h
Normal file → Executable file
@@ -127,13 +127,13 @@ void CLengthParamsEdgesPage::OnBnClickedEdge2Btn()
|
||||
// Build an angle dimension between two non-parallel edges
|
||||
Handle(AIS_AngleDimension) anAngleDim = new AIS_AngleDimension (myFirstEdge, mySecondEdge);
|
||||
anAngleDim->SetDimensionAspect (anAspect);
|
||||
anAngleDim->MakeUnitsDisplayed (aDimDlg->IsUnitsDisplayed());
|
||||
if (anAngleDim->IsUnitsDisplayed())
|
||||
anAngleDim->DimensionAspect()->MakeUnitsDisplayed (aDimDlg->IsUnitsDisplayed());
|
||||
if (aDimDlg->IsUnitsDisplayed())
|
||||
{
|
||||
anAngleDim->SetDisplayUnits (aDimDlg->GetUnits ());
|
||||
if ((anAngleDim->DisplayUnits().IsEqual (TCollection_AsciiString ("deg"))))
|
||||
if ((anAngleDim->GetDisplayUnits().IsEqual (TCollection_AsciiString ("deg"))))
|
||||
{
|
||||
anAngleDim->MakeUnitsDisplayed (Standard_False);
|
||||
anAngleDim->DimensionAspect()->MakeUnitsDisplayed (Standard_False);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -148,8 +148,8 @@ void CLengthParamsEdgesPage::OnBnClickedEdge2Btn()
|
||||
{
|
||||
Handle(AIS_LengthDimension) aLenDim = new AIS_LengthDimension (myFirstEdge, mySecondEdge, aPlane->Pln());
|
||||
aLenDim->SetDimensionAspect (anAspect);
|
||||
aLenDim->MakeUnitsDisplayed (aDimDlg->IsUnitsDisplayed());
|
||||
if (aLenDim->IsUnitsDisplayed())
|
||||
aLenDim->DimensionAspect()->MakeUnitsDisplayed (aDimDlg->IsUnitsDisplayed());
|
||||
if (aDimDlg->IsUnitsDisplayed())
|
||||
{
|
||||
aLenDim->SetFlyout (aDimDlg->GetFlyout());
|
||||
aLenDim->SetDisplayUnits (aDimDlg->GetUnits());
|
||||
|
0
samples/mfc/standard/Common/LengthParamsEdgesPage.h
Normal file → Executable file
0
samples/mfc/standard/Common/LengthParamsEdgesPage.h
Normal file → Executable file
@@ -117,8 +117,8 @@ void CLengthParamsVerticesPage::OnBnClickedVertex2Btn()
|
||||
anAspect->MakeText3d (aDimDlg->GetTextType());
|
||||
anAspect->TextAspect()->SetHeight (aDimDlg->GetFontHeight());
|
||||
anAspect->MakeTextShaded (aDimDlg->IsText3dShaded());
|
||||
aLenDim->MakeUnitsDisplayed (aDimDlg->IsUnitsDisplayed());
|
||||
if (aLenDim->IsUnitsDisplayed ())
|
||||
aLenDim->DimensionAspect()->MakeUnitsDisplayed (aDimDlg->IsUnitsDisplayed());
|
||||
if (aDimDlg->IsUnitsDisplayed())
|
||||
{
|
||||
aLenDim->SetDisplayUnits (aDimDlg->GetUnits ());
|
||||
}
|
||||
|
0
samples/mfc/standard/Common/LengthParamsVerticesPage.h
Normal file → Executable file
0
samples/mfc/standard/Common/LengthParamsVerticesPage.h
Normal file → Executable file
0
samples/mfc/standard/Common/OCC_App.h
Normal file → Executable file
0
samples/mfc/standard/Common/OCC_App.h
Normal file → Executable file
120
samples/mfc/standard/Common/ParamsFacesPage.cpp
Normal file
120
samples/mfc/standard/Common/ParamsFacesPage.cpp
Normal file
@@ -0,0 +1,120 @@
|
||||
// ParamsFacesPage.cpp : implementation file
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "ParamsFacesPage.h"
|
||||
#include "DimensionDlg.h"
|
||||
#include <AIS_InteractiveContext.hxx>
|
||||
#include <AIS_LocalContext.hxx>
|
||||
#include <AIS_LengthDimension.hxx>
|
||||
#include <AIS_AngleDimension.hxx>
|
||||
|
||||
// CParamsFacesPage dialog
|
||||
|
||||
IMPLEMENT_DYNAMIC(CParamsFacesPage, CDialog)
|
||||
|
||||
CParamsFacesPage::CParamsFacesPage (Handle(AIS_InteractiveContext) theAISContext,
|
||||
bool isAngleDimension /*= false*/,
|
||||
CWnd* pParent /*=NULL*/)
|
||||
: CDialog(CParamsFacesPage::IDD, pParent),
|
||||
myAISContext (theAISContext),
|
||||
myIsAngleDimension (isAngleDimension)
|
||||
{
|
||||
}
|
||||
|
||||
CParamsFacesPage::~CParamsFacesPage()
|
||||
{
|
||||
}
|
||||
|
||||
void CParamsFacesPage::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
}
|
||||
|
||||
|
||||
BEGIN_MESSAGE_MAP(CParamsFacesPage, CDialog)
|
||||
ON_BN_CLICKED(IDC_FacesBtn1, &CParamsFacesPage::OnBnClickedFacesbtn1)
|
||||
ON_BN_CLICKED(IDC_FacesBtn2, &CParamsFacesPage::OnBnClickedFacesbtn2)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CParamsFacesPage message handlers
|
||||
|
||||
void CParamsFacesPage::OnBnClickedFacesbtn1()
|
||||
{
|
||||
// Check if face is selected
|
||||
myAISContext->LocalContext()->InitSelected();
|
||||
if (!myAISContext->LocalContext()->MoreSelected())
|
||||
{
|
||||
AfxMessageBox(_T("Choose the face and press the button again"),
|
||||
MB_ICONINFORMATION | MB_OK);
|
||||
return;
|
||||
}
|
||||
|
||||
myFirstFace = TopoDS::Face (myAISContext->LocalContext()->SelectedShape());
|
||||
myAISContext->LocalContext()->ClearSelected();
|
||||
}
|
||||
|
||||
void CParamsFacesPage::OnBnClickedFacesbtn2()
|
||||
{
|
||||
// Check if face is selected
|
||||
myAISContext->LocalContext()->InitSelected();
|
||||
if (!myAISContext->LocalContext()->MoreSelected())
|
||||
{
|
||||
AfxMessageBox(_T("Choose the face and press the button again"),
|
||||
MB_ICONINFORMATION | MB_OK);
|
||||
return;
|
||||
}
|
||||
|
||||
mySecondFace = TopoDS::Face (myAISContext->LocalContext()->SelectedShape());
|
||||
myAISContext->LocalContext()->ClearSelected();
|
||||
|
||||
CDimensionDlg *aDimDlg = (CDimensionDlg*)(GetParentOwner());
|
||||
|
||||
myAISContext->CloseAllContexts();
|
||||
|
||||
Handle(Prs3d_DimensionAspect) anAspect = new Prs3d_DimensionAspect();
|
||||
anAspect->MakeArrows3d (Standard_False);
|
||||
anAspect->MakeText3d (aDimDlg->GetTextType());
|
||||
anAspect->TextAspect()->SetHeight (aDimDlg->GetFontHeight());
|
||||
anAspect->MakeTextShaded (aDimDlg->IsText3dShaded());
|
||||
anAspect->SetCommonColor (aDimDlg->GetDimensionColor());
|
||||
if (myIsAngleDimension)
|
||||
{
|
||||
// Build an angle dimension between two non-parallel edges
|
||||
Handle(AIS_AngleDimension) anAngleDim = new AIS_AngleDimension (myFirstFace, mySecondFace);
|
||||
anAngleDim->SetDimensionAspect (anAspect);
|
||||
anAngleDim->DimensionAspect()->MakeUnitsDisplayed (aDimDlg->IsUnitsDisplayed());
|
||||
if (aDimDlg->IsUnitsDisplayed())
|
||||
{
|
||||
anAngleDim->SetDisplayUnits (aDimDlg->GetUnits ());
|
||||
if ((anAngleDim->GetDisplayUnits().IsEqual (TCollection_AsciiString ("deg"))))
|
||||
{
|
||||
anAngleDim->DimensionAspect()->MakeUnitsDisplayed (Standard_False);
|
||||
}
|
||||
else
|
||||
{
|
||||
anAngleDim->SetDisplaySpecialSymbol (AIS_DSS_No);
|
||||
}
|
||||
}
|
||||
|
||||
anAngleDim->SetFlyout (aDimDlg->GetFlyout());
|
||||
myAISContext->Display (anAngleDim);
|
||||
}
|
||||
else
|
||||
{
|
||||
Handle(AIS_LengthDimension) aLenDim = new AIS_LengthDimension (myFirstFace, mySecondFace);
|
||||
aLenDim->SetDimensionAspect (anAspect);
|
||||
aLenDim->DimensionAspect()->MakeUnitsDisplayed (aDimDlg->IsUnitsDisplayed());
|
||||
if (aLenDim->DimensionAspect()->IsUnitsDisplayed())
|
||||
{
|
||||
aLenDim->SetFlyout (aDimDlg->GetFlyout());
|
||||
aLenDim->SetDisplayUnits (aDimDlg->GetUnits());
|
||||
}
|
||||
|
||||
myAISContext->Display (aLenDim);
|
||||
}
|
||||
|
||||
myAISContext->OpenLocalContext();
|
||||
myAISContext->ActivateStandardMode (TopAbs_FACE);
|
||||
}
|
31
samples/mfc/standard/Common/ParamsFacesPage.h
Normal file
31
samples/mfc/standard/Common/ParamsFacesPage.h
Normal file
@@ -0,0 +1,31 @@
|
||||
#pragma once
|
||||
|
||||
#include "res\OCC_Resource.h"
|
||||
// CParamsFacesPage dialog
|
||||
|
||||
class CParamsFacesPage : public CDialog
|
||||
{
|
||||
DECLARE_DYNAMIC(CParamsFacesPage)
|
||||
private:
|
||||
Handle(AIS_InteractiveContext) myAISContext;
|
||||
bool myIsAngleDimension;
|
||||
TopoDS_Face myFirstFace;
|
||||
TopoDS_Face mySecondFace;
|
||||
public:
|
||||
CParamsFacesPage (Handle(AIS_InteractiveContext) theAISContext,
|
||||
bool isAngleDimension = false,
|
||||
CWnd* pParent = NULL); // standard constructor
|
||||
|
||||
virtual ~CParamsFacesPage();
|
||||
|
||||
// Dialog Data
|
||||
enum { IDD = IDD_ParamsFacesPage };
|
||||
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
public:
|
||||
afx_msg void OnBnClickedFacesbtn1();
|
||||
afx_msg void OnBnClickedFacesbtn2();
|
||||
};
|
@@ -98,14 +98,12 @@ void CRadiusParamsPage::OnBnClickedObjectBtn()
|
||||
Handle(AIS_Dimension) aDim;
|
||||
if (myIsDiameterDimension)
|
||||
{
|
||||
aDim = isAttachPoint ? new AIS_DiameterDimension (aCircle, ElCLib::Value ((aFirstPar + aLastPar) / 2.0, aCircle))
|
||||
: new AIS_DiameterDimension (aCircle);
|
||||
aDim = new AIS_DiameterDimension (aCircle);
|
||||
Handle(AIS_DiameterDimension)::DownCast(aDim)->SetFlyout (aDimDlg->GetFlyout());
|
||||
}
|
||||
else
|
||||
{
|
||||
aDim = isAttachPoint ? new AIS_RadiusDimension (aCircle, ElCLib::Value ((aFirstPar + aLastPar) / 2.0, aCircle))
|
||||
: new AIS_RadiusDimension (aCircle);
|
||||
aDim = new AIS_RadiusDimension (aCircle);
|
||||
Handle(AIS_RadiusDimension)::DownCast(aDim)->SetFlyout (aDimDlg->GetFlyout());
|
||||
}
|
||||
|
||||
@@ -115,8 +113,8 @@ void CRadiusParamsPage::OnBnClickedObjectBtn()
|
||||
anAspect->TextAspect()->SetHeight (aDimDlg->GetFontHeight());
|
||||
anAspect->MakeTextShaded (aDimDlg->IsText3dShaded());
|
||||
anAspect->SetCommonColor (aDimDlg->GetDimensionColor());
|
||||
aDim->MakeUnitsDisplayed (aDimDlg->IsUnitsDisplayed());
|
||||
if (aDim->IsUnitsDisplayed())
|
||||
aDim->DimensionAspect()->MakeUnitsDisplayed (aDimDlg->IsUnitsDisplayed());
|
||||
if (aDimDlg->IsUnitsDisplayed())
|
||||
{
|
||||
aDim->SetDisplayUnits (aDimDlg->GetUnits());
|
||||
}
|
||||
|
0
samples/mfc/standard/Common/RadiusParamsPage.h
Normal file → Executable file
0
samples/mfc/standard/Common/RadiusParamsPage.h
Normal file → Executable file
@@ -2,6 +2,7 @@
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by OCC_Resource.rc
|
||||
//
|
||||
#define IDD_ParamsFacesPage 101
|
||||
#define IDR_POPUP 116
|
||||
#define IDD_Dimension 119
|
||||
#define IDD_LengthParamsEdgePage 122
|
||||
@@ -61,6 +62,10 @@
|
||||
#define IDC_TextDisplayMode 1047
|
||||
#define IDC_TextDisplayModeStatic 1048
|
||||
#define IDC_DimensionColor 1049
|
||||
#define IDC_FacesSt1 1052
|
||||
#define IDC_FacesSt2 1053
|
||||
#define IDC_FacesBtn1 1054
|
||||
#define IDC_FacesBtn2 1055
|
||||
#define ID_WINDOW_NEW3D 1151
|
||||
#define ID_OBJECT_DISPLAYALL 1201
|
||||
#define ID_OBJECT_MATERIAL 1205
|
||||
@@ -176,7 +181,7 @@
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 131
|
||||
#define _APS_NEXT_COMMAND_VALUE 40038
|
||||
#define _APS_NEXT_CONTROL_VALUE 1052
|
||||
#define _APS_NEXT_CONTROL_VALUE 1055
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
|
@@ -281,6 +281,16 @@ BEGIN
|
||||
CONTROL "",IDC_Flyout,"msctls_trackbar32",TBS_TOP | TBS_TOOLTIPS | WS_TABSTOP,73,112,100,20
|
||||
END
|
||||
|
||||
IDD_ParamsFacesPage DIALOGEX 0, 0, 134, 73
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "Face1",IDC_FacesSt1,18,14,20,8
|
||||
LTEXT "Face2",IDC_FacesSt2,18,35,20,8
|
||||
PUSHBUTTON "Click to set up selected face",IDC_FacesBtn1,63,7,52,24,BS_MULTILINE
|
||||
PUSHBUTTON "Click to set up selected face",IDC_FacesBtn2,64,39,51,24,BS_MULTILINE
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -475,6 +485,14 @@ BEGIN
|
||||
BOTTOMMARGIN, 336
|
||||
HORZGUIDE, 336
|
||||
END
|
||||
|
||||
IDD_ParamsFacesPage, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 127
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 66
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
@@ -22,6 +22,7 @@ set (COMMON_SOURCE_FILES ${MFC_STANDARD_COMMON_SAMPLES_DIR}/AISDialogs.cpp
|
||||
${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseChildFrame.cpp
|
||||
${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseView.cpp
|
||||
${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_MainFrame.cpp
|
||||
${MFC_STANDARD_COMMON_SAMPLES_DIR}/ParamsFacesPage.cpp
|
||||
${MFC_STANDARD_COMMON_SAMPLES_DIR}/ResultDialog.cpp
|
||||
${MFC_STANDARD_COMMON_SAMPLES_DIR}/User_Cylinder.cxx
|
||||
${MFC_STANDARD_COMMON_SAMPLES_DIR}/ColoredMeshDlg.cpp
|
||||
@@ -79,6 +80,7 @@ set (COMMON_HEADER_FILES ${MFC_STANDARD_COMMON_SAMPLES_DIR}/AISDialogs.h
|
||||
${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseChildFrame.h
|
||||
${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_BaseView.h
|
||||
${MFC_STANDARD_COMMON_SAMPLES_DIR}/OCC_MainFrame.h
|
||||
${MFC_STANDARD_COMMON_SAMPLES_DIR}/ParamsFacesPage.h
|
||||
${MFC_STANDARD_COMMON_SAMPLES_DIR}/ResultDialog.h
|
||||
${MFC_STANDARD_COMMON_SAMPLES_DIR}/User_Cylinder.hxx
|
||||
${MFC_STANDARD_COMMON_SAMPLES_DIR}/ColoredMeshDlg.h
|
||||
|
@@ -296,6 +296,7 @@
|
||||
<ClCompile Include="..\..\..\..\Common\LengthParamsEdgesPage.cpp" />
|
||||
<ClCompile Include="..\..\..\..\Common\LengthParamsVerticesPage.cpp" />
|
||||
<ClCompile Include="..\..\..\..\Common\RadiusParamsPage.cpp" />
|
||||
<ClCompile Include="..\..\..\..\Common\ParamsFacesPage.cpp" />
|
||||
<ClCompile Include="..\..\..\src\mfcsample.cpp">
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@@ -739,6 +740,7 @@
|
||||
<ClInclude Include="..\..\..\..\Common\OCC_BaseView.h" />
|
||||
<ClInclude Include="..\..\..\..\Common\OCC_MainFrame.h" />
|
||||
<ClInclude Include="..\..\..\..\Common\RadiusParamsPage.h" />
|
||||
<ClInclude Include="..\..\..\..\Common\ParamsFacesPage.h" />
|
||||
<ClInclude Include="..\..\..\..\Common\res\OCC_Resource.h" />
|
||||
<ClInclude Include="..\..\..\..\Common\ResultDialog.h" />
|
||||
<ClInclude Include="..\..\..\..\Common\ImportExport\SaveCSFDBDlg.h" />
|
||||
|
@@ -138,6 +138,9 @@
|
||||
<ClCompile Include="..\..\..\..\Common\RadiusParamsPage.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\Common\ParamsFacesPage.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\..\..\..\Common\res\OCC_Resource.rc">
|
||||
@@ -247,6 +250,9 @@
|
||||
<ClInclude Include="..\..\..\..\Common\RadiusParamsPage.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\Common\ParamsFacesPage.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\..\..\Common\res\2dChildFrameTB.bmp">
|
||||
|
@@ -300,6 +300,7 @@
|
||||
<ClCompile Include="..\..\..\..\Common\LengthParamsEdgesPage.cpp" />
|
||||
<ClCompile Include="..\..\..\..\Common\LengthParamsVerticesPage.cpp" />
|
||||
<ClCompile Include="..\..\..\..\Common\RadiusParamsPage.cpp" />
|
||||
<ClCompile Include="..\..\..\..\Common\ParamsFacesPage.cpp" />
|
||||
<ClCompile Include="..\..\..\src\mfcsample.cpp">
|
||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
@@ -743,6 +744,7 @@
|
||||
<ClInclude Include="..\..\..\..\Common\OCC_BaseView.h" />
|
||||
<ClInclude Include="..\..\..\..\Common\OCC_MainFrame.h" />
|
||||
<ClInclude Include="..\..\..\..\Common\RadiusParamsPage.h" />
|
||||
<ClInclude Include="..\..\..\..\Common\ParamsFacesPage.h" />
|
||||
<ClInclude Include="..\..\..\..\Common\res\OCC_Resource.h" />
|
||||
<ClInclude Include="..\..\..\..\Common\ResultDialog.h" />
|
||||
<ClInclude Include="..\..\..\..\Common\ImportExport\SaveCSFDBDlg.h" />
|
||||
|
@@ -138,6 +138,9 @@
|
||||
<ClCompile Include="..\..\..\..\Common\RadiusParamsPage.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\..\Common\ParamsFacesPage.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\..\..\..\Common\res\OCC_Resource.rc">
|
||||
@@ -247,6 +250,9 @@
|
||||
<ClInclude Include="..\..\..\..\Common\RadiusParamsPage.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\Common\ParamsFacesPage.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\..\..\Common\res\2dChildFrameTB.bmp">
|
||||
|
@@ -1172,6 +1172,10 @@
|
||||
RelativePath="..\..\..\..\Common\RadiusParamsPage.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\Common\ParamsFacesPage.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\Common\ResultDialog.cpp"
|
||||
>
|
||||
@@ -1839,6 +1843,10 @@
|
||||
RelativePath="..\..\..\..\Common\RadiusParamsPage.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\Common\ParamsFacesPage.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\Common\ResultDialog.h"
|
||||
>
|
||||
|
@@ -465,6 +465,10 @@
|
||||
RelativePath="..\..\..\..\Common\AngleParamsVerticesPage.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\Common\ParamsFacesPage.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\Common\DimensionDlg.cpp"
|
||||
>
|
||||
@@ -1772,6 +1776,10 @@
|
||||
RelativePath="..\..\..\..\Common\LengthParamsEdgePage.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\Common\ParamsFacesPage.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\Common\LengthParamsEdgesPage.h"
|
||||
>
|
||||
|
@@ -1,24 +1,18 @@
|
||||
// Created on: 1999-12-28
|
||||
// Created by: Sergey RUIN
|
||||
// Copyright (c) 1999-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
|
||||
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <TDF_Data.hxx>
|
||||
#include <TDF_Label.hxx>
|
||||
|
@@ -1,24 +1,18 @@
|
||||
// Created on: 1999-12-28
|
||||
// Created by: Sergey RUIN
|
||||
// Copyright (c) 1999-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
|
||||
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <TDF_Data.hxx>
|
||||
#include <TDF_Label.hxx>
|
||||
|
@@ -1,23 +1,18 @@
|
||||
// Created on: 1999-12-29
|
||||
// Created by: Sergey RUIN
|
||||
// Copyright (c) 1999-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <gp_Vec.hxx>
|
||||
#include <gp_Trsf.hxx>
|
||||
|
@@ -1,25 +1,18 @@
|
||||
// Created on: 1999-12-27
|
||||
// Created by: Sergey RUIN
|
||||
// Copyright (c) 1999-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
|
||||
|
||||
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <TDF_Data.hxx>
|
||||
#include <TDF_Label.hxx>
|
||||
|
0
samples/qt/VoxelDemo/inc/Application.h
Normal file → Executable file
0
samples/qt/VoxelDemo/inc/Application.h
Normal file → Executable file
0
samples/qt/VoxelDemo/inc/ConversionThread.h
Normal file → Executable file
0
samples/qt/VoxelDemo/inc/ConversionThread.h
Normal file → Executable file
0
samples/qt/VoxelDemo/inc/Timer.h
Normal file → Executable file
0
samples/qt/VoxelDemo/inc/Timer.h
Normal file → Executable file
0
samples/qt/VoxelDemo/inc/Viewer.h
Normal file → Executable file
0
samples/qt/VoxelDemo/inc/Viewer.h
Normal file → Executable file
@@ -1,21 +1,16 @@
|
||||
/*
|
||||
Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
|
||||
The content of this file is subject to the Open CASCADE Technology Public
|
||||
License Version 6.5 (the "License"). You may not use the content of this file
|
||||
except in compliance with the License. Please obtain a copy of the License
|
||||
at http://www.opencascade.org and read it completely before using this file.
|
||||
This file is part of Open CASCADE Technology software library.
|
||||
|
||||
The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
|
||||
The Original Code and all software distributed under the License is
|
||||
distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
Initial Developer hereby disclaims all such warranties, including without
|
||||
limitation, any warranties of merchantability, fitness for a particular
|
||||
purpose or non-infringement. Please see the License for the specific terms
|
||||
and conditions governing the rights and limitations under the License.
|
||||
This library is free software; you can redistribute it and / or modify it
|
||||
under the terms of the GNU Lesser General Public 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 _VOXEL_VISDRAWER_H_
|
||||
|
@@ -15,6 +15,8 @@
|
||||
#include <Aspect_DisplayConnection.hxx>
|
||||
#include <Graphic3d.hxx>
|
||||
#include <OpenGl_GraphicDriver.hxx>
|
||||
#include <V3d_DirectionalLight.hxx>
|
||||
#include <V3d_AmbientLight.hxx>
|
||||
|
||||
static Handle(Graphic3d_GraphicDriver) Viewer_aGraphicDriver;
|
||||
|
||||
@@ -72,6 +74,9 @@ Viewer::Viewer(QWidget* parent):QWidget(parent)
|
||||
setFocusPolicy( Qt::StrongFocus );
|
||||
setAttribute( Qt::WA_PaintOnScreen );
|
||||
setAttribute( Qt::WA_NoSystemBackground );
|
||||
|
||||
aViewer->SetLightOn(new V3d_DirectionalLight(aViewer, V3d_XnegYnegZneg, Quantity_NOC_WHITE, Standard_True));
|
||||
aViewer->SetLightOn(new V3d_AmbientLight(aViewer, Quantity_NOC_WHITE));
|
||||
}
|
||||
|
||||
Viewer::~Viewer()
|
||||
|
@@ -1,19 +1,15 @@
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include "VoxelClient_VisDrawer.h"
|
||||
|
||||
|
@@ -1,19 +1,15 @@
|
||||
# Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
# Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
#
|
||||
# The content of this file is subject to the Open CASCADE Technology Public
|
||||
# License Version 6.5 (the "License"). You may not use the content of this file
|
||||
# except in compliance with the License. Please obtain a copy of the License
|
||||
# at http://www.opencascade.org and read it completely before using this file.
|
||||
# This file is part of Open CASCADE Technology software library.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
# main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
# This library is free software; you can redistribute it and / or modify it
|
||||
# under the terms of the GNU Lesser General Public 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.
|
||||
#
|
||||
# The Original Code and all software distributed under the License is
|
||||
# distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
# Initial Developer hereby disclaims all such warranties, including without
|
||||
# limitation, any warranties of merchantability, fitness for a particular
|
||||
# purpose or non-infringement. Please see the License for the specific terms
|
||||
# and conditions governing the rights and limitations under the License.
|
||||
# Alternatively, this file may be used under the terms of Open CASCADE
|
||||
# commercial license or contractual agreement.
|
||||
|
||||
# Command to log a message to both command-line and dialog window
|
||||
proc sage { a} {
|
||||
|
@@ -1,19 +1,15 @@
|
||||
# Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
# Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
#
|
||||
# The content of this file is subject to the Open CASCADE Technology Public
|
||||
# License Version 6.5 (the "License"). You may not use the content of this file
|
||||
# except in compliance with the License. Please obtain a copy of the License
|
||||
# at http://www.opencascade.org and read it completely before using this file.
|
||||
# This file is part of Open CASCADE Technology software library.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
# main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
# This library is free software; you can redistribute it and / or modify it
|
||||
# under the terms of the GNU Lesser General Public 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.
|
||||
#
|
||||
# The Original Code and all software distributed under the License is
|
||||
# distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
# Initial Developer hereby disclaims all such warranties, including without
|
||||
# limitation, any warranties of merchantability, fitness for a particular
|
||||
# purpose or non-infringement. Please see the License for the specific terms
|
||||
# and conditions governing the rights and limitations under the License.
|
||||
# Alternatively, this file may be used under the terms of Open CASCADE
|
||||
# commercial license or contractual agreement.
|
||||
|
||||
# Command to log a message to both command-line and dialog window
|
||||
proc sage { a} {
|
||||
|
@@ -1,19 +1,15 @@
|
||||
# Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
# Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
#
|
||||
# The content of this file is subject to the Open CASCADE Technology Public
|
||||
# License Version 6.5 (the "License"). You may not use the content of this file
|
||||
# except in compliance with the License. Please obtain a copy of the License
|
||||
# at http://www.opencascade.org and read it completely before using this file.
|
||||
# This file is part of Open CASCADE Technology software library.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
# main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
# This library is free software; you can redistribute it and / or modify it
|
||||
# under the terms of the GNU Lesser General Public 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.
|
||||
#
|
||||
# The Original Code and all software distributed under the License is
|
||||
# distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
# Initial Developer hereby disclaims all such warranties, including without
|
||||
# limitation, any warranties of merchantability, fitness for a particular
|
||||
# purpose or non-infringement. Please see the License for the specific terms
|
||||
# and conditions governing the rights and limitations under the License.
|
||||
# Alternatively, this file may be used under the terms of Open CASCADE
|
||||
# commercial license or contractual agreement.
|
||||
|
||||
# Command to log a message to both command-line and dialog window
|
||||
proc sage { a} {
|
||||
|
0
samples/tcl/bottle.tcl
Normal file → Executable file
0
samples/tcl/bottle.tcl
Normal file → Executable file
0
samples/tcl/challenge.tcl
Normal file → Executable file
0
samples/tcl/challenge.tcl
Normal file → Executable file
277
src/AIS/AIS.cdl
Executable file → Normal file
277
src/AIS/AIS.cdl
Executable file → Normal file
@@ -1,24 +1,18 @@
|
||||
-- Created on: 1996-12-11
|
||||
-- Created by: Robert COUBLANC
|
||||
-- Copyright (c) 1996-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- The content of this file is subject to the Open CASCADE Technology Public
|
||||
-- License Version 6.5 (the "License"). You may not use the content of this file
|
||||
-- except in compliance with the License. Please obtain a copy of the License
|
||||
-- at http://www.opencascade.org and read it completely before using this file.
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
-- This library is free software; you can redistribute it and / or modify it
|
||||
-- under the terms of the GNU Lesser General Public 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.
|
||||
--
|
||||
-- The Original Code and all software distributed under the License is
|
||||
-- distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
-- Initial Developer hereby disclaims all such warranties, including without
|
||||
-- limitation, any warranties of merchantability, fitness for a particular
|
||||
-- purpose or non-infringement. Please see the License for the specific terms
|
||||
-- and conditions governing the rights and limitations under the License.
|
||||
|
||||
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
package AIS
|
||||
|
||||
@@ -321,8 +315,8 @@ is
|
||||
enumeration DisplaySpecialSymbol is DSS_No, DSS_Before, DSS_After;
|
||||
---Purpose: Specifies dimension special symbol display options
|
||||
|
||||
enumeration DimensionDisplayMode is DDM_All, DDM_Line, DDM_Text;
|
||||
---Purpose: Specifies dimension display modes for advanced highlighting and selection.
|
||||
enumeration DimensionSelectionMode is DSM_All, DSM_Line, DSM_Text;
|
||||
---Purpose: Specifies dimension selection modes.
|
||||
|
||||
class Triangulation;
|
||||
|
||||
@@ -465,28 +459,55 @@ is
|
||||
-- Returns the nearest point in a shape. This is used by
|
||||
-- several classes in calculation of dimensions.
|
||||
|
||||
Nearest (theLine : Lin from gp;
|
||||
thePoint : Pnt from gp)
|
||||
returns Pnt from gp;
|
||||
---Purpose:
|
||||
-- @return the nearest point on the line.
|
||||
|
||||
Nearest (theCurve : Curve from Geom;
|
||||
thePoint : Pnt from gp;
|
||||
theFirstPoint : Pnt from gp;
|
||||
theLastPoint : Pnt from gp;
|
||||
theNearestPoint : out Pnt from gp)
|
||||
returns Boolean from Standard;
|
||||
---Purpose:
|
||||
-- For the given point finds nearest point on the curve,
|
||||
-- @return TRUE if found point is belongs to the curve
|
||||
-- and FALSE otherwise.
|
||||
|
||||
Farest( aShape : Shape from TopoDS;
|
||||
aPoint : Pnt from gp )
|
||||
returns Pnt from gp;
|
||||
|
||||
ComputeGeometry(anEdge : Edge from TopoDS;
|
||||
aCurve : out Curve from Geom;
|
||||
FirstPnt : out Pnt from gp;
|
||||
LastPnt : out Pnt from gp)
|
||||
ComputeGeometry (theEdge : Edge from TopoDS;
|
||||
theCurve : out Curve from Geom;
|
||||
theFirstPnt : out Pnt from gp;
|
||||
theLastPnt : out Pnt from gp)
|
||||
---Purpose: Used by 2d Relation only
|
||||
-- Computes the 3d geometry of <anEdge> in the current WorkingPlane
|
||||
-- and the extremities if any
|
||||
-- Return TRUE if ok
|
||||
-- Return TRUE if ok.
|
||||
returns Boolean from Standard;
|
||||
|
||||
ComputeGeometry(anEdge : Edge from TopoDS;
|
||||
aCurve : out Curve from Geom;
|
||||
FirstPnt : out Pnt from gp;
|
||||
LastPnt : out Pnt from gp;
|
||||
extCurve : out Curve from Geom;
|
||||
isinfinite: out Boolean from Standard;
|
||||
isOnPlane : out Boolean from Standard;
|
||||
aPlane : Plane from Geom)
|
||||
ComputeGeometry (theEdge : Edge from TopoDS;
|
||||
theCurve : out Curve from Geom;
|
||||
theFirstPnt : out Pnt from gp;
|
||||
theLastPnt : out Pnt from gp;
|
||||
theIsInfinite : out Boolean from Standard)
|
||||
---Purpose: Used by dimensions only.
|
||||
-- Computes the 3d geometry of <anEdge>.
|
||||
-- Return TRUE if ok.
|
||||
returns Boolean from Standard;
|
||||
|
||||
ComputeGeometry (theEdge : Edge from TopoDS;
|
||||
theCurve : out Curve from Geom;
|
||||
theFirstPnt : out Pnt from gp;
|
||||
theLastPnt : out Pnt from gp;
|
||||
theExtCurve : out Curve from Geom;
|
||||
theIsInfinite : out Boolean from Standard;
|
||||
theIsOnPlane : out Boolean from Standard;
|
||||
thePlane : Plane from Geom)
|
||||
---Purpose: Used by 2d Relation only
|
||||
-- Computes the 3d geometry of <anEdge> in the current WorkingPlane
|
||||
-- and the extremities if any.
|
||||
@@ -494,39 +515,51 @@ is
|
||||
-- the not projected curve associated to <anEdge>.
|
||||
-- If <anEdge> is infinite, <isinfinite> = true and the 2
|
||||
-- parameters <FirstPnt> and <LastPnt> have no signification.
|
||||
-- Return TRUE if ok
|
||||
-- Return TRUE if ok.
|
||||
returns Boolean from Standard;
|
||||
|
||||
ComputeGeometry (anEdge1 : Edge from TopoDS;
|
||||
anEdge2 : Edge from TopoDS;
|
||||
aCurve1 : out Curve from Geom;
|
||||
aCurve2 : out Curve from Geom;
|
||||
FirstPnt1 : out Pnt from gp;
|
||||
LastPnt1 : out Pnt from gp;
|
||||
FirstPnt2 : out Pnt from gp;
|
||||
LastPnt2 : out Pnt from gp;
|
||||
aPlane : Plane from Geom)
|
||||
ComputeGeometry (theFirstEdge : Edge from TopoDS;
|
||||
theSecondEdge : Edge from TopoDS;
|
||||
theFirstCurve : out Curve from Geom;
|
||||
theSecondCurve : out Curve from Geom;
|
||||
theFirstPnt1 : out Pnt from gp;
|
||||
theLastPnt1 : out Pnt from gp;
|
||||
theFirstPnt2 : out Pnt from gp;
|
||||
theLastPnt2 : out Pnt from gp;
|
||||
thePlane : Plane from Geom)
|
||||
---Purpose: Used by 2d Relation only
|
||||
-- Computes the 3d geometry of <anEdge> in the current WorkingPlane
|
||||
-- and the extremities if any
|
||||
-- Return TRUE if ok
|
||||
-- Return TRUE if ok.
|
||||
returns Boolean from Standard;
|
||||
|
||||
ComputeGeometry (theFirstEdge : Edge from TopoDS;
|
||||
theSecondEdge : Edge from TopoDS;
|
||||
theFirstCurve : out Curve from Geom;
|
||||
theSecondCurve : out Curve from Geom;
|
||||
theFirstPnt1 : out Pnt from gp;
|
||||
theLastPnt1 : out Pnt from gp;
|
||||
theFirstPnt2 : out Pnt from gp;
|
||||
theLastPnt2 : out Pnt from gp;
|
||||
theIsinfinite1 : out Boolean from Standard;
|
||||
theIsinfinite2 : out Boolean from Standard)
|
||||
---Purpose: Used by dimensions only.Computes the 3d geometry
|
||||
-- of<anEdge1> and <anEdge2> and checks if they are infinite.
|
||||
returns Boolean from Standard;
|
||||
|
||||
ComputeGeometry (anEdge1 : Edge from TopoDS;
|
||||
anEdge2 : Edge from TopoDS;
|
||||
indexExt : out Integer from Standard;
|
||||
aCurve1 : out Curve from Geom;
|
||||
aCurve2 : out Curve from Geom;
|
||||
FirstPnt1 : out Pnt from gp;
|
||||
LastPnt1 : out Pnt from gp;
|
||||
FirstPnt2 : out Pnt from gp;
|
||||
LastPnt2 : out Pnt from gp;
|
||||
ExtCurve : out Curve from Geom;
|
||||
isinfinite1 : out Boolean from Standard;
|
||||
isinfinite2 : out Boolean from Standard;
|
||||
aPlane : Plane from Geom)
|
||||
|
||||
ComputeGeometry (theFirstEdge : Edge from TopoDS;
|
||||
theSecondEdge : Edge from TopoDS;
|
||||
theExtIndex : out Integer from Standard;
|
||||
theFirstCurve : out Curve from Geom;
|
||||
theSecondCurve : out Curve from Geom;
|
||||
theFirstPnt1 : out Pnt from gp;
|
||||
theLastPnt1 : out Pnt from gp;
|
||||
theFirstPnt2 : out Pnt from gp;
|
||||
theLastPnt2 : out Pnt from gp;
|
||||
theExtCurve : out Curve from Geom;
|
||||
theIsinfinite1 : out Boolean from Standard;
|
||||
theIsinfinite2 : out Boolean from Standard;
|
||||
thePlane : Plane from Geom)
|
||||
---Purpose: Used by 2d Relation only Computes the 3d geometry
|
||||
-- of<anEdge1> and <anEdge2> in the current Plane and the
|
||||
-- extremities if any. Return in ExtCurve the 3d curve
|
||||
@@ -538,102 +571,78 @@ is
|
||||
-- significant. Return TRUE if ok
|
||||
returns Boolean from Standard;
|
||||
|
||||
ComputeGeomCurve (aCurve : in out Curve from Geom;
|
||||
first1 : Real from Standard;
|
||||
last1 : Real from Standard;
|
||||
FirstPnt1 : out Pnt from gp;
|
||||
LastPnt1 : out Pnt from gp;
|
||||
aPlane : Plane from Geom;
|
||||
isOnPlane: out Boolean from Standard)
|
||||
|
||||
ComputeGeomCurve (aCurve : in out Curve from Geom;
|
||||
first1 : Real from Standard;
|
||||
last1 : Real from Standard;
|
||||
FirstPnt1 : out Pnt from gp;
|
||||
LastPnt1 : out Pnt from gp;
|
||||
aPlane : Plane from Geom;
|
||||
isOnPlane: out Boolean from Standard)
|
||||
---Purpose: Checks if aCurve belongs to aPlane; if not, projects aCurve in aPlane
|
||||
-- and returns aCurve;
|
||||
-- Return TRUE if ok
|
||||
returns Boolean from Standard;
|
||||
|
||||
ComputeGeometry(aVertex : Vertex from TopoDS;
|
||||
point : out Pnt from gp;
|
||||
aPlane : Plane from Geom;
|
||||
isOnPlane: out Boolean from Standard)
|
||||
ComputeGeometry (aVertex : Vertex from TopoDS;
|
||||
point : out Pnt from gp;
|
||||
aPlane : Plane from Geom;
|
||||
isOnPlane: out Boolean from Standard)
|
||||
returns Boolean from Standard;
|
||||
|
||||
|
||||
GetPlaneFromFace( aFace : Face from TopoDS;
|
||||
aPlane : out Pln from gp;
|
||||
aSurf : out Surface from Geom;
|
||||
aSurfType : out KindOfSurface from AIS;
|
||||
Offset : out Real from Standard )
|
||||
GetPlaneFromFace (aFace : Face from TopoDS;
|
||||
aPlane : out Pln from gp;
|
||||
aSurf : out Surface from Geom;
|
||||
aSurfType : out KindOfSurface from AIS;
|
||||
Offset : out Real from Standard)
|
||||
returns Boolean from Standard;
|
||||
---Purpose: Tryes to get Plane from Face. Returns Surface of Face
|
||||
-- in aSurf. Returns Standard_True and Plane of Face in
|
||||
-- aPlane in following cases:
|
||||
-- Face is Plane, Offset of Plane,
|
||||
-- Extrusion of Line and Offset of Extrusion of Line
|
||||
-- Returns pure type of Surface which can be:
|
||||
-- Plane, Cylinder, Cone, Sphere, Torus,
|
||||
-- SurfaceOfRevolution, SurfaceOfExtrusion
|
||||
-- Returns pure type of Surface which can be:
|
||||
-- Plane, Cylinder, Cone, Sphere, Torus,
|
||||
-- SurfaceOfRevolution, SurfaceOfExtrusion
|
||||
|
||||
InitFaceLength( aFace : Face from TopoDS;
|
||||
aPlane : out Pln from gp;
|
||||
aSurface : out Surface from Geom;
|
||||
aSurfaceType : out KindOfSurface from AIS;
|
||||
anOffset : out Real from Standard );
|
||||
InitFaceLength (aFace : Face from TopoDS;
|
||||
aPlane : out Pln from gp;
|
||||
aSurface : out Surface from Geom;
|
||||
aSurfaceType : out KindOfSurface from AIS;
|
||||
anOffset : out Real from Standard );
|
||||
|
||||
ComputeLengthBetweenPlanarFaces( FirstFace : Face from TopoDS;
|
||||
SecondFace : Face from TopoDS;
|
||||
Plane1 : Pln from gp;
|
||||
Plane2 : Pln from gp;
|
||||
Value : out Real from Standard;
|
||||
FirstAttach : out Pnt from gp ;
|
||||
SecondAttach : out Pnt from gp ;
|
||||
DirAttach : out Dir from gp ;
|
||||
AutomaticPos : Boolean from Standard;
|
||||
Position : in out Pnt from gp);
|
||||
InitLengthBetweenCurvilinearFaces (theFirstFace : Face from TopoDS;
|
||||
theSecondFace : Face from TopoDS;
|
||||
theFirstSurf : in out Surface from Geom;
|
||||
theSecondSurf : in out Surface from Geom;
|
||||
theFirstAttach : out Pnt from gp;
|
||||
theSecondAttach : out Pnt from gp;
|
||||
theDirOnPlane : out Dir from gp);
|
||||
---Purpose: Finds attachment points on two curvilinear faces for length dimension.
|
||||
-- @param thePlaneDir [in] the direction on the dimension plane to
|
||||
-- compute the plane automatically. It will not be taken into account if
|
||||
-- plane is defined by user.
|
||||
|
||||
ComputeLengthBetweenCurvilinearFaces( FirstFace : Face from TopoDS;
|
||||
SecondFace : Face from TopoDS;
|
||||
FirstSurf : in out Surface from Geom;
|
||||
SecondSurf : in out Surface from Geom;
|
||||
AutomaticPos : Boolean from Standard;
|
||||
Value : out Real from Standard;
|
||||
Position : out Pnt from gp;
|
||||
FirstAttach : out Pnt from gp;
|
||||
SecondAttach : out Pnt from gp;
|
||||
DirAttach : out Dir from gp );
|
||||
InitAngleBetweenPlanarFaces (theFirstFace : Face from TopoDS;
|
||||
theSecondFace : Face from TopoDS;
|
||||
theCenter : out Pnt from gp;
|
||||
theFirstAttach : out Pnt from gp;
|
||||
theSecondAttach : out Pnt from gp;
|
||||
theIsFirstPointSet : Boolean from Standard = Standard_False)
|
||||
returns Boolean from Standard;
|
||||
---Purpose: Finds three points for the angle dimension between
|
||||
-- two planes.
|
||||
|
||||
ComputeAngleBetweenPlanarFaces( FirstFace : Face from TopoDS;
|
||||
SecondFace : Face from TopoDS;
|
||||
Surf2 : Surface from Geom;
|
||||
Axis : Ax1 from gp;
|
||||
Value : Real from Standard;
|
||||
AutomaticPos : Boolean from Standard;
|
||||
Position : out Pnt from gp;
|
||||
Center : out Pnt from gp;
|
||||
FirstAttach : out Pnt from gp;
|
||||
SecondAttach : out Pnt from gp;
|
||||
FirstDir : out Dir from gp;
|
||||
SecondDir : out Dir from gp);
|
||||
---Purpose: Computes geometric parameters for planar faces for
|
||||
-- Angular dimensions
|
||||
|
||||
ComputeAngleBetweenCurvilinearFaces( FirstFace : Face from TopoDS;
|
||||
SecondFace : Face from TopoDS;
|
||||
FirstSurf : Surface from Geom;
|
||||
SecondSurf : Surface from Geom;
|
||||
FirstSurfType : KindOfSurface from AIS;
|
||||
SecondSurfType : KindOfSurface from AIS;
|
||||
Axis : Ax1 from gp;
|
||||
Value : Real from Standard;
|
||||
AutomaticPos : Boolean from Standard;
|
||||
Position : out Pnt from gp;
|
||||
Center : out Pnt from gp;
|
||||
FirstAttach : out Pnt from gp;
|
||||
SecondAttach : out Pnt from gp;
|
||||
FirstDir : out Dir from gp;
|
||||
SecondDir : out Dir from gp;
|
||||
Plane : out Plane from Geom );
|
||||
---Purpose: Computes geometric parameters for curvilinear faces for
|
||||
-- Angular dimensions
|
||||
InitAngleBetweenCurvilinearFaces (theFirstFace : Face from TopoDS;
|
||||
theSecondFace : Face from TopoDS;
|
||||
theFirstSurfType : KindOfSurface from AIS;
|
||||
theSecondSurfType : KindOfSurface from AIS;
|
||||
theCenter : out Pnt from gp;
|
||||
theFirstAttach : out Pnt from gp;
|
||||
theSecondAttach : out Pnt from gp;
|
||||
theIsFirstPointSet : Boolean from Standard = Standard_False)
|
||||
returns Boolean from Standard;
|
||||
---Purpose: Finds three points for the angle dimension between
|
||||
-- two curvilinear surfaces.
|
||||
|
||||
ProjectPointOnPlane( aPoint : Pnt from gp; aPlane : Pln from gp )
|
||||
returns Pnt from gp;
|
||||
|
1732
src/AIS/AIS.cxx
Executable file → Normal file
1732
src/AIS/AIS.cxx
Executable file → Normal file
File diff suppressed because it is too large
Load Diff
1534
src/AIS/AIS_AngleDimension.cxx
Executable file → Normal file
1534
src/AIS/AIS_AngleDimension.cxx
Executable file → Normal file
File diff suppressed because it is too large
Load Diff
346
src/AIS/AIS_AngleDimension.hxx
Normal file → Executable file
346
src/AIS/AIS_AngleDimension.hxx
Normal file → Executable file
@@ -1,26 +1,16 @@
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2013 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
|
||||
//! A framework to define display of angles. <br>
|
||||
//! These displays are particularly useful in viewing draft prisms. <br>
|
||||
//! The angle displayed may define an intersection <br>
|
||||
//! can be between two edges or two faces of a shape <br>
|
||||
//! or a plane. The display consists of arrows and text. <br>
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _AIS_AngleDimension_HeaderFile
|
||||
#define _AIS_AngleDimension_HeaderFile
|
||||
@@ -42,45 +32,170 @@
|
||||
#include <TopoDS.hxx>
|
||||
#include <TopoDS_Edge.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
#include <TopoDS_Vertex.hxx>
|
||||
|
||||
DEFINE_STANDARD_HANDLE (AIS_AngleDimension, AIS_Dimension)
|
||||
|
||||
//! Angle dimension. Can be constructed:
|
||||
//! - on two intersected edges.
|
||||
//! - on three points or vertices.
|
||||
//! - on conical face.
|
||||
//! - between two intersected faces.
|
||||
//!
|
||||
//! In case of three points or two intersected edges the dimension plane
|
||||
//! (on which dimension presentation is built) can be computed uniquely
|
||||
//! as through three defined points can be built only one plane.
|
||||
//! Therefore, if user-defined plane differs from this one, the dimension can't be built.
|
||||
//!
|
||||
//! In cases of two planes automatical plane by default is built on point of the
|
||||
//! origin of parametrical space of the first face (the basis surface) so, that
|
||||
//! the working plane and two faces intersection forms minimal angle between the faces.
|
||||
//! User can define the other point which the dimension plane should pass through
|
||||
//! using the appropriate constructor. This point can lay on the one of the faces or not.
|
||||
//! Also user can define his own plane but it should pass through the three points
|
||||
//! computed on the geometry initialization step (when the constructor or SetMeasuredGeometry() method
|
||||
//! is called).
|
||||
//!
|
||||
//! In case of the conical face the center point of the angle is the apex of the conical surface.
|
||||
//! The attachment points are points of the first and the last parameter of the basis circle of the cone.
|
||||
//!
|
||||
class AIS_AngleDimension : public AIS_Dimension
|
||||
{
|
||||
public:
|
||||
|
||||
//! Constructs angle dimension between two edges
|
||||
//! with automatic working plane computing
|
||||
//! if it is possible. In case of PI angle please
|
||||
//! set custom working plane or use constructor with 3 parameters.
|
||||
Standard_EXPORT AIS_AngleDimension (const TopoDS_Edge& theFirstEdge,
|
||||
const TopoDS_Edge& theSecondEdge);
|
||||
//! Constructs the angle display object defined by the <br>
|
||||
//! two edges and custom working plane.
|
||||
//! ATTENTION :In case if the working plane is custom and one edge is out of the
|
||||
//! working plane it tries to project this edge line on the plane.
|
||||
//! To avoid this case you can reset the working plane
|
||||
//! using <ResetWorkingPlane ()> method.
|
||||
Standard_EXPORT AIS_AngleDimension (const TopoDS_Edge& theFirstEdge,
|
||||
const TopoDS_Edge& theSecondEdge,
|
||||
const gp_Pln& thePlane);
|
||||
//! Constructs minimum angle dimension between two linear edges (where possible).
|
||||
//! These two edges should be intersected by each other. Otherwise the geometry is not valid.
|
||||
//! @param theFirstEdge [in] the first edge.
|
||||
//! @param theSecondEdge [in] the second edge.
|
||||
Standard_EXPORT AIS_AngleDimension (const TopoDS_Edge& theFirstEdge,
|
||||
const TopoDS_Edge& theSecondEdge);
|
||||
|
||||
//! Constructs the angle display object defined by three points.
|
||||
Standard_EXPORT AIS_AngleDimension (const gp_Pnt& theFirstPoint,
|
||||
const gp_Pnt& theSecondPoint,
|
||||
const gp_Pnt& theThirdPoint);
|
||||
//! @param theFirstPoint [in] the first point (point on first angle flyout).
|
||||
//! @param theSecondPoint [in] the center point of angle dimension.
|
||||
//! @param theThirdPoint [in] the second point (point on second angle flyout).
|
||||
Standard_EXPORT AIS_AngleDimension (const gp_Pnt& theFirstPoint,
|
||||
const gp_Pnt& theSecondPoint,
|
||||
const gp_Pnt& theThirdPoint);
|
||||
|
||||
//! Angle of cone
|
||||
Standard_EXPORT AIS_AngleDimension (const TopoDS_Face& theCone);
|
||||
//! Constructs the angle display object defined by three vertices.
|
||||
//! @param theFirstVertex [in] the first vertex (vertex for first angle flyout).
|
||||
//! @param theSecondVertex [in] the center vertex of angle dimension.
|
||||
//! @param theThirdPoint [in] the second vertex (vertex for second angle flyout).
|
||||
Standard_EXPORT AIS_AngleDimension (const TopoDS_Vertex& theFirstVertex,
|
||||
const TopoDS_Vertex& theSecondVertex,
|
||||
const TopoDS_Vertex& theThirdVertex);
|
||||
|
||||
//! TwoPlanarFaceAngle dimension
|
||||
Standard_EXPORT AIS_AngleDimension (const TopoDS_Face& theFirstFace,
|
||||
const TopoDS_Face& theSecondFace,
|
||||
const gp_Ax1& theAxis);
|
||||
//! Constructs angle dimension for the cone face.
|
||||
//! @param theCone [in] the conical face.
|
||||
Standard_EXPORT AIS_AngleDimension (const TopoDS_Face& theCone);
|
||||
|
||||
//! Sets first shape
|
||||
Standard_EXPORT void SetFirstShape (const TopoDS_Shape& theShape,
|
||||
const Standard_Boolean isSingleShape = Standard_False);
|
||||
//! Constructs angle dimension between two planar faces.
|
||||
//! @param theFirstFace [in] the first face.
|
||||
//! @param theSecondFace [in] the second face.
|
||||
Standard_EXPORT AIS_AngleDimension (const TopoDS_Face& theFirstFace,
|
||||
const TopoDS_Face& theSecondFace);
|
||||
|
||||
//! Constructs angle dimension between two planar faces.
|
||||
//! @param theFirstFace [in] the first face.
|
||||
//! @param theSecondFace [in] the second face.
|
||||
//! @param thePoint [in] the point which the dimension plane should pass through.
|
||||
//! This point can lay on the one of the faces or not.
|
||||
Standard_EXPORT AIS_AngleDimension (const TopoDS_Face& theFirstFace,
|
||||
const TopoDS_Face& theSecondFace,
|
||||
const gp_Pnt& thePoint);
|
||||
|
||||
public:
|
||||
|
||||
//! @return first point forming the angle.
|
||||
const gp_Pnt& FirstPoint() const
|
||||
{
|
||||
return myFirstPoint;
|
||||
}
|
||||
|
||||
//! @return second point forming the angle.
|
||||
const gp_Pnt& SecondPoint() const
|
||||
{
|
||||
return mySecondPoint;
|
||||
}
|
||||
|
||||
//! @return center point forming the angle.
|
||||
const gp_Pnt& CenterPoint() const
|
||||
{
|
||||
return myCenterPoint;
|
||||
}
|
||||
|
||||
//! @return first argument shape.
|
||||
const TopoDS_Shape& FirstShape() const
|
||||
{
|
||||
return myFirstShape;
|
||||
}
|
||||
|
||||
//! @return second argument shape.
|
||||
const TopoDS_Shape& SecondShape() const
|
||||
{
|
||||
return mySecondShape;
|
||||
}
|
||||
|
||||
//! @return third argument shape.
|
||||
const TopoDS_Shape& ThirdShape() const
|
||||
{
|
||||
return myThirdShape;
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
//! Measures minimum angle dimension between two linear edges.
|
||||
//! These two edges should be intersected by each other. Otherwise the geometry is not valid.
|
||||
//! @param theFirstEdge [in] the first edge.
|
||||
//! @param theSecondEdge [in] the second edge.
|
||||
Standard_EXPORT void SetMeasuredGeometry (const TopoDS_Edge& theFirstEdge,
|
||||
const TopoDS_Edge& theSecondEdge);
|
||||
|
||||
//! Measures angle defined by three points.
|
||||
//! @param theFirstPoint [in] the first point (point on first angle flyout).
|
||||
//! @param theSecondPoint [in] the center point of angle dimension.
|
||||
//! @param theThirdPoint [in] the second point (point on second angle flyout).
|
||||
Standard_EXPORT void SetMeasuredGeometry (const gp_Pnt& theFirstPoint,
|
||||
const gp_Pnt& theSecondPoint,
|
||||
const gp_Pnt& theThridPoint);
|
||||
|
||||
//! Measures angle defined by three vertices.
|
||||
//! @param theFirstVertex [in] the first vertex (vertex for first angle flyout).
|
||||
//! @param theSecondVertex [in] the center vertex of angle dimension.
|
||||
//! @param theThirdPoint [in] the second vertex (vertex for second angle flyout).
|
||||
Standard_EXPORT void SetMeasuredGeometry (const TopoDS_Vertex& theFirstVertex,
|
||||
const TopoDS_Vertex& theSecondVertex,
|
||||
const TopoDS_Vertex& theThirdVertex);
|
||||
|
||||
//! Measures angle of conical face.
|
||||
//! @param theCone [in] the shape to measure.
|
||||
Standard_EXPORT void SetMeasuredGeometry (const TopoDS_Face& theCone);
|
||||
|
||||
//! Measures angle between two planar faces.
|
||||
//! @param theFirstFace [in] the first face.
|
||||
//! @param theSecondFace [in] the second face..
|
||||
Standard_EXPORT void SetMeasuredGeometry (const TopoDS_Face& theFirstFace,
|
||||
const TopoDS_Face& theSecondFace);
|
||||
|
||||
//! Measures angle between two planar faces.
|
||||
//! @param theFirstFace [in] the first face.
|
||||
//! @param theSecondFace [in] the second face.
|
||||
//! @param thePoint [in] the point which the dimension plane should pass through.
|
||||
//! This point can lay on the one of the faces or not.
|
||||
Standard_EXPORT void SetMeasuredGeometry (const TopoDS_Face& theFirstFace,
|
||||
const TopoDS_Face& theSecondFace,
|
||||
const gp_Pnt& thePoint);
|
||||
|
||||
//! @return the display units string.
|
||||
Standard_EXPORT virtual const TCollection_AsciiString& GetDisplayUnits () const;
|
||||
|
||||
//! @return the model units string.
|
||||
Standard_EXPORT virtual const TCollection_AsciiString& GetModelUnits () const;
|
||||
|
||||
Standard_EXPORT virtual void SetDisplayUnits (const TCollection_AsciiString& theUnits);
|
||||
|
||||
Standard_EXPORT virtual void SetModelUnits (const TCollection_AsciiString& theUnits);
|
||||
|
||||
public:
|
||||
|
||||
@@ -88,62 +203,111 @@ public:
|
||||
|
||||
protected:
|
||||
|
||||
//! Computes dimension value in display units
|
||||
Standard_EXPORT virtual void computeValue();
|
||||
//! Initialization of fields that is common to all constructors.
|
||||
Standard_EXPORT void Init();
|
||||
|
||||
Standard_EXPORT void init();
|
||||
|
||||
Standard_EXPORT gp_Pnt getCenterOnArc (const gp_Pnt& theFirstAttach,
|
||||
const gp_Pnt& theSecondAttach);
|
||||
|
||||
Standard_EXPORT void drawArc (const Handle(Prs3d_Presentation)& thePresentation,
|
||||
const gp_Pnt& theFirstAttach,
|
||||
const gp_Pnt& theSecondAttach,
|
||||
const gp_Pnt& theCenter,
|
||||
const Standard_Real theRadius,
|
||||
const AIS_DimensionDisplayMode theMode);
|
||||
|
||||
Standard_EXPORT void drawArcWithText (const Handle(Prs3d_Presentation)& thePresentation,
|
||||
const gp_Pnt& theFirstAttach,
|
||||
//! @param theFirstAttach [in] the first attachment point.
|
||||
//! @param theSecondAttach [in] the second attachment point.
|
||||
//! @param theCenter [in] the center point (center point of the angle).
|
||||
//! @return the center of the dimension arc (the main dimension line in case of angle).
|
||||
Standard_EXPORT gp_Pnt GetCenterOnArc (const gp_Pnt& theFirstAttach,
|
||||
const gp_Pnt& theSecondAttach,
|
||||
const TCollection_ExtendedString& theText,
|
||||
const AIS_DimensionDisplayMode theMode,
|
||||
const Standard_Integer theLabelPosition);
|
||||
const gp_Pnt& theCenter);
|
||||
|
||||
//! Draws main dimension line (arc).
|
||||
//! @param thePresentation [in] the dimension presentation.
|
||||
//! @param theFirstAttach [in] the first attachment point.
|
||||
//! @param theSecondAttach [in] the second attachment point.
|
||||
//! @param theCenter [in] the center point (center point of the angle).
|
||||
//! @param theRadius [in] the radius of the dimension arc.
|
||||
//! @param theMode [in] the display mode.
|
||||
Standard_EXPORT void DrawArc (const Handle(Prs3d_Presentation)& thePresentation,
|
||||
const gp_Pnt& theFirstAttach,
|
||||
const gp_Pnt& theSecondAttach,
|
||||
const gp_Pnt& theCenter,
|
||||
const Standard_Real theRadius,
|
||||
const Standard_Integer theMode);
|
||||
|
||||
//! Draws main dimension line (arc) with text.
|
||||
//! @param thePresentation [in] the dimension presentation.
|
||||
//! @param theFirstAttach [in] the first attachment point.
|
||||
//! @param theSecondAttach [in] the second attachment point.
|
||||
//! @param theCenter [in] the center point (center point of the angle).
|
||||
//! @param theText [in] the text label string.
|
||||
//! @param theTextWidth [in] the text label width.
|
||||
//! @param theMode [in] the display mode.
|
||||
//! @param theLabelPosition [in] the text label vertical and horizontal positioning option
|
||||
//! respectively to the main dimension line.
|
||||
Standard_EXPORT void DrawArcWithText (const Handle(Prs3d_Presentation)& thePresentation,
|
||||
const gp_Pnt& theFirstAttach,
|
||||
const gp_Pnt& theSecondAttach,
|
||||
const gp_Pnt& theCenter,
|
||||
const TCollection_ExtendedString& theText,
|
||||
const Standard_Real theTextWidth,
|
||||
const Standard_Integer theMode,
|
||||
const Standard_Integer theLabelPosition);
|
||||
|
||||
protected:
|
||||
|
||||
Standard_EXPORT virtual void ComputePlane();
|
||||
|
||||
//! Checks if the plane includes three angle points to build dimension.
|
||||
Standard_EXPORT virtual Standard_Boolean CheckPlane (const gp_Pln& thePlane) const;
|
||||
|
||||
Standard_EXPORT virtual Standard_Real ComputeValue() const;
|
||||
|
||||
Standard_EXPORT virtual void Compute (const Handle(PrsMgr_PresentationManager3d)& thePM,
|
||||
const Handle(Prs3d_Presentation)& thePresentation,
|
||||
const Standard_Integer theMode = 0);
|
||||
|
||||
Standard_EXPORT Standard_Boolean initConeAngle (const TopoDS_Face& theCone);
|
||||
|
||||
Standard_EXPORT Standard_Boolean initTwoFacesAngle();
|
||||
|
||||
Standard_EXPORT Standard_Boolean initTwoEdgesAngle();
|
||||
|
||||
//! Auxiliary method to get position of the angle dimension
|
||||
//! if the cone is trimmed
|
||||
//! Returns 1 if <theC> center is above of <theCMin> center;
|
||||
//! 0 if <theC> center is between <theCMin> and <theCMax> centers;
|
||||
//! -1 if <theC> center is below <theCMax> center.
|
||||
Standard_EXPORT Standard_Integer aboveInBelowCone (const gp_Circ &theCMax,
|
||||
const gp_Circ &theCMin,
|
||||
const gp_Circ &theC);
|
||||
|
||||
//! Fills default plane object if it is possible to count plane automatically.
|
||||
Standard_EXPORT virtual void countDefaultPlane ();
|
||||
|
||||
//! Fills sensitive entity for flyouts and adds it to the selection
|
||||
Standard_EXPORT virtual void computeFlyoutSelection (const Handle(SelectMgr_Selection)& theSelection,
|
||||
const Handle(AIS_DimensionOwner)& theOwner);
|
||||
Standard_EXPORT virtual void ComputeFlyoutSelection (const Handle(SelectMgr_Selection)& theSelection,
|
||||
const Handle(SelectMgr_EntityOwner)& theOwner);
|
||||
|
||||
protected:
|
||||
|
||||
//! Shows if there is necessarily to draw extensions on angle dimension
|
||||
//! It is set to the true value if the attachment point are out of the edges.
|
||||
Standard_Boolean myIsFlyoutLines;
|
||||
//! Init angular dimension to measure angle between two linear edges.
|
||||
//! @return TRUE if the angular dimension can be constructured
|
||||
//! for the passed edges.
|
||||
Standard_EXPORT Standard_Boolean InitTwoEdgesAngle (gp_Pln& theComputedPlane);
|
||||
|
||||
//! The center of dimension arc
|
||||
gp_Pnt myCenter;
|
||||
//! Init angular dimension to measure angle between two planar faces.
|
||||
//! there is no user-defined poisitoning. So attach points are set
|
||||
//! according to faces geometry (in origin of the first face basis surface).
|
||||
//! @return TRUE if the angular dimension can be constructed
|
||||
//! for the passed faces.
|
||||
Standard_EXPORT Standard_Boolean InitTwoFacesAngle();
|
||||
|
||||
//! Init angular dimension to measure angle between two planar faces.
|
||||
//! @param thePointOnFirstFace [in] the point which the dimension plane should pass through.
|
||||
//! This point can lay on the one of the faces or not.
|
||||
//! It will be projected on the first face and this point will be set
|
||||
//! as the first point attach point.
|
||||
//! It defines some kind of dimension positioning over the faces.
|
||||
//! @return TRUE if the angular dimension can be constructed
|
||||
//! for the passed faces.
|
||||
Standard_EXPORT Standard_Boolean InitTwoFacesAngle (const gp_Pnt thePointOnFirstFace);
|
||||
|
||||
//! Init angular dimension to measure cone face.
|
||||
//! @return TRUE if the angular dimension can be constructed
|
||||
//! for the passed cone.
|
||||
Standard_EXPORT Standard_Boolean InitConeAngle();
|
||||
|
||||
//! Check that the points forming angle are valid.
|
||||
//! @return TRUE if the points met the following requirements:
|
||||
//! The (P1, Center), (P2, Center) can be built.
|
||||
//! The angle between the vectors > Precision::Angular().
|
||||
Standard_EXPORT Standard_Boolean IsValidPoints (const gp_Pnt& theFirstPoint,
|
||||
const gp_Pnt& theCenterPoint,
|
||||
const gp_Pnt& theSecondPoint) const;
|
||||
|
||||
private:
|
||||
|
||||
gp_Pnt myFirstPoint;
|
||||
gp_Pnt mySecondPoint;
|
||||
gp_Pnt myCenterPoint;
|
||||
TopoDS_Shape myFirstShape;
|
||||
TopoDS_Shape mySecondShape;
|
||||
TopoDS_Shape myThirdShape;
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif // _AIS_AngleDimension_HeaderFile
|
||||
|
26
src/AIS/AIS_AttributeFilter.cdl
Executable file → Normal file
26
src/AIS/AIS_AttributeFilter.cdl
Executable file → Normal file
@@ -1,26 +1,18 @@
|
||||
-- Created on: 1997-03-04
|
||||
-- Created by: Robert COUBLANC
|
||||
-- Copyright (c) 1997-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- The content of this file is subject to the Open CASCADE Technology Public
|
||||
-- License Version 6.5 (the "License"). You may not use the content of this file
|
||||
-- except in compliance with the License. Please obtain a copy of the License
|
||||
-- at http://www.opencascade.org and read it completely before using this file.
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
-- This library is free software; you can redistribute it and / or modify it
|
||||
-- under the terms of the GNU Lesser General Public 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.
|
||||
--
|
||||
-- The Original Code and all software distributed under the License is
|
||||
-- distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
-- Initial Developer hereby disclaims all such warranties, including without
|
||||
-- limitation, any warranties of merchantability, fitness for a particular
|
||||
-- purpose or non-infringement. Please see the License for the specific terms
|
||||
-- and conditions governing the rights and limitations under the License.
|
||||
|
||||
|
||||
|
||||
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class AttributeFilter from AIS inherits Filter from SelectMgr
|
||||
|
||||
|
24
src/AIS/AIS_AttributeFilter.cxx
Executable file → Normal file
24
src/AIS/AIS_AttributeFilter.cxx
Executable file → Normal file
@@ -1,24 +1,18 @@
|
||||
// Created on: 1997-03-04
|
||||
// Created by: Robert COUBLANC
|
||||
// Copyright (c) 1997-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
|
||||
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <AIS_AttributeFilter.ixx>
|
||||
|
||||
|
23
src/AIS/AIS_AttributeFilter.lxx
Executable file → Normal file
23
src/AIS/AIS_AttributeFilter.lxx
Executable file → Normal file
@@ -1,23 +1,18 @@
|
||||
// Created on: 1997-03-04
|
||||
// Created by: Robert COUBLANC
|
||||
// Copyright (c) 1997-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
inline void AIS_AttributeFilter::SetColor(const Quantity_NameOfColor aCol)
|
||||
{myCol = aCol;hasC = Standard_True;}
|
||||
|
22
src/AIS/AIS_Axis.cdl
Executable file → Normal file
22
src/AIS/AIS_Axis.cdl
Executable file → Normal file
@@ -1,22 +1,18 @@
|
||||
-- Created on: 1995-08-09
|
||||
-- Created by: Arnaud BOUZY/Odile Olivier
|
||||
-- Copyright (c) 1995-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- The content of this file is subject to the Open CASCADE Technology Public
|
||||
-- License Version 6.5 (the "License"). You may not use the content of this file
|
||||
-- except in compliance with the License. Please obtain a copy of the License
|
||||
-- at http://www.opencascade.org and read it completely before using this file.
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
-- This library is free software; you can redistribute it and / or modify it
|
||||
-- under the terms of the GNU Lesser General Public 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.
|
||||
--
|
||||
-- The Original Code and all software distributed under the License is
|
||||
-- distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
-- Initial Developer hereby disclaims all such warranties, including without
|
||||
-- limitation, any warranties of merchantability, fitness for a particular
|
||||
-- purpose or non-infringement. Please see the License for the specific terms
|
||||
-- and conditions governing the rights and limitations under the License.
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
-- GG : GER61351 17/11/1999 Change SetColor() with a compatible Quantity_Color instead
|
||||
-- the restricted NameOfColor.
|
||||
|
23
src/AIS/AIS_Axis.cxx
Executable file → Normal file
23
src/AIS/AIS_Axis.cxx
Executable file → Normal file
@@ -1,23 +1,18 @@
|
||||
// Created on: 1995-08-09
|
||||
// Created by: Arnaud BOUZY/Odile Olivier
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
//GER61351 //GG_171199 Enable to set an object RGB color instead a restricted object NameOfColor.
|
||||
|
||||
|
23
src/AIS/AIS_Axis.lxx
Executable file → Normal file
23
src/AIS/AIS_Axis.lxx
Executable file → Normal file
@@ -1,23 +1,18 @@
|
||||
// Created on: 1997-03-03
|
||||
// Created by: Jean-Pierre COMBE
|
||||
// Copyright (c) 1997-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
//=======================================================================
|
||||
//function : Component
|
||||
|
24
src/AIS/AIS_BadEdgeFilter.cdl
Executable file → Normal file
24
src/AIS/AIS_BadEdgeFilter.cdl
Executable file → Normal file
@@ -1,24 +1,18 @@
|
||||
-- Created on: 1998-03-04
|
||||
-- Created by: Julia Gerasimova
|
||||
-- Copyright (c) 1998-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- The content of this file is subject to the Open CASCADE Technology Public
|
||||
-- License Version 6.5 (the "License"). You may not use the content of this file
|
||||
-- except in compliance with the License. Please obtain a copy of the License
|
||||
-- at http://www.opencascade.org and read it completely before using this file.
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
-- This library is free software; you can redistribute it and / or modify it
|
||||
-- under the terms of the GNU Lesser General Public 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.
|
||||
--
|
||||
-- The Original Code and all software distributed under the License is
|
||||
-- distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
-- Initial Developer hereby disclaims all such warranties, including without
|
||||
-- limitation, any warranties of merchantability, fitness for a particular
|
||||
-- purpose or non-infringement. Please see the License for the specific terms
|
||||
-- and conditions governing the rights and limitations under the License.
|
||||
|
||||
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class BadEdgeFilter from AIS inherits Filter from SelectMgr
|
||||
|
||||
|
22
src/AIS/AIS_BadEdgeFilter.cxx
Executable file → Normal file
22
src/AIS/AIS_BadEdgeFilter.cxx
Executable file → Normal file
@@ -1,22 +1,18 @@
|
||||
// Created on: 1998-03-04
|
||||
// Created by: Julia Gerasimova
|
||||
// Copyright (c) 1998-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
// <g_design>
|
||||
|
||||
|
24
src/AIS/AIS_C0RegularityFilter.cdl
Executable file → Normal file
24
src/AIS/AIS_C0RegularityFilter.cdl
Executable file → Normal file
@@ -1,24 +1,18 @@
|
||||
-- Created on: 1998-02-04
|
||||
-- Created by: Julia GERASIMOVA
|
||||
-- Copyright (c) 1998-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- The content of this file is subject to the Open CASCADE Technology Public
|
||||
-- License Version 6.5 (the "License"). You may not use the content of this file
|
||||
-- except in compliance with the License. Please obtain a copy of the License
|
||||
-- at http://www.opencascade.org and read it completely before using this file.
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
-- This library is free software; you can redistribute it and / or modify it
|
||||
-- under the terms of the GNU Lesser General Public 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.
|
||||
--
|
||||
-- The Original Code and all software distributed under the License is
|
||||
-- distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
-- Initial Developer hereby disclaims all such warranties, including without
|
||||
-- limitation, any warranties of merchantability, fitness for a particular
|
||||
-- purpose or non-infringement. Please see the License for the specific terms
|
||||
-- and conditions governing the rights and limitations under the License.
|
||||
|
||||
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class C0RegularityFilter from AIS inherits Filter from SelectMgr
|
||||
|
||||
|
24
src/AIS/AIS_C0RegularityFilter.cxx
Executable file → Normal file
24
src/AIS/AIS_C0RegularityFilter.cxx
Executable file → Normal file
@@ -1,24 +1,18 @@
|
||||
// Created on: 1998-02-04
|
||||
// Created by: Julia GERASIMOVA
|
||||
// Copyright (c) 1998-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
|
||||
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <AIS_C0RegularityFilter.ixx>
|
||||
|
||||
|
24
src/AIS/AIS_Chamf2dDimension.cdl
Executable file → Normal file
24
src/AIS/AIS_Chamf2dDimension.cdl
Executable file → Normal file
@@ -1,24 +1,18 @@
|
||||
-- Created on: 1996-12-05
|
||||
-- Created by: Flore Lantheaume/Odile Olivier
|
||||
-- Copyright (c) 1996-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- The content of this file is subject to the Open CASCADE Technology Public
|
||||
-- License Version 6.5 (the "License"). You may not use the content of this file
|
||||
-- except in compliance with the License. Please obtain a copy of the License
|
||||
-- at http://www.opencascade.org and read it completely before using this file.
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
-- This library is free software; you can redistribute it and / or modify it
|
||||
-- under the terms of the GNU Lesser General Public 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.
|
||||
--
|
||||
-- The Original Code and all software distributed under the License is
|
||||
-- distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
-- Initial Developer hereby disclaims all such warranties, including without
|
||||
-- limitation, any warranties of merchantability, fitness for a particular
|
||||
-- purpose or non-infringement. Please see the License for the specific terms
|
||||
-- and conditions governing the rights and limitations under the License.
|
||||
|
||||
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class Chamf2dDimension from AIS inherits Relation from AIS
|
||||
|
||||
|
23
src/AIS/AIS_Chamf2dDimension.cxx
Executable file → Normal file
23
src/AIS/AIS_Chamf2dDimension.cxx
Executable file → Normal file
@@ -1,23 +1,18 @@
|
||||
// Created on: 1996-12-05
|
||||
// Created by: Flore Lantheaume/Odile Olivier
|
||||
// Copyright (c) 1996-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#define BUC60915 //GG 05/06/01 Enable to compute the requested arrow size
|
||||
// if any in all dimensions.
|
||||
|
23
src/AIS/AIS_Chamf2dDimension.lxx
Executable file → Normal file
23
src/AIS/AIS_Chamf2dDimension.lxx
Executable file → Normal file
@@ -1,23 +1,18 @@
|
||||
// Created on: 1997-02-28
|
||||
// Created by: Jean-Pierre COMBE
|
||||
// Copyright (c) 1997-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
//=======================================================================
|
||||
//function : KindOfDimension
|
||||
|
24
src/AIS/AIS_Chamf3dDimension.cdl
Executable file → Normal file
24
src/AIS/AIS_Chamf3dDimension.cdl
Executable file → Normal file
@@ -1,24 +1,18 @@
|
||||
-- Created on: 1996-12-05
|
||||
-- Created by: Odile Olivier
|
||||
-- Copyright (c) 1996-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- The content of this file is subject to the Open CASCADE Technology Public
|
||||
-- License Version 6.5 (the "License"). You may not use the content of this file
|
||||
-- except in compliance with the License. Please obtain a copy of the License
|
||||
-- at http://www.opencascade.org and read it completely before using this file.
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
-- This library is free software; you can redistribute it and / or modify it
|
||||
-- under the terms of the GNU Lesser General Public 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.
|
||||
--
|
||||
-- The Original Code and all software distributed under the License is
|
||||
-- distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
-- Initial Developer hereby disclaims all such warranties, including without
|
||||
-- limitation, any warranties of merchantability, fitness for a particular
|
||||
-- purpose or non-infringement. Please see the License for the specific terms
|
||||
-- and conditions governing the rights and limitations under the License.
|
||||
|
||||
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class Chamf3dDimension from AIS inherits Relation from AIS
|
||||
|
||||
|
23
src/AIS/AIS_Chamf3dDimension.cxx
Executable file → Normal file
23
src/AIS/AIS_Chamf3dDimension.cxx
Executable file → Normal file
@@ -1,23 +1,18 @@
|
||||
// Created on: 1996-12-05
|
||||
// Created by: Odile Olivier
|
||||
// Copyright (c) 1996-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#define BUC60915 //GG 05/06/01 Enable to compute the requested arrow size
|
||||
// if any in all dimensions.
|
||||
|
23
src/AIS/AIS_Chamf3dDimension.lxx
Executable file → Normal file
23
src/AIS/AIS_Chamf3dDimension.lxx
Executable file → Normal file
@@ -1,23 +1,18 @@
|
||||
// Created on: 1997-02-28
|
||||
// Created by: Jean-Pierre COMBE
|
||||
// Copyright (c) 1997-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
//=======================================================================
|
||||
//function : KindOfDimension
|
||||
|
22
src/AIS/AIS_Circle.cdl
Executable file → Normal file
22
src/AIS/AIS_Circle.cdl
Executable file → Normal file
@@ -1,22 +1,18 @@
|
||||
-- Created on: 1997-01-21
|
||||
-- Created by: Prestataire Christiane ARMAND
|
||||
-- Copyright (c) 1997-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- The content of this file is subject to the Open CASCADE Technology Public
|
||||
-- License Version 6.5 (the "License"). You may not use the content of this file
|
||||
-- except in compliance with the License. Please obtain a copy of the License
|
||||
-- at http://www.opencascade.org and read it completely before using this file.
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
-- This library is free software; you can redistribute it and / or modify it
|
||||
-- under the terms of the GNU Lesser General Public 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.
|
||||
--
|
||||
-- The Original Code and all software distributed under the License is
|
||||
-- distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
-- Initial Developer hereby disclaims all such warranties, including without
|
||||
-- limitation, any warranties of merchantability, fitness for a particular
|
||||
-- purpose or non-infringement. Please see the License for the specific terms
|
||||
-- and conditions governing the rights and limitations under the License.
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
-- GG : GER61351 17/11/1999 Change SetColor() with a compatible Quantity_Color instead
|
||||
-- the restricted NameOfColor.
|
||||
|
23
src/AIS/AIS_Circle.cxx
Executable file → Normal file
23
src/AIS/AIS_Circle.cxx
Executable file → Normal file
@@ -1,23 +1,18 @@
|
||||
// Created on: 1997-01-21
|
||||
// Created by: Prestataire Christiane ARMAND
|
||||
// Copyright (c) 1997-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
//GER61351 //GG_171199 Enable to set an object RGB color instead a restricted object NameOfColor.
|
||||
|
||||
|
22
src/AIS/AIS_Circle.lxx
Executable file → Normal file
22
src/AIS/AIS_Circle.lxx
Executable file → Normal file
@@ -1,22 +1,18 @@
|
||||
// Created on: 1997-03-06
|
||||
// Created by: Robert COUBLANC
|
||||
// Copyright (c) 1997-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
inline AIS_KindOfInteractive AIS_Circle::Type() const
|
||||
{return AIS_KOI_Datum;}
|
||||
|
26
src/AIS/AIS_ConcentricRelation.cdl
Executable file → Normal file
26
src/AIS/AIS_ConcentricRelation.cdl
Executable file → Normal file
@@ -1,26 +1,18 @@
|
||||
-- Created on: 1996-12-05
|
||||
-- Created by: Flore Lantheaume/Odile Olivier
|
||||
-- Copyright (c) 1996-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- The content of this file is subject to the Open CASCADE Technology Public
|
||||
-- License Version 6.5 (the "License"). You may not use the content of this file
|
||||
-- except in compliance with the License. Please obtain a copy of the License
|
||||
-- at http://www.opencascade.org and read it completely before using this file.
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
-- This library is free software; you can redistribute it and / or modify it
|
||||
-- under the terms of the GNU Lesser General Public 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.
|
||||
--
|
||||
-- The Original Code and all software distributed under the License is
|
||||
-- distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
-- Initial Developer hereby disclaims all such warranties, including without
|
||||
-- limitation, any warranties of merchantability, fitness for a particular
|
||||
-- purpose or non-infringement. Please see the License for the specific terms
|
||||
-- and conditions governing the rights and limitations under the License.
|
||||
|
||||
|
||||
|
||||
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class ConcentricRelation from AIS inherits Relation from AIS
|
||||
|
||||
|
23
src/AIS/AIS_ConcentricRelation.cxx
Executable file → Normal file
23
src/AIS/AIS_ConcentricRelation.cxx
Executable file → Normal file
@@ -1,23 +1,18 @@
|
||||
// Created on: 1996-12-05
|
||||
// Created by: Flore Lantheaume/Odile Olivier
|
||||
// Copyright (c) 1996-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <Standard_NotImplemented.hxx>
|
||||
|
||||
|
24
src/AIS/AIS_ConnectedInteractive.cdl
Executable file → Normal file
24
src/AIS/AIS_ConnectedInteractive.cdl
Executable file → Normal file
@@ -1,24 +1,18 @@
|
||||
-- Created on: 1997-01-08
|
||||
-- Created by: Robert COUBLANC
|
||||
-- Copyright (c) 1997-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- The content of this file is subject to the Open CASCADE Technology Public
|
||||
-- License Version 6.5 (the "License"). You may not use the content of this file
|
||||
-- except in compliance with the License. Please obtain a copy of the License
|
||||
-- at http://www.opencascade.org and read it completely before using this file.
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
-- This library is free software; you can redistribute it and / or modify it
|
||||
-- under the terms of the GNU Lesser General Public 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.
|
||||
--
|
||||
-- The Original Code and all software distributed under the License is
|
||||
-- distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
-- Initial Developer hereby disclaims all such warranties, including without
|
||||
-- limitation, any warranties of merchantability, fitness for a particular
|
||||
-- purpose or non-infringement. Please see the License for the specific terms
|
||||
-- and conditions governing the rights and limitations under the License.
|
||||
|
||||
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class ConnectedInteractive from AIS inherits InteractiveObject from AIS
|
||||
|
||||
|
24
src/AIS/AIS_ConnectedInteractive.cxx
Executable file → Normal file
24
src/AIS/AIS_ConnectedInteractive.cxx
Executable file → Normal file
@@ -1,24 +1,18 @@
|
||||
// Created on: 1997-01-08
|
||||
// Created by: Robert COUBLANC
|
||||
// Copyright (c) 1997-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
|
||||
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <Standard_NotImplemented.hxx>
|
||||
|
||||
|
24
src/AIS/AIS_ConnectedInteractive.lxx
Executable file → Normal file
24
src/AIS/AIS_ConnectedInteractive.lxx
Executable file → Normal file
@@ -1,24 +1,18 @@
|
||||
// Created on: 1997-01-08
|
||||
// Created by: Robert COUBLANC
|
||||
// Copyright (c) 1997-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
|
||||
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
inline const Handle(AIS_InteractiveObject)& AIS_ConnectedInteractive::ConnectedTo() const
|
||||
{return myReference;}
|
||||
|
22
src/AIS/AIS_ConnectedShape.cdl
Executable file → Normal file
22
src/AIS/AIS_ConnectedShape.cdl
Executable file → Normal file
@@ -1,22 +1,18 @@
|
||||
-- Created on: 1997-01-08
|
||||
-- Created by: Robert COUBLANC
|
||||
-- Copyright (c) 1997-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- The content of this file is subject to the Open CASCADE Technology Public
|
||||
-- License Version 6.5 (the "License"). You may not use the content of this file
|
||||
-- except in compliance with the License. Please obtain a copy of the License
|
||||
-- at http://www.opencascade.org and read it completely before using this file.
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
-- This library is free software; you can redistribute it and / or modify it
|
||||
-- under the terms of the GNU Lesser General Public 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.
|
||||
--
|
||||
-- The Original Code and all software distributed under the License is
|
||||
-- distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
-- Initial Developer hereby disclaims all such warranties, including without
|
||||
-- limitation, any warranties of merchantability, fitness for a particular
|
||||
-- purpose or non-infringement. Please see the License for the specific terms
|
||||
-- and conditions governing the rights and limitations under the License.
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
--Modified by rob on Jul-28-97
|
||||
|
||||
|
22
src/AIS/AIS_ConnectedShape.cxx
Executable file → Normal file
22
src/AIS/AIS_ConnectedShape.cxx
Executable file → Normal file
@@ -1,22 +1,18 @@
|
||||
// Created on: 1996-04-10
|
||||
// Created by: Guest Design
|
||||
// Copyright (c) 1996-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
// <g_design>
|
||||
|
||||
|
368
src/AIS/AIS_DiameterDimension.cxx
Executable file → Normal file
368
src/AIS/AIS_DiameterDimension.cxx
Executable file → Normal file
@@ -1,35 +1,32 @@
|
||||
// Created on: 1996-12-05
|
||||
// Created by: Jacques MINOT/Odile Olivier/Sergey ZARITCHNY
|
||||
// Copyright (c) 1996-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <AIS_DiameterDimension.hxx>
|
||||
#include <AIS.hxx>
|
||||
#include <AIS_Drawer.hxx>
|
||||
#include <ElCLib.hxx>
|
||||
#include <gce_MakeDir.hxx>
|
||||
#include <Graphic3d_ArrayOfSegments.hxx>
|
||||
#include <Graphic3d_Group.hxx>
|
||||
#include <PrsMgr_PresentationManager3d.hxx>
|
||||
#include <Prs3d_Root.hxx>
|
||||
|
||||
IMPLEMENT_STANDARD_HANDLE(AIS_DiameterDimension, AIS_Dimension)
|
||||
IMPLEMENT_STANDARD_RTTIEXT(AIS_DiameterDimension, AIS_Dimension)
|
||||
#include <AIS.hxx>
|
||||
#include <BRepLib_MakeEdge.hxx>
|
||||
#include <ElCLib.hxx>
|
||||
#include <GeomAPI_IntCS.hxx>
|
||||
#include <Geom_Circle.hxx>
|
||||
#include <Geom_Plane.hxx>
|
||||
#include <gce_MakeDir.hxx>
|
||||
#include <Standard_ProgramError.hxx>
|
||||
|
||||
IMPLEMENT_STANDARD_HANDLE (AIS_DiameterDimension, AIS_Dimension)
|
||||
IMPLEMENT_STANDARD_RTTIEXT (AIS_DiameterDimension, AIS_Dimension)
|
||||
|
||||
namespace
|
||||
{
|
||||
@@ -40,117 +37,324 @@ namespace
|
||||
//function : Constructor
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
AIS_DiameterDimension::AIS_DiameterDimension(const gp_Circ& theCircle)
|
||||
: AIS_Dimension(),
|
||||
myCircle (theCircle)
|
||||
AIS_DiameterDimension::AIS_DiameterDimension (const gp_Circ& theCircle)
|
||||
: AIS_Dimension (AIS_KOD_DIAMETER)
|
||||
{
|
||||
SetKindOfDimension(AIS_KOD_DIAMETER);
|
||||
myIsInitialized = Standard_True;
|
||||
SetMeasuredGeometry (theCircle);
|
||||
SetSpecialSymbol (THE_DIAMETER_SYMBOL);
|
||||
SetDisplaySpecialSymbol (AIS_DSS_Before);
|
||||
SetFlyout (0.0);
|
||||
// Count attach points
|
||||
myFirstPoint = ElCLib::Value (0, myCircle);
|
||||
mySecondPoint = myFirstPoint.Translated (gp_Vec(myFirstPoint, theCircle.Location())*2);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : Constructor
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
AIS_DiameterDimension::AIS_DiameterDimension(const gp_Circ& theCircle, const gp_Pnt& theAttachPoint)
|
||||
: AIS_Dimension(),
|
||||
myCircle (theCircle)
|
||||
AIS_DiameterDimension::AIS_DiameterDimension (const gp_Circ& theCircle,
|
||||
const gp_Pln& thePlane)
|
||||
: AIS_Dimension (AIS_KOD_DIAMETER)
|
||||
{
|
||||
SetKindOfDimension (AIS_KOD_DIAMETER);
|
||||
SetCustomPlane (thePlane);
|
||||
SetMeasuredGeometry (theCircle);
|
||||
SetSpecialSymbol (THE_DIAMETER_SYMBOL);
|
||||
SetDisplaySpecialSymbol (AIS_DSS_Before);
|
||||
SetFlyout (0.0);
|
||||
myFirstPoint = theAttachPoint;
|
||||
// Count the second point
|
||||
if (Abs(myFirstPoint.Distance (theCircle.Location()) - theCircle.Radius()) < Precision::Confusion())
|
||||
{
|
||||
mySecondPoint = myFirstPoint.Translated(gp_Vec(myFirstPoint, theCircle.Location())*2);
|
||||
}
|
||||
else
|
||||
{
|
||||
myFirstPoint = ElCLib::Value(0, myCircle);
|
||||
mySecondPoint = myFirstPoint.Translated(gp_Vec(myFirstPoint, theCircle.Location())*2);
|
||||
}
|
||||
myIsInitialized = Standard_True;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : Constructor
|
||||
//purpose : Universal constructor for diameter dimension of shape
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
AIS_DiameterDimension::AIS_DiameterDimension (const TopoDS_Shape& theShape)
|
||||
: AIS_Dimension ()
|
||||
: AIS_Dimension (AIS_KOD_DIAMETER)
|
||||
{
|
||||
SetKindOfDimension (AIS_KOD_DIAMETER);
|
||||
SetMeasuredGeometry (theShape);
|
||||
SetSpecialSymbol (THE_DIAMETER_SYMBOL);
|
||||
SetDisplaySpecialSymbol (AIS_DSS_Before);
|
||||
SetFlyout (0.0);
|
||||
myFirstShape = theShape;
|
||||
myIsInitialized = Standard_False;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : Constructor
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
AIS_DiameterDimension::AIS_DiameterDimension (const TopoDS_Shape& theShape,
|
||||
const gp_Pln& thePlane)
|
||||
: AIS_Dimension (AIS_KOD_DIAMETER)
|
||||
{
|
||||
SetCustomPlane (thePlane);
|
||||
SetMeasuredGeometry (theShape);
|
||||
SetSpecialSymbol (THE_DIAMETER_SYMBOL);
|
||||
SetDisplaySpecialSymbol (AIS_DSS_Before);
|
||||
SetFlyout (0.0);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : AnchorPoint
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
gp_Pnt AIS_DiameterDimension::AnchorPoint()
|
||||
{
|
||||
if (!IsValid())
|
||||
{
|
||||
return gp::Origin();
|
||||
}
|
||||
|
||||
return myAnchorPoint;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : SetMeasuredGeometry
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void AIS_DiameterDimension::SetMeasuredGeometry (const gp_Circ& theCircle)
|
||||
{
|
||||
myCircle = theCircle;
|
||||
myGeometryType = GeometryType_Edge;
|
||||
myShape = BRepLib_MakeEdge (theCircle);
|
||||
myAnchorPoint = gp::Origin();
|
||||
myIsValid = IsValidCircle (myCircle);
|
||||
|
||||
if (myIsValid && myIsPlaneCustom)
|
||||
{
|
||||
ComputeAnchorPoint();
|
||||
}
|
||||
else if (!myIsPlaneCustom)
|
||||
{
|
||||
ComputePlane();
|
||||
myAnchorPoint = ElCLib::Value (0.0, myCircle);
|
||||
}
|
||||
|
||||
myIsValid &= CheckPlane (myPlane);
|
||||
|
||||
SetToUpdate();
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : SetMeasuredGeometry
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void AIS_DiameterDimension::SetMeasuredGeometry (const TopoDS_Shape& theShape)
|
||||
{
|
||||
gp_Pnt aDummyPnt (gp::Origin());
|
||||
Standard_Boolean isClosed = Standard_False;
|
||||
|
||||
myGeometryType = GeometryType_UndefShapes;
|
||||
myShape = theShape;
|
||||
myAnchorPoint = gp::Origin();
|
||||
myIsValid = InitCircularDimension (theShape, myCircle, aDummyPnt, isClosed)
|
||||
&& IsValidCircle (myCircle)
|
||||
&& isClosed;
|
||||
|
||||
if (myIsValid && myIsPlaneCustom)
|
||||
{
|
||||
ComputeAnchorPoint();
|
||||
}
|
||||
else if (!myIsPlaneCustom)
|
||||
{
|
||||
ComputePlane();
|
||||
myAnchorPoint = ElCLib::Value (0.0, myCircle);
|
||||
}
|
||||
|
||||
myIsValid &= CheckPlane (myPlane);
|
||||
|
||||
SetToUpdate();
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : CheckPlane
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
Standard_Boolean AIS_DiameterDimension::CheckPlane (const gp_Pln& thePlane) const
|
||||
{
|
||||
// Check if the circle center point belongs to plane.
|
||||
if (!thePlane.Contains (myCircle.Location(), Precision::Confusion()))
|
||||
{
|
||||
return Standard_False;
|
||||
}
|
||||
|
||||
return Standard_True;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : ComputePlane
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void AIS_DiameterDimension::ComputePlane()
|
||||
{
|
||||
if (!IsValid())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
myPlane = gp_Pln (gp_Ax3 (myCircle.Position()));
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : ComputeAnchorPoint
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void AIS_DiameterDimension::ComputeAnchorPoint()
|
||||
{
|
||||
// Anchor point is an intersection of dimension plane and circle.
|
||||
Handle(Geom_Circle) aCircle = new Geom_Circle (myCircle);
|
||||
Handle(Geom_Plane) aPlane = new Geom_Plane (myPlane);
|
||||
GeomAPI_IntCS anIntersector (aCircle, aPlane);
|
||||
if (!anIntersector.IsDone())
|
||||
{
|
||||
myIsValid = Standard_False;
|
||||
return;
|
||||
}
|
||||
|
||||
// The circle lays on the plane.
|
||||
if (anIntersector.NbPoints() != 2)
|
||||
{
|
||||
myAnchorPoint = ElCLib::Value (0.0, myCircle);
|
||||
myIsValid = Standard_True;
|
||||
return;
|
||||
}
|
||||
|
||||
gp_Pnt aFirstPoint = anIntersector.Point (1);
|
||||
gp_Pnt aSecondPoint = anIntersector.Point (2);
|
||||
|
||||
// Choose one of two intersection points that stands with
|
||||
// positive direction of flyout.
|
||||
// An anchor point is supposed to be the left attachment point.
|
||||
gp_Dir aFirstDir = gce_MakeDir (aFirstPoint, myCircle.Location());
|
||||
gp_Dir aDir = myPlane.Axis().Direction() ^ aFirstDir;
|
||||
myAnchorPoint = (gp_Vec (aDir) * gp_Vec(myCircle.Position().Direction()) > 0.0)
|
||||
? aFirstPoint
|
||||
: aSecondPoint;
|
||||
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : GetModelUnits
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
const TCollection_AsciiString& AIS_DiameterDimension::GetModelUnits() const
|
||||
{
|
||||
return myDrawer->DimLengthModelUnits();
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : GetDisplayUnits
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
const TCollection_AsciiString& AIS_DiameterDimension::GetDisplayUnits() const
|
||||
{
|
||||
return myDrawer->DimLengthDisplayUnits();
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : SetModelUnits
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void AIS_DiameterDimension::SetModelUnits (const TCollection_AsciiString& theUnits)
|
||||
{
|
||||
myDrawer->SetDimLengthModelUnits (theUnits);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : SetDisplayUnits
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void AIS_DiameterDimension::SetDisplayUnits (const TCollection_AsciiString& theUnits)
|
||||
{
|
||||
myDrawer->SetDimLengthDisplayUnits (theUnits);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : ComputeValue
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
Standard_Real AIS_DiameterDimension::ComputeValue() const
|
||||
{
|
||||
if (!IsValid())
|
||||
{
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
return myCircle.Radius() * 2.0;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : Compute
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
void AIS_DiameterDimension::Compute (const Handle(PrsMgr_PresentationManager3d)& /*thePM*/,
|
||||
const Handle(Prs3d_Presentation)& thePresentation,
|
||||
const Standard_Integer theMode)
|
||||
{
|
||||
thePresentation->Clear();
|
||||
mySelectionGeom.Clear (theMode);
|
||||
|
||||
Handle(Prs3d_DimensionAspect) aDimensionAspect = myDrawer->DimensionAspect();
|
||||
Prs3d_Root::CurrentGroup (thePresentation)->SetPrimitivesAspect (aDimensionAspect->LineAspect()->Aspect());
|
||||
|
||||
if (!myIsInitialized)
|
||||
if (!IsValid())
|
||||
{
|
||||
if (!initCircularDimension (myFirstShape, myCircle,
|
||||
myFirstPoint, mySecondPoint))
|
||||
return;
|
||||
else
|
||||
myIsInitialized = Standard_True;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!myIsWorkingPlaneCustom)
|
||||
gp_Pnt aFirstPnt (gp::Origin());
|
||||
gp_Pnt aSecondPnt (gp::Origin());
|
||||
ComputeSidePoints (myCircle, GetPlane(), aFirstPnt, aSecondPnt);
|
||||
|
||||
DrawLinearDimension (thePresentation, theMode, aFirstPnt, aSecondPnt);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : ComputeFlyoutSelection
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void AIS_DiameterDimension::ComputeFlyoutSelection (const Handle(SelectMgr_Selection)& theSelection,
|
||||
const Handle(SelectMgr_EntityOwner)& theEntityOwner)
|
||||
{
|
||||
if (!IsValid())
|
||||
{
|
||||
countDefaultPlane();
|
||||
return;
|
||||
}
|
||||
|
||||
drawLinearDimension (thePresentation, (AIS_DimensionDisplayMode)theMode);
|
||||
gp_Pnt aFirstPnt (gp::Origin());
|
||||
gp_Pnt aSecondPnt (gp::Origin());
|
||||
ComputeSidePoints (myCircle, GetPlane(), aFirstPnt, aSecondPnt);
|
||||
|
||||
ComputeLinearFlyouts (theSelection, theEntityOwner, aFirstPnt, aSecondPnt);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : computeValue
|
||||
//function : ComputeSidePoints
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
void AIS_DiameterDimension::computeValue ()
|
||||
void AIS_DiameterDimension::ComputeSidePoints (const gp_Circ& /*theCircle*/,
|
||||
const gp_Pln& /*thePlane*/,
|
||||
gp_Pnt& theFirstPnt,
|
||||
gp_Pnt& theSecondPnt)
|
||||
{
|
||||
myValue = myFirstPoint.Distance (mySecondPoint);
|
||||
AIS_Dimension::computeValue();
|
||||
theFirstPnt = AnchorPoint();
|
||||
|
||||
gp_Vec aRadiusVector (myCircle.Location(), theFirstPnt);
|
||||
theSecondPnt = myCircle.Location().Translated (-aRadiusVector);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : countDefaultPlane
|
||||
//function : IsValidCircle
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
void AIS_DiameterDimension::countDefaultPlane ()
|
||||
Standard_Boolean AIS_DiameterDimension::IsValidCircle (const gp_Circ& theCircle) const
|
||||
{
|
||||
// Compute normal of the default plane.
|
||||
//gp_Vec aVec1(mySecondPoint, myFirstPoint),
|
||||
// aVec2(mySecondPoint, ElCLib::Value(M_PI_2, myCircle));
|
||||
myDefaultPlane = gp_Pln(gp_Ax3(myCircle.Position()));
|
||||
// Set computed value to <myWorkingPlane>
|
||||
ResetWorkingPlane ();
|
||||
return (theCircle.Radius() * 2.0) > Precision::Confusion();
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : IsValidAnchor
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
Standard_Boolean AIS_DiameterDimension::IsValidAnchor (const gp_Circ& theCircle,
|
||||
const gp_Pnt& theAnchor) const
|
||||
{
|
||||
gp_Pln aCirclePlane (theCircle.Location(), theCircle.Axis().Direction());
|
||||
Standard_Real anAnchorDist = theAnchor.Distance (theCircle.Location());
|
||||
Standard_Real aRadius = myCircle.Radius();
|
||||
|
||||
return Abs (anAnchorDist - aRadius) > Precision::Confusion()
|
||||
&& aCirclePlane.Contains (theAnchor, Precision::Confusion());
|
||||
}
|
||||
|
@@ -1,20 +1,18 @@
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
|
||||
#ifndef _AIS_DiameterDimension_HeaderFile
|
||||
#define _AIS_DiameterDimension_HeaderFile
|
||||
|
||||
@@ -26,47 +24,159 @@
|
||||
#include <Standard_Macro.hxx>
|
||||
#include <Standard_DefineHandle.hxx>
|
||||
|
||||
DEFINE_STANDARD_HANDLE(AIS_DiameterDimension,AIS_Dimension)
|
||||
DEFINE_STANDARD_HANDLE (AIS_DiameterDimension, AIS_Dimension)
|
||||
|
||||
//! A framework to display diameter dimensions. <br>
|
||||
//! A diameter is displayed with arrows and text. The <br>
|
||||
//! text gives the length of the diameter. <br>
|
||||
//! The algorithm takes a length along a face and <br>
|
||||
//! analyzes it as an arc. It then reconstructs the circle <br>
|
||||
//! corresponding to the arc and calculates the <br>
|
||||
//! diameter of this circle. This diameter serves as a <br>
|
||||
//! relational reference in 3d presentations of the surface. <br>
|
||||
//! Diameter dimension. Can be constructued:
|
||||
//! - On generic circle.
|
||||
//! - On generic circle with user-defined anchor point on that circle
|
||||
//! (dimension plane is oriented to follow the anchor point).
|
||||
//! - On generic circle in the specified plane.
|
||||
//! - On generic shape containing geometry that can be measured
|
||||
//! by diameter dimension: circle wire, circular face, etc.
|
||||
//! The anchor point is the location of the left attachement point of
|
||||
//! dimension on the circle.
|
||||
//! The anchor point computation is processed after dimension plane setting
|
||||
//! so that positive flyout direction stands with normal of the circle and
|
||||
//! the normal of the plane.
|
||||
//! If the plane is user-defined the anchor point was computed as intersection
|
||||
//! of the plane and the basis circle. Among two intersection points
|
||||
//! the one is selected so that positive flyout direction vector and
|
||||
//! the circle normal on the one side form the circle plane.
|
||||
//! (corner between positive flyout directio nand the circle normal is acute.)
|
||||
//! If the plane is computed automatically (by default it is the circle plane),
|
||||
//! the anchor point is the zero parameter point of the circle.
|
||||
//!
|
||||
//! The dimension is considered as invalid if the user-defined plane
|
||||
//! does not include th enachor point and th ecircle center,
|
||||
//! if the diameter of the circle is less than Precision::Confusion().
|
||||
//! In case if the dimension is built on the arbitrary shape, it can be considered
|
||||
//! as invalid if the shape does not contain circle geometry.
|
||||
//!
|
||||
class AIS_DiameterDimension : public AIS_Dimension
|
||||
{
|
||||
public:
|
||||
//! Constructs a diameter display object defined by the <br>
|
||||
//! circle <theCircle>
|
||||
Standard_EXPORT AIS_DiameterDimension(const gp_Circ& theCircle);
|
||||
//! Consctructor that allows to set a attach point <br>
|
||||
//! on the circle <theCircle> where to attach dimension
|
||||
Standard_EXPORT AIS_DiameterDimension (const gp_Circ& theCircle,
|
||||
const gp_Pnt& theAttachPoint);
|
||||
|
||||
Standard_EXPORT AIS_DiameterDimension (const TopoDS_Shape& theShape);
|
||||
//! Construct diameter dimension for the circle.
|
||||
//! @param theCircle [in] the circle to measure.
|
||||
Standard_EXPORT AIS_DiameterDimension (const gp_Circ& theCircle);
|
||||
|
||||
//! Construct diameter dimension for the circle and orient it correspondingly
|
||||
//! to the passed plane.
|
||||
//! @param theCircle [in] the circle to measure.
|
||||
//! @param thePlane [in] the plane defining preferred orientation
|
||||
//! for dimension.
|
||||
Standard_EXPORT AIS_DiameterDimension (const gp_Circ& theCircle,
|
||||
const gp_Pln& thePlane);
|
||||
|
||||
//! Construct diameter on the passed shape, if applicable.
|
||||
//! @param theShape [in] the shape to measure.
|
||||
Standard_EXPORT AIS_DiameterDimension (const TopoDS_Shape& theShape);
|
||||
|
||||
//! Construct diameter on the passed shape, if applicable - and
|
||||
//! define the preferred plane to orient the dimension.
|
||||
//! @param theShape [in] the shape to measure.
|
||||
//! @param thePlane [in] the plane defining preferred orientation
|
||||
//! for dimension.
|
||||
Standard_EXPORT AIS_DiameterDimension (const TopoDS_Shape& theShape,
|
||||
const gp_Pln& thePlane);
|
||||
|
||||
public:
|
||||
|
||||
//! @return measured geometry circle.
|
||||
const gp_Circ& Circle() const
|
||||
{
|
||||
return myCircle;
|
||||
}
|
||||
|
||||
//! @return anchor point on circle for diameter dimension.
|
||||
Standard_EXPORT gp_Pnt AnchorPoint();
|
||||
|
||||
//! @return the measured shape.
|
||||
const TopoDS_Shape& Shape() const
|
||||
{
|
||||
return myShape;
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
//! Measure diameter of the circle.
|
||||
//! The actual dimension plane is used for determining anchor points
|
||||
//! on the circle to attach the dimension lines to.
|
||||
//! The dimension will become invalid if the diameter of the circle
|
||||
//! is less than Precision::Confusion().
|
||||
//! @param theCircle [in] the circle to measure.
|
||||
Standard_EXPORT void SetMeasuredGeometry (const gp_Circ& theCircle);
|
||||
|
||||
//! Measure diameter on the passed shape, if applicable.
|
||||
//! The dimension will become invalid if the passed shape is not
|
||||
//! measurable or if measured diameter value is less than Precision::Confusion().
|
||||
//! @param theShape [in] the shape to measure.
|
||||
Standard_EXPORT void SetMeasuredGeometry (const TopoDS_Shape& theShape);
|
||||
|
||||
//! @return the display units string.
|
||||
Standard_EXPORT virtual const TCollection_AsciiString& GetDisplayUnits () const;
|
||||
|
||||
//! @return the model units string.
|
||||
Standard_EXPORT virtual const TCollection_AsciiString& GetModelUnits () const;
|
||||
|
||||
Standard_EXPORT virtual void SetDisplayUnits (const TCollection_AsciiString& theUnits);
|
||||
|
||||
Standard_EXPORT virtual void SetModelUnits (const TCollection_AsciiString& theUnits);
|
||||
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_RTTI(AIS_DiameterDimension)
|
||||
|
||||
protected:
|
||||
|
||||
Standard_EXPORT virtual void computeValue();
|
||||
//! Override this method to change logic of anchor point computation.
|
||||
//! Computes anchor point. Its computation is based on the current
|
||||
//! dimension plane. Therfore, anchor point is an intersection of plane
|
||||
//! and circle.
|
||||
//! ATTENTION!
|
||||
//! 1) The plane should be set or computed before.
|
||||
//! 2) The plane should inclide th ecircle center to be valid.
|
||||
Standard_EXPORT virtual void ComputeAnchorPoint();
|
||||
|
||||
//! Fills default plane object if it is possible to count plane automatically.
|
||||
Standard_EXPORT virtual void countDefaultPlane();
|
||||
Standard_EXPORT virtual void ComputePlane();
|
||||
|
||||
//! Checks if the center of the circle is on the plane.
|
||||
Standard_EXPORT virtual Standard_Boolean CheckPlane (const gp_Pln& thePlane) const;
|
||||
|
||||
Standard_EXPORT virtual Standard_Real ComputeValue() const;
|
||||
|
||||
Standard_EXPORT virtual void Compute (const Handle(PrsMgr_PresentationManager3d)& thePresentationManager,
|
||||
const Handle(Prs3d_Presentation)& thePresentation,
|
||||
const Standard_Integer theMode = 0);
|
||||
|
||||
Standard_EXPORT virtual void ComputeFlyoutSelection (const Handle(SelectMgr_Selection)& theSelection,
|
||||
const Handle(SelectMgr_EntityOwner)& theEntityOwner);
|
||||
|
||||
protected:
|
||||
|
||||
//! Compute points on the circle sides for the specified dimension plane.
|
||||
//! Program error exception is raised if the dimension plane "x" direction
|
||||
//! is orthogonal to plane (the "impossible" case). The passed dimension plane
|
||||
//! is the one specially computed to locate dimension presentation in circle.
|
||||
//! @param theCircle [in] the circle.
|
||||
//! @param thePlane [in] the dimension presentation plane computed.
|
||||
//! @param theFirstPnt [out] the first point.
|
||||
//! @param theSecondPnt [out] the second point.
|
||||
Standard_EXPORT void ComputeSidePoints (const gp_Circ& theCircle,
|
||||
const gp_Pln& thePlane,
|
||||
gp_Pnt& theFirstPnt,
|
||||
gp_Pnt& theSecondPnt);
|
||||
|
||||
Standard_EXPORT Standard_Boolean IsValidCircle (const gp_Circ& theCircle) const;
|
||||
|
||||
Standard_EXPORT Standard_Boolean IsValidAnchor (const gp_Circ& theCircle,
|
||||
const gp_Pnt& thePnt) const;
|
||||
|
||||
private:
|
||||
|
||||
virtual void Compute (const Handle(PrsMgr_PresentationManager3d)& thePresentationManager,
|
||||
const Handle(Prs3d_Presentation)& thePresentation,
|
||||
const Standard_Integer theMode = 0);
|
||||
|
||||
// Fields
|
||||
private:
|
||||
|
||||
gp_Circ myCircle;
|
||||
gp_Circ myCircle;
|
||||
gp_Pnt myAnchorPoint;
|
||||
TopoDS_Shape myShape;
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif // _AIS_DiameterDimension_HeaderFile
|
||||
|
1498
src/AIS/AIS_Dimension.cxx
Normal file → Executable file
1498
src/AIS/AIS_Dimension.cxx
Normal file → Executable file
File diff suppressed because it is too large
Load Diff
677
src/AIS/AIS_Dimension.hxx
Normal file → Executable file
677
src/AIS/AIS_Dimension.hxx
Normal file → Executable file
@@ -1,36 +1,34 @@
|
||||
// Copyright (c) 1998-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2013 OPEN CASCADE SAS
|
||||
// Created on: 2013-11-11
|
||||
// Created by: Anastasia BORISOVA
|
||||
// Copyright (c) 2013 OPEN CASCADE SAS
|
||||
//
|
||||
// The content of this file is subject to the Open CASCADE Technology Public
|
||||
// License Version 6.5 (the "License"). You may not use the content of this file
|
||||
// except in compliance with the License. Please obtain a copy of the License
|
||||
// at http://www.opencascade.org and read it completely before using this file.
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public 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.
|
||||
//
|
||||
// The Original Code and all software distributed under the License is
|
||||
// distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
// Initial Developer hereby disclaims all such warranties, including without
|
||||
// limitation, any warranties of merchantability, fitness for a particular
|
||||
// purpose or non-infringement. Please see the License for the specific terms
|
||||
// and conditions governing the rights and limitations under the License.
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _AIS_Dimension_Headerfile
|
||||
#define _AIS_Dimension_Headerfile
|
||||
#ifndef _AIS_Dimension_HeaderFile
|
||||
#define _AIS_Dimension_HeaderFile
|
||||
|
||||
#include <AIS_DimensionDisplayMode.hxx>
|
||||
#include <AIS_DimensionSelectionMode.hxx>
|
||||
#include <AIS_DimensionOwner.hxx>
|
||||
#include <AIS_DisplaySpecialSymbol.hxx>
|
||||
#include <AIS_InteractiveObject.hxx>
|
||||
#include <AIS_KindOfInteractive.hxx>
|
||||
#include <AIS_KindOfDimension.hxx>
|
||||
#include <AIS_KindOfSurface.hxx>
|
||||
#include <Bnd_Box.hxx>
|
||||
#include <AIS_Drawer.hxx>
|
||||
#include <Geom_Curve.hxx>
|
||||
#include <gp_Pln.hxx>
|
||||
#include <Prs3d_ArrowAspect.hxx>
|
||||
#include <Prs3d_DimensionAspect.hxx>
|
||||
#include <Prs3d_DimensionUnits.hxx>
|
||||
#include <Prs3d_LineAspect.hxx>
|
||||
#include <Prs3d_Presentation.hxx>
|
||||
#include <Prs3d_TextAspect.hxx>
|
||||
@@ -38,18 +36,129 @@
|
||||
#include <SelectMgr_EntityOwner.hxx>
|
||||
#include <Standard.hxx>
|
||||
#include <TCollection_ExtendedString.hxx>
|
||||
#include <TColgp_HArray1OfPnt.hxx>
|
||||
#include <TColgp_HSequenceOfPnt.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#include <NCollection_Sequence.hxx>
|
||||
#include <NCollection_Handle.hxx>
|
||||
|
||||
DEFINE_STANDARD_HANDLE(AIS_Dimension, AIS_InteractiveObject)
|
||||
|
||||
//! AIS_Dimension is a base class for 2D presentations of linear (length, diameter, radius)
|
||||
//! and angular dimensions.
|
||||
//!
|
||||
//! The dimensions provide measurement of quantities, such as lengths or plane angles.
|
||||
//! The measurement of dimension "value" is done in model space "as is".
|
||||
//! These "value" are said to be represented in "model units", which can be specified by user.
|
||||
//! During the display the measured value converted from "model units" to "display units".
|
||||
//! The display and model units are stored in common Prs3d_Drawer (drawer of the context)
|
||||
//! to share it between all dimensions.
|
||||
//! The specified by user units are stored in the dimension's drawer.
|
||||
//!
|
||||
//! As a drawing, the dimension is composed from the following components:
|
||||
//! - Attachement (binding) points. The points where the dimension lines attaches to, for
|
||||
//! length dimensions the distances are measured between these points.
|
||||
//! - Main dimension line. The which extends from the attachement points in "up" direction,
|
||||
//! and which contains text label on it with value string.
|
||||
//! - Flyouts. The lines connecting the attachement points with main dimension line.
|
||||
//! - Extension. The lines used to extend the main dimension line in the cases when text
|
||||
//! or arrows do not fit into the main dimension line due to their size.
|
||||
//! - Arrows.
|
||||
//!
|
||||
//! <pre>
|
||||
//! Linear dimensions:
|
||||
//!
|
||||
//! extension
|
||||
//! line arrow
|
||||
//! -->|------- main dimension line -------|<--
|
||||
//! | |
|
||||
//! |flyout flyout|
|
||||
//! | |
|
||||
//! +-----------------------------------+
|
||||
//! attachement attachement
|
||||
//! point point
|
||||
//!
|
||||
//! Angular dimensions:
|
||||
//!
|
||||
//! extension
|
||||
//! line
|
||||
//! -->|+++++
|
||||
//! arrow | +++
|
||||
//! | 90(deg) - main dimension line
|
||||
//! flyout | +++
|
||||
//! | +
|
||||
//! o---flyout---
|
||||
//! center ^
|
||||
//! point | extension
|
||||
//! line
|
||||
//! </pre>
|
||||
//!
|
||||
//! Being a 2D drawings, the dimensions are created on imaginary plane, called "dimension plane",
|
||||
//! which can be thought of as reference system of axes (X,Y,N) for constructing the presentation.
|
||||
//!
|
||||
//! The role of axes of the dimension plane is to guide you through the encapsualted automations
|
||||
//! of presentation building to help you understand how is the presentation will look and how it
|
||||
//! will be oriented in model space during construction.
|
||||
//!
|
||||
//! Orientation of dimension line in model space relatively to the base shapes is defined
|
||||
//! with the flyouts. Flyouts specify length of flyout lines and their orientation relatively
|
||||
//! to the attachment points on the working plane.
|
||||
//! For linear dimensions:
|
||||
//! Direction of flyouts is specified with direction of main dimension line
|
||||
//! (vector from the first attachment to the second attachment) and the normal of the dimension plane.
|
||||
//! Positive direction of flyouts is defined by vector multiplication: AttachVector * PlaneNormal.
|
||||
//! For angular dimensions:
|
||||
//! Flyouts are defined by vectors from the center point to the attachment points.
|
||||
//! These vectors directions are supposed to be the positive directions of flyouts.
|
||||
//! Negative flyouts directions means that these vectors should be reversed
|
||||
//! (and dimension will be built out of the angle constructed with center and two attach points).
|
||||
//!
|
||||
//! The dimension plane can be constructed automatically by application (where possible,
|
||||
//! it depends on the measured geometry).
|
||||
//! It can be also set by user. However, if the user-defined plane does not fit the
|
||||
//! geometry of the dimension (attach points do not belong to it), the dimension could not
|
||||
//! be built.
|
||||
//! If it is not possible to compute automatic plane (for example, in case of length between
|
||||
//! two points) the user is supposed to specify the custom plane.
|
||||
//!
|
||||
//! Since the dimensions feature automated construction procedures from an arbitrary shapes,
|
||||
//! the interfaces to check the validness are also implemented. Once the measured geometry is
|
||||
//! specified, the one can inquire the validness status by calling "IsValid()" method. If the result
|
||||
//! is TRUE, then all of public parameters should be pre-computed and ready. The presentation
|
||||
//! should be also computable. Otherwise, the parameters may return invalid values. In this case,
|
||||
//! the presentation will not be computed and displayed.
|
||||
//!
|
||||
//! The dimension support two local selection modes: main dimension line selection and text label
|
||||
//! selection. These modes can be used to develop interactive modification of dimension presentations.
|
||||
//! The component hilighting in these selection modes is provided by AIS_DimensionOwner class.
|
||||
//! Please note that selection is unavailable until the presentation is computed.
|
||||
//!
|
||||
//! The specific drawing attributes are controlled through Prs3d_DimensionAspect. The one can change
|
||||
//! color, arrows, text and arrow style and specify positioning of value label by setting corresponding
|
||||
//! values to the aspect.
|
||||
//!
|
||||
class AIS_Dimension : public AIS_InteractiveObject
|
||||
{
|
||||
protected:
|
||||
|
||||
// Specifies supported at base level horizontal and vertical
|
||||
// label positions for drawing extension lines and centered text.
|
||||
//! Geometry type defines type of shapes on which the dimension is to be built.
|
||||
//! Some type of geometry allows automatical plane computing and
|
||||
//! can be built without user-defined plane
|
||||
//! Another types can't be built without user-defined plane.
|
||||
enum GeometryType
|
||||
{
|
||||
GeometryType_UndefShapes,
|
||||
GeometryType_Edge,
|
||||
GeometryType_Face,
|
||||
GeometryType_Points,
|
||||
GeometryType_Edges,
|
||||
GeometryType_Faces,
|
||||
GeometryType_EdgeFace,
|
||||
GeometryType_EdgeVertex
|
||||
};
|
||||
|
||||
//! Specifies supported at base level horizontal and vertical
|
||||
//! label positions for drawing extension lines and centered text.
|
||||
enum LabelPosition
|
||||
{
|
||||
LabelPosition_None = 0x00,
|
||||
@@ -57,327 +166,407 @@ protected:
|
||||
LabelPosition_Left = 0x01,
|
||||
LabelPosition_Right = 0x02,
|
||||
LabelPosition_HCenter = 0x04,
|
||||
LabelPosition_HMask = LabelPosition_Left | LabelPosition_Right | LabelPosition_HCenter,
|
||||
LabelPosition_HMask = LabelPosition_Left | LabelPosition_Right | LabelPosition_HCenter,
|
||||
|
||||
LabelPosition_Above = 0x10,
|
||||
LabelPosition_Below = 0x20,
|
||||
LabelPosition_VCenter = 0x40,
|
||||
LabelPosition_VMask = LabelPosition_Above | LabelPosition_Below | LabelPosition_VCenter
|
||||
LabelPosition_VMask = LabelPosition_Above | LabelPosition_Below | LabelPosition_VCenter
|
||||
};
|
||||
|
||||
public:
|
||||
|
||||
//! Constructor with default parameters values
|
||||
Standard_EXPORT AIS_Dimension();
|
||||
//! Specifies supported presentation compute modes.
|
||||
//! Used to compute only parts of presentation for
|
||||
//! advanced highlighting.
|
||||
enum ComputeMode
|
||||
{
|
||||
ComputeMode_All = 0, //!< "0" is reserved as neutral mode
|
||||
ComputeMode_Line = 1, //!< corresponds to selection mode
|
||||
ComputeMode_Text = 2 //!< corresponds to selection mode
|
||||
};
|
||||
|
||||
//! Gets dimension value
|
||||
Standard_EXPORT Standard_Real GetValue() const;
|
||||
public:
|
||||
|
||||
//! Sets dimension value
|
||||
//! Attention! This method is used ONLY to set custom value.
|
||||
//! To set value internally, use <myValue>.
|
||||
Standard_EXPORT void SetCustomValue (const Standard_Real theValue);
|
||||
//! Constructor with default parameters values.
|
||||
//! @param theType [in] the type of dimension.
|
||||
Standard_EXPORT AIS_Dimension (const AIS_KindOfDimension theType);
|
||||
|
||||
//! Gets working plane.
|
||||
Standard_EXPORT const gp_Pln& GetWorkingPlane() const;
|
||||
//! Gets dimension measurement value. If the value to display is not
|
||||
//! specified by user, then the dimension object is responsible to
|
||||
//! compute it on its own in model space coordinates.
|
||||
//! @return the dimension value (in model units) which is used
|
||||
//! during display of the presentation.
|
||||
Standard_Real GetValue() const
|
||||
{
|
||||
return myIsValueCustom ? myCustomValue : ComputeValue();
|
||||
}
|
||||
|
||||
//! Sets working plane.
|
||||
Standard_EXPORT void SetWorkingPlane (const gp_Pln& thePlane);
|
||||
//! Sets user-defined dimension value.
|
||||
//! The user-defined dimension value is specified in model space,
|
||||
//! and affect by unit conversion during the display.
|
||||
//! @param theValue [in] the user-defined value to display.
|
||||
Standard_EXPORT void SetCustomValue (const Standard_Real theValue);
|
||||
|
||||
Standard_EXPORT void SetFirstPoint (const gp_Pnt& thePoint);
|
||||
//! Get the dimension plane in which the 2D dimension presentation is computed.
|
||||
//! By default, if plane is not defined by user, it is computed automatically
|
||||
//! after dimension geometry is computed.
|
||||
//! If computed dimension geometry (points) can't be placed on the user-defined
|
||||
//! plane, dimension geometry was set as unvalid (validity flag is set to false)
|
||||
//! and dimension presentation wil not be computed.
|
||||
//! If user-defined plane allow geometry placement on it, it will be used for
|
||||
//! computing of the dimension presentation.
|
||||
//! @return dimension plane used for presentation computing.
|
||||
Standard_EXPORT const gp_Pln& GetPlane() const;
|
||||
|
||||
Standard_EXPORT void SetSecondPoint (const gp_Pnt& thePoint);
|
||||
//! Geometry type defines type of shapes on which the dimension is to be built.
|
||||
//! @return type of geometry on which the dimension will be built.
|
||||
Standard_EXPORT const Standard_Integer GetGeometryType () const;
|
||||
|
||||
Standard_EXPORT void SetFirstShape (const TopoDS_Shape& theFirstShape);
|
||||
//! Sets user-defined plane where the 2D dimension presentation will be placed.
|
||||
//! Checks validity of this plane if geometry has been set already.
|
||||
//! Validity of the plane is checked according to the geometry set
|
||||
//! and has different criteria for different kinds of dimensions.
|
||||
Standard_EXPORT virtual void SetCustomPlane (const gp_Pln& thePlane);
|
||||
|
||||
Standard_EXPORT void SetSecondShape (const TopoDS_Shape& theSecondShape);
|
||||
//! Unsets user-defined plane. Therefore the plane for dimension will be
|
||||
//! computed automatically.
|
||||
Standard_EXPORT void UnsetCustomPlane() { myIsPlaneCustom = Standard_False; }
|
||||
|
||||
public:
|
||||
|
||||
//! Gets the dimension aspect from AIS object drawer.
|
||||
//! Dimension aspect contains aspects of line, text and arrows for dimension presentation.
|
||||
Standard_EXPORT Handle(Prs3d_DimensionAspect) DimensionAspect() const;
|
||||
Handle(Prs3d_DimensionAspect) DimensionAspect() const
|
||||
{
|
||||
return myDrawer->DimensionAspect();
|
||||
}
|
||||
|
||||
//! Sets new length aspect in the interactive object drawer.
|
||||
Standard_EXPORT void SetDimensionAspect (const Handle(Prs3d_DimensionAspect)& theDimensionAspect);
|
||||
//! Sets new dimension aspect for the interactive object drawer.
|
||||
//! The dimension aspect provides dynamic properties which are generally
|
||||
//! used during computation of dimension presentations.
|
||||
Standard_EXPORT void SetDimensionAspect (const Handle(Prs3d_DimensionAspect)& theDimensionAspect);
|
||||
|
||||
//! Returns the kind of dimension
|
||||
Standard_EXPORT AIS_KindOfDimension KindOfDimension() const;
|
||||
//! @return the kind of dimension.
|
||||
AIS_KindOfDimension KindOfDimension() const
|
||||
{
|
||||
return myKindOfDimension;
|
||||
}
|
||||
|
||||
//! Returns the kind of interactive
|
||||
Standard_EXPORT virtual AIS_KindOfInteractive Type() const;
|
||||
|
||||
//! Sets the kind of dimension
|
||||
Standard_EXPORT virtual void SetKindOfDimension (const AIS_KindOfDimension theKindOfDimension);
|
||||
//! @return the kind of interactive.
|
||||
virtual AIS_KindOfInteractive Type() const
|
||||
{
|
||||
return AIS_KOI_Relation;
|
||||
}
|
||||
|
||||
//! Returns true if the class of objects accepts the display mode theMode.
|
||||
//! The interactive context can have a default mode of
|
||||
//! representation for the set of Interactive Objects. This
|
||||
//! mode may not be accepted by object
|
||||
Standard_EXPORT virtual Standard_Boolean AcceptDisplayMode (const Standard_Integer theMode) const;
|
||||
//! The interactive context can have a default mode of representation for
|
||||
//! the set of Interactive Objects. This mode may not be accepted by object.
|
||||
virtual Standard_Boolean AcceptDisplayMode (const Standard_Integer theMode) const
|
||||
{
|
||||
return theMode == ComputeMode_All;
|
||||
}
|
||||
|
||||
// Selection computing if it is needed here
|
||||
Standard_EXPORT virtual void ComputeSelection (const Handle(SelectMgr_Selection)& theSelection,
|
||||
const Standard_Integer theMode);
|
||||
public:
|
||||
|
||||
//! Reset working plane to default.
|
||||
Standard_EXPORT void ResetWorkingPlane();
|
||||
//! @return dimension special symbol display options.
|
||||
AIS_DisplaySpecialSymbol DisplaySpecialSymbol() const
|
||||
{
|
||||
return myDisplaySpecialSymbol;
|
||||
}
|
||||
|
||||
//! specifies dimension special symbol display options
|
||||
Standard_EXPORT void SetDisplaySpecialSymbol (const AIS_DisplaySpecialSymbol theDisplaySpecSymbol);
|
||||
//! Specifies whether to display special symbol or not.
|
||||
Standard_EXPORT void SetDisplaySpecialSymbol (const AIS_DisplaySpecialSymbol theDisplaySpecSymbol);
|
||||
|
||||
//! shows dimension special symbol display options
|
||||
Standard_EXPORT AIS_DisplaySpecialSymbol DisplaySpecialSymbol() const;
|
||||
//! @return special symbol.
|
||||
Standard_ExtCharacter SpecialSymbol() const
|
||||
{
|
||||
return mySpecialSymbol;
|
||||
}
|
||||
|
||||
//! specifies special symbol
|
||||
Standard_EXPORT void SetSpecialSymbol (const Standard_ExtCharacter theSpecialSymbol);
|
||||
//! Specifies special symbol.
|
||||
Standard_EXPORT void SetSpecialSymbol (const Standard_ExtCharacter theSpecialSymbol);
|
||||
|
||||
//! returns special symbol
|
||||
Standard_EXPORT Standard_ExtCharacter SpecialSymbol() const;
|
||||
Standard_EXPORT virtual const TCollection_AsciiString& GetDisplayUnits() const;
|
||||
|
||||
//! shows if Units are to be displayed along with dimension value
|
||||
Standard_EXPORT Standard_Boolean IsUnitsDisplayed() const;
|
||||
Standard_EXPORT virtual const TCollection_AsciiString& GetModelUnits() const;
|
||||
|
||||
//! sets to display units along with the dimansion value or no
|
||||
Standard_EXPORT void MakeUnitsDisplayed (const Standard_Boolean toDisplayUnits);
|
||||
Standard_EXPORT virtual void SetDisplayUnits (const TCollection_AsciiString& /*theUnits*/) { }
|
||||
|
||||
//! returns the current type of units
|
||||
Standard_EXPORT TCollection_AsciiString UnitsQuantity() const;
|
||||
Standard_EXPORT virtual void SetModelUnits (const TCollection_AsciiString& /*theUnits*/) { }
|
||||
|
||||
//! sets the current type of units
|
||||
Standard_EXPORT void SetUnitsQuantity (const TCollection_AsciiString& theUnitsQuantity);
|
||||
public:
|
||||
|
||||
//! returns the current model units
|
||||
Standard_EXPORT TCollection_AsciiString ModelUnits() const;
|
||||
|
||||
//! sets the current model units
|
||||
Standard_EXPORT void SetModelUnits (const TCollection_AsciiString& theUnits);
|
||||
|
||||
//! returns the current display units
|
||||
Standard_EXPORT TCollection_AsciiString DisplayUnits() const;
|
||||
|
||||
//! sets the current display units
|
||||
Standard_EXPORT void SetDisplayUnits (const TCollection_AsciiString& theUnits);
|
||||
|
||||
//! Important! Only for 3d text </br>
|
||||
//! 3d text is oriented relative to the attachment points order </br>
|
||||
//! By default, text direction vector is oriented from the first attachment point </br>
|
||||
//! to the second one. This method checks if text direction is to be default or </br>
|
||||
//! should be reversed.
|
||||
Standard_EXPORT Standard_Boolean IsTextReversed() const;
|
||||
|
||||
//! Important! Only for 3d text
|
||||
//! 3d text is oriented relative to the attachment points order </br>
|
||||
//! By default, text direction vector is oriented from the first attachment point </br>
|
||||
//! to the second one. This method sets value that shows if text direction </br>
|
||||
//! should be reversed or not.
|
||||
Standard_EXPORT void MakeTextReversed (const Standard_Boolean isTextReversed);
|
||||
//! Returns selection tolerance for text2d:
|
||||
//! For 2d text selection detection sensitive point with tolerance is used
|
||||
//! Important! Only for 2d text.
|
||||
Standard_Real SelToleranceForText2d() const
|
||||
{
|
||||
return mySelToleranceForText2d;
|
||||
}
|
||||
|
||||
//! Sets selection tolerance for text2d:
|
||||
//! For 2d text selection detection sensitive point with tolerance is used
|
||||
//! to change this tolerance use this method
|
||||
//! Important! Only for 2d text
|
||||
Standard_EXPORT void SetSelToleranceForText2d (const Standard_Real theTol);
|
||||
//! Important! Only for 2d text.
|
||||
Standard_EXPORT void SetSelToleranceForText2d (const Standard_Real theTol);
|
||||
|
||||
//! Returns selection tolerance for text2d:
|
||||
//! For 2d text selection detection sensitive point with tolerance is used
|
||||
//! Important! Only for 2d text
|
||||
Standard_EXPORT Standard_Real SelToleranceForText2d() const;
|
||||
|
||||
//! Sets flyout size for dimension.
|
||||
Standard_EXPORT void SetFlyout (const Standard_Real theFlyout);
|
||||
|
||||
//! @return flyout size for dimension.
|
||||
//! @return flyout value for dimension.
|
||||
Standard_Real GetFlyout() const
|
||||
{
|
||||
return myFlyout;
|
||||
}
|
||||
|
||||
//! Sets flyout value for dimension.
|
||||
Standard_EXPORT void SetFlyout (const Standard_Real theFlyout);
|
||||
|
||||
//! Check that the input geometry for dimension is valid and the
|
||||
//! presentation can be succesfully computed.
|
||||
//! @return TRUE if dimension geometry is ok.
|
||||
Standard_Boolean IsValid() const
|
||||
{
|
||||
return myIsValid;
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_RTTI(AIS_Dimension)
|
||||
|
||||
protected:
|
||||
|
||||
Standard_EXPORT void getTextWidthAndString (Quantity_Length& theWidth,
|
||||
TCollection_ExtendedString& theString) const;
|
||||
Standard_EXPORT Standard_Real ValueToDisplayUnits() const;
|
||||
|
||||
Standard_EXPORT Standard_Real valueToDisplayUnits();
|
||||
|
||||
//! Reset working plane to default.
|
||||
Standard_EXPORT void resetWorkingPlane (const gp_Pln& theNewDefaultPlane);
|
||||
|
||||
//! Count default plane
|
||||
Standard_EXPORT virtual void countDefaultPlane();
|
||||
|
||||
//! Computes dimension value in display units
|
||||
Standard_EXPORT virtual void computeValue();
|
||||
//! Get formatted value string and its model space width.
|
||||
//! @param theWidth [out] the model space with of the string.
|
||||
//! @return formatted dimension value string.
|
||||
Standard_EXPORT TCollection_ExtendedString GetValueString (Standard_Real& theWidth) const;
|
||||
|
||||
//! Performs drawing of 2d or 3d arrows on the working plane
|
||||
Standard_EXPORT void drawArrow (const Handle(Prs3d_Presentation)& thePresentation,
|
||||
//! @param theLocation [in] the location of the arrow tip.
|
||||
//! @param theDirection [in] the direction from the tip to the bottom of the arrow.
|
||||
Standard_EXPORT void DrawArrow (const Handle(Prs3d_Presentation)& thePresentation,
|
||||
const gp_Pnt& theLocation,
|
||||
const gp_Dir& theDirection);
|
||||
|
||||
//! Performs drawing of 2d or 3d text on the working plane
|
||||
//! @param theTextPos [in] the position of the text label.
|
||||
//! @param theTestDir [in] the direction of the text label.
|
||||
//! @param theText [in] the text label string.
|
||||
//! @param theLabelPosition [in] the text label vertical and horizontal positioning option
|
||||
//! respectively to the main dimension line.
|
||||
//! @return text width relative to the dimension working plane. For 2d text this value will be zero.
|
||||
Standard_EXPORT Standard_Real drawText (const Handle(Prs3d_Presentation)& thePresentation,
|
||||
const gp_Dir& theTextDir,
|
||||
const TCollection_ExtendedString theText,
|
||||
const AIS_DimensionDisplayMode theMode,
|
||||
const Standard_Integer theLabelPosition);
|
||||
Standard_EXPORT void DrawText (const Handle(Prs3d_Presentation)& thePresentation,
|
||||
const gp_Pnt& theTextPos,
|
||||
const gp_Dir& theTextDir,
|
||||
const TCollection_ExtendedString& theText,
|
||||
const Standard_Integer theLabelPosition);
|
||||
|
||||
//! Performs computing of dimension linear extension with text
|
||||
//! @param thePresentation [in] the presentation to fill with graphical primitives.
|
||||
//! @param theExtensionSize [in] the size of extension line.
|
||||
//! @param theExtensionStart [in] the point where extension line connects to dimension.
|
||||
//! @param theExtensionDir [in] the direction of extension line.
|
||||
//! @param theValueString [in] the string with value.
|
||||
//! @param theLabelString [in] the string with value.
|
||||
//! @param theLabelWidth [in] the geometrical width computed for value string.
|
||||
//! @param theMode [in] the display mode.
|
||||
//! @param theLabelPosition [in] position flags for the text label.
|
||||
Standard_EXPORT void drawExtension (const Handle(Prs3d_Presentation)& thePresentation,
|
||||
Standard_EXPORT void DrawExtension (const Handle(Prs3d_Presentation)& thePresentation,
|
||||
const Standard_Real theExtensionSize,
|
||||
const gp_Pnt& theExtensionStart,
|
||||
const gp_Dir& theExtensionDir,
|
||||
const TCollection_ExtendedString& theValueString,
|
||||
const AIS_DimensionDisplayMode theMode,
|
||||
const TCollection_ExtendedString& theLabelString,
|
||||
const Standard_Real theLabelWidth,
|
||||
const Standard_Integer theMode,
|
||||
const Standard_Integer theLabelPosition);
|
||||
|
||||
//! Performs computing of linear dimension (for length, diameter, radius and so on)
|
||||
Standard_EXPORT void drawLinearDimension (const Handle(Prs3d_Presentation)& thePresentation,
|
||||
const AIS_DimensionDisplayMode theMode,
|
||||
const Standard_Boolean isOneSideDimension = Standard_False);
|
||||
//! Performs computing of linear dimension (for length, diameter, radius and so on).
|
||||
//! Please note that this method uses base dimension properties, like working plane
|
||||
//! flyout length, drawer attributes.
|
||||
//! @param thePresentation [in] the presentation to fill with primitives.
|
||||
//! @param theMode [in] the presentation compute mode.
|
||||
//! @param theFirstPoint [in] the first attach point of linear dimension.
|
||||
//! @param theSecondPoint [in] the second attach point of linear dimension.
|
||||
//! @param theIsOneSide [in] specifies whether the dimension has only one flyout line.
|
||||
Standard_EXPORT void DrawLinearDimension (const Handle(Prs3d_Presentation)& thePresentation,
|
||||
const Standard_Integer theMode,
|
||||
const gp_Pnt& theFirstPoint,
|
||||
const gp_Pnt& theSecondPoint,
|
||||
const Standard_Boolean theIsOneSide = Standard_False);
|
||||
|
||||
//! If it's possible computes circle from planar face
|
||||
Standard_EXPORT Standard_Boolean circleFromPlanarFace (const TopoDS_Face& theFace,
|
||||
//! Compute selection sensitives for linear dimension flyout lines (length, diameter, radius).
|
||||
//! Please note that this method uses base dimension properties: working plane and flyout length.
|
||||
//! @param theSelection [in] the selection structure to fill with selection primitives.
|
||||
//! @param theOwner [in] the selection entity owner.
|
||||
//! @param theFirstPoint [in] the first attach point of linear dimension.
|
||||
//! @param theSecondPoint [in] the second attach point of linear dimension.
|
||||
Standard_EXPORT void ComputeLinearFlyouts (const Handle(SelectMgr_Selection)& theSelection,
|
||||
const Handle(SelectMgr_EntityOwner)& theOwner,
|
||||
const gp_Pnt& theFirstPoint,
|
||||
const gp_Pnt& theSecondPoint);
|
||||
|
||||
//! If it is possible extracts circle from planar face.
|
||||
//! @param theFace [in] the planar face.
|
||||
//! @param theCurve [out] the circular curve.
|
||||
//! @param theFirstPoint [out] the point of the first parameter of the circlular curve.
|
||||
//! @param theSecondPoint [out] the point of the last parameter of the circlular curve.
|
||||
//! @return TRUE in case of successful circle extraction.
|
||||
Standard_EXPORT Standard_Boolean CircleFromPlanarFace (const TopoDS_Face& theFace,
|
||||
Handle(Geom_Curve)& theCurve,
|
||||
gp_Pnt & theFirstPoint,
|
||||
gp_Pnt & theLastPoint);
|
||||
gp_Pnt& theFirstPoint,
|
||||
gp_Pnt& theLastPoint);
|
||||
|
||||
//! Performs initialization of circle and points from given shape
|
||||
//! (for radius, diameter and so on)
|
||||
Standard_EXPORT Standard_Boolean initCircularDimension (const TopoDS_Shape& theShape,
|
||||
gp_Circ& theCircle,
|
||||
gp_Pnt& theMiddleArcPoint,
|
||||
gp_Pnt& theOppositeDiameterPoint);
|
||||
Standard_EXPORT Standard_Boolean isComputed() const;
|
||||
//! Performs initialization of circle and middle arc point from the passed
|
||||
//! shape which is assumed to contain circular geometry.
|
||||
//! @param theShape [in] the shape to explore.
|
||||
//! @param theCircle [out] the circle geometry.
|
||||
//! @param theMiddleArcPoint [out] the middle point of the arc.
|
||||
//! @param theIsClosed [out] returns TRUE if the geometry is closed circle.
|
||||
//! @return TRUE if the the circle is successfully got from the input shape.
|
||||
Standard_EXPORT Standard_Boolean InitCircularDimension (const TopoDS_Shape& theShape,
|
||||
gp_Circ& theCircle,
|
||||
gp_Pnt& theMiddleArcPoint,
|
||||
Standard_Boolean& theIsClosed);
|
||||
|
||||
Standard_EXPORT void setComputed (Standard_Boolean isComputed);
|
||||
protected: //! @name Behavior to implement
|
||||
|
||||
Standard_EXPORT gp_Pnt textPosition() const;
|
||||
//! Override this method to compute automatically dimension plane
|
||||
//! in which the dimension presentation is built.
|
||||
virtual void ComputePlane() { }
|
||||
|
||||
Standard_EXPORT void setTextPosition (const gp_Pnt thePosition);
|
||||
//! Override this method to check if user-defined plane
|
||||
//! is valid for the dimension geometry.
|
||||
//! @param thePlane [in] the working plane for positioning every
|
||||
//! dimension in the application.
|
||||
//! @return true is the plane is suitable for building dimension
|
||||
//! with computed dimension geometry.
|
||||
virtual Standard_Boolean CheckPlane (const gp_Pln& /*thePlane*/) const { return Standard_True; }
|
||||
|
||||
Standard_EXPORT void resetGeom();
|
||||
|
||||
//! Fills sensitive entity for flyouts and adds it to the selection.
|
||||
Standard_EXPORT virtual void computeFlyoutSelection (const Handle(SelectMgr_Selection)& theSelection,
|
||||
const Handle(AIS_DimensionOwner)& theOwner);
|
||||
|
||||
protected: //! @name Working plane properties
|
||||
|
||||
//! Dimension default plane
|
||||
gp_Pln myDefaultPlane;
|
||||
|
||||
//! Shows if working plane is set custom
|
||||
Standard_Boolean myIsWorkingPlaneCustom;
|
||||
|
||||
protected: //! @name Value properties
|
||||
|
||||
//! Dimension value which is displayed with dimension lines
|
||||
Standard_Real myValue;
|
||||
|
||||
//! Shows if the value is set by user and is no need to count it automatically
|
||||
Standard_Boolean myIsValueCustom;
|
||||
|
||||
protected: // !@name Units properties
|
||||
|
||||
//! The quantity of units for the value computation
|
||||
TCollection_AsciiString myUnitsQuantity;
|
||||
|
||||
//! Units of the model
|
||||
TCollection_AsciiString myModelUnits;
|
||||
|
||||
//! Units in which the displayed value will be converted
|
||||
TCollection_AsciiString myDisplayUnits;
|
||||
|
||||
//! Determines if units is to be displayed along with the value
|
||||
Standard_Boolean myToDisplayUnits;
|
||||
|
||||
//! Special symbol for some kind of dimensions (for diameter, radius and so on)
|
||||
Standard_ExtCharacter mySpecialSymbol;
|
||||
|
||||
//! Special symbol display options
|
||||
AIS_DisplaySpecialSymbol myDisplaySpecialSymbol;
|
||||
|
||||
protected: //! @name Geometry properties
|
||||
|
||||
//! Geometry of dimensions, needs for advanced selection
|
||||
//! Geometry is computed in Compute() method and is used
|
||||
//! in ComputeSelection() method.
|
||||
//! If it is computed successfully, myIsComputed = Standard_True.
|
||||
//! to check computing result use IsComputed() method
|
||||
struct DimensionGeom
|
||||
//! Override this method to computed value of dimension.
|
||||
//! @return value from the measured geometry.
|
||||
virtual Standard_Real ComputeValue() const
|
||||
{
|
||||
//! Text position
|
||||
gp_Pnt myTextPosition;
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
//! Text bounding box, stored for advanced selection
|
||||
Bnd_Box myTextBndBox;
|
||||
//! Override this method to compute selection primitives for
|
||||
//! flyout lines (if the dimension provides it).
|
||||
//! This callback is a only a part of base selection
|
||||
//! computation routine.
|
||||
virtual void ComputeFlyoutSelection (const Handle(SelectMgr_Selection)&,
|
||||
const Handle(SelectMgr_EntityOwner)&) {}
|
||||
|
||||
//! Sensitive point tolerance for 2d text selection
|
||||
Standard_Real mySelToleranceForText2d;
|
||||
//! Produce points for triangular arrow face.
|
||||
//! @param thePeakPnt [in] the arrow peak position.
|
||||
//! @param theDirection [in] the arrow direction.
|
||||
//! @param thePlane [in] the face plane.
|
||||
//! @param theArrowLength [in] the length of arrow.
|
||||
//! @param theArrowAngle [in] the angle of arrow.
|
||||
//! @param thePeakPnt [in] the arrow peak point.
|
||||
//! @param theSidePnt1 [in] the first side point.
|
||||
//! @param theSidePnt2 [in] the second side point.
|
||||
Standard_EXPORT void PointsForArrow (const gp_Pnt& thePeakPnt,
|
||||
const gp_Dir& theDirection,
|
||||
const gp_Dir& thePlane,
|
||||
const Standard_Real theArrowLength,
|
||||
const Standard_Real theArrowAngle,
|
||||
gp_Pnt& theSidePnt1,
|
||||
gp_Pnt& theSidePnt2);
|
||||
|
||||
//! For advanced dimension line selection
|
||||
Select3D_ListOfSensitive mySensitiveSegments;
|
||||
//! Base procedure of computing selection (based on selection geometry data).
|
||||
//! @param theSelection [in] the selection structure to will with primitives.
|
||||
//! @param theMode [in] the selection mode.
|
||||
Standard_EXPORT virtual void ComputeSelection (const Handle(SelectMgr_Selection)& theSelection,
|
||||
const Standard_Integer theMode);
|
||||
|
||||
//! Shows if attachment points were computed
|
||||
Standard_Boolean myIsComputed;
|
||||
protected: //! @name Selection geometry
|
||||
|
||||
//! Selection geometry of dimension presentation. The structure is filled with data
|
||||
//! during compute of presentation, then this data is used to generate selection
|
||||
//! sensitives when computing selection.
|
||||
struct SelectionGeometry
|
||||
{
|
||||
//! Arrows are represented by directed triangles.
|
||||
struct Arrow
|
||||
{
|
||||
gp_Pnt Position;
|
||||
gp_Dir Direction;
|
||||
};
|
||||
typedef NCollection_Sequence<gp_Pnt> Curve;
|
||||
typedef NCollection_Handle<Curve> HCurve;
|
||||
typedef NCollection_Handle<Arrow> HArrow;
|
||||
typedef NCollection_Sequence<HCurve> SeqOfCurves;
|
||||
typedef NCollection_Sequence<HArrow> SeqOfArrows;
|
||||
|
||||
gp_Pnt TextPos; //!< Center of text label.
|
||||
gp_Dir TextDir; //!< Direction of text label.
|
||||
Standard_Real TextWidth; //!< Width of text label.
|
||||
Standard_Real TextHeight; //!< Height of text label.
|
||||
SeqOfCurves DimensionLine; //!< Sequence of points for composing the segments of dimension line.
|
||||
SeqOfArrows Arrows; //!< Sequence of arrow geometries.
|
||||
|
||||
public:
|
||||
|
||||
DimensionGeom () : myIsComputed (Standard_False) {}
|
||||
};
|
||||
//! Clear geometry of sensitives for the specified compute mode.
|
||||
//! @param theMode [in] the compute mode to clear.
|
||||
void Clear (const Standard_Integer theMode)
|
||||
{
|
||||
if (theMode == ComputeMode_All || theMode == ComputeMode_Line)
|
||||
{
|
||||
DimensionLine.Clear();
|
||||
Arrows.Clear();
|
||||
}
|
||||
|
||||
//! Shows if text is inverted
|
||||
Standard_Boolean myIsTextReversed;
|
||||
if (theMode == ComputeMode_All || theMode == ComputeMode_Text)
|
||||
{
|
||||
TextPos = gp::Origin();
|
||||
TextDir = gp::DX();
|
||||
TextWidth = 0.0;
|
||||
TextHeight = 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
//! Points that are base for dimension.
|
||||
//! My first point of dimension attach (belongs to shape for which dimension is computed)
|
||||
gp_Pnt myFirstPoint;
|
||||
//! Add new curve entry and return the referenece to populate it.
|
||||
Curve& NewCurve()
|
||||
{
|
||||
DimensionLine.Append( new Curve );
|
||||
HCurve& aLastCurve = DimensionLine.ChangeLast();
|
||||
return *aLastCurve;
|
||||
}
|
||||
|
||||
//! My second point of dimension attach (belongs to shape for which dimension is computed)
|
||||
gp_Pnt mySecondPoint;
|
||||
//! Add new arrow entry and return the referenece to populate it.
|
||||
Arrow& NewArrow()
|
||||
{
|
||||
Arrows.Append( new Arrow );
|
||||
HArrow& aLastArrow = Arrows.ChangeLast();
|
||||
return *aLastArrow;
|
||||
}
|
||||
} mySelectionGeom;
|
||||
|
||||
//! Shows if attach points are initialized correctly
|
||||
Standard_Boolean myIsInitialized;
|
||||
Standard_Real mySelToleranceForText2d; //!< Sensitive point tolerance for 2d text selection.
|
||||
Standard_Boolean myIsComputed; //!< Shows if the presentation and selection was computed.
|
||||
|
||||
//! First shape (can be vertex, edge or face)
|
||||
TopoDS_Shape myFirstShape;
|
||||
protected: //! @name Value properties
|
||||
|
||||
//! Second shape (can be vertex, edge or face)
|
||||
TopoDS_Shape mySecondShape;
|
||||
Standard_Real myCustomValue; //!< Value of the dimension (computed or user-defined).
|
||||
Standard_Boolean myIsValueCustom; //!< Is user-defined value.
|
||||
|
||||
//! Number of shapes
|
||||
Standard_Integer myShapesNumber;
|
||||
protected: //! @name Units properties
|
||||
|
||||
//! Defines flyout lines and direction
|
||||
//! Flyout direction in the working plane.
|
||||
//! Can be negative, or positive and is defined by the sign of myFlyout value.
|
||||
//! The direction vector is counting using the working plane.
|
||||
//! myFlyout value defined the size of flyout.
|
||||
Standard_Real myFlyout;
|
||||
Standard_ExtCharacter mySpecialSymbol; //!< Special symbol.
|
||||
AIS_DisplaySpecialSymbol myDisplaySpecialSymbol; //!< Special symbol display options.
|
||||
|
||||
//! Geometry of dimensions, needs for advanced selection
|
||||
//! Geometry is computed in Compute() method and is used
|
||||
//! in ComputeSelection() method.
|
||||
//! If it is computed successfully, myIsComputed = Standard_True.
|
||||
//! to check computing result use IsComputed() method
|
||||
DimensionGeom myGeom;
|
||||
protected: //! @name Geometrical properties
|
||||
|
||||
GeometryType myGeometryType; //!< defines type of shapes on which the dimension is to be built.
|
||||
|
||||
gp_Pln myPlane; //!< Plane where dimension will be built (computed or user defined).
|
||||
Standard_Boolean myIsPlaneCustom; //!< Is plane defined by user (otherwise it will be computed automatically).
|
||||
Standard_Real myFlyout; //!< Flyout distance.
|
||||
Standard_Boolean myIsValid; //!< Is dimension geometry properly defined.
|
||||
|
||||
private:
|
||||
|
||||
//! Type of dimension
|
||||
AIS_KindOfDimension myKindOfDimension;
|
||||
|
||||
//! Dimension working plane, is equal to <myDefaultPlane> if it can be computed automatically.
|
||||
gp_Pln myWorkingPlane;
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif // _AIS_Dimension_HeaderFile
|
||||
|
44
src/AIS/AIS_DimensionOwner.cdl
Executable file → Normal file
44
src/AIS/AIS_DimensionOwner.cdl
Executable file → Normal file
@@ -1,23 +1,18 @@
|
||||
-- Created on: 1996-12-05
|
||||
-- Created by: Odile Olivier
|
||||
-- Copyright (c) 1996-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2012 OPEN CASCADE SAS
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- The content of this file is subject to the Open CASCADE Technology Public
|
||||
-- License Version 6.5 (the "License"). You may not use the content of this file
|
||||
-- except in compliance with the License. Please obtain a copy of the License
|
||||
-- at http://www.opencascade.org and read it completely before using this file.
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
|
||||
-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
|
||||
-- This library is free software; you can redistribute it and / or modify it
|
||||
-- under the terms of the GNU Lesser General Public 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.
|
||||
--
|
||||
-- The Original Code and all software distributed under the License is
|
||||
-- distributed on an "AS IS" basis, without warranty of any kind, and the
|
||||
-- Initial Developer hereby disclaims all such warranties, including without
|
||||
-- limitation, any warranties of merchantability, fitness for a particular
|
||||
-- purpose or non-infringement. Please see the License for the specific terms
|
||||
-- and conditions governing the rights and limitations under the License.
|
||||
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class DimensionOwner from AIS inherits EntityOwner from SelectMgr
|
||||
|
||||
@@ -35,26 +30,24 @@ class DimensionOwner from AIS inherits EntityOwner from SelectMgr
|
||||
|
||||
uses
|
||||
|
||||
SelectableObject from SelectMgr,
|
||||
PresentationManager from PrsMgr,
|
||||
PresentationManager3d from PrsMgr,
|
||||
NameOfColor from Quantity,
|
||||
DimensionDisplayMode from AIS
|
||||
SelectableObject from SelectMgr,
|
||||
PresentationManager from PrsMgr,
|
||||
PresentationManager3d from PrsMgr,
|
||||
NameOfColor from Quantity,
|
||||
DimensionSelectionMode from AIS
|
||||
|
||||
is
|
||||
|
||||
Create (theSelObject : SelectableObject;
|
||||
theDisplayMode : DimensionDisplayMode from AIS;
|
||||
theSelMode : DimensionSelectionMode from AIS;
|
||||
thePriority : Integer from Standard = 0)
|
||||
returns mutable DimensionOwner from AIS;
|
||||
---Purpose:
|
||||
-- Initializes the dimension owner, theSO, and attributes it
|
||||
-- the priority, thePriority.
|
||||
|
||||
SetDisplayMode (me : mutable; theMode : DimensionDisplayMode from AIS);
|
||||
|
||||
DisplayMode (me)
|
||||
returns DimensionDisplayMode from AIS;
|
||||
SelectionMode (me)
|
||||
returns DimensionSelectionMode from AIS;
|
||||
|
||||
HilightWithColor (me : mutable;
|
||||
thePM : PresentationManager3d from PrsMgr;
|
||||
@@ -77,8 +70,9 @@ is
|
||||
thePM : PresentationManager from PrsMgr;
|
||||
theMode : Integer from Standard =0) is redefined virtual;
|
||||
---Purpose: Removes highlighting from the selected part of dimension.
|
||||
|
||||
fields
|
||||
|
||||
myDisplayMode : DimensionDisplayMode from AIS;
|
||||
mySelectionMode : DimensionSelectionMode from AIS;
|
||||
|
||||
end DimensionOwner;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user