CFx SDK Documentation
2026 SP0
Loading...
Searching...
No Matches
SDK
CFx
dd_inc
Gs
GsRayTraceReactor.h
Go to the documentation of this file.
1
2
// Copyright (C) 2002-2024, Open Design Alliance (the "Alliance").
3
// All rights reserved.
4
//
5
// This software and its documentation and related materials are owned by
6
// the Alliance. The software may only be incorporated into application
7
// programs owned by members of the Alliance, subject to a signed
8
// Membership Agreement and Supplemental Software License Agreement with the
9
// Alliance. The structure and organization of this software are the valuable
10
// trade secrets of the Alliance and its suppliers. The software is also
11
// protected by copyright law and international treaty provisions. Application
12
// programs incorporating this software must include the following statement
13
// with their copyright notices:
14
//
15
// This application incorporates Open Design Alliance software pursuant to a license
16
// agreement with Open Design Alliance.
17
// Open Design Alliance Copyright (C) 2002-2024 by Open Design Alliance.
18
// All rights reserved.
19
//
20
// By use of this software, its documentation or related materials, you
21
// acknowledge and accept the above terms.
23
24
#ifndef __ODGSRAYTRACEREACTOR_H_INCLUDED_
25
#define __ODGSRAYTRACEREACTOR_H_INCLUDED_
26
27
#include "
TD_PackPush.h
"
28
29
class
OdGePoint3d
;
30
class
OdGeVector3d
;
31
class
OdGiViewport
;
32
class
OdGiPathNode
;
33
46
class
OdGsRayTraceReactor
47
{
48
public
:
54
struct
TraceResult
55
{
56
const
OdGePoint3d
&
m_origin
;
// Ray origin / intersection point.
57
const
OdGeVector3d
&
m_direction
;
// Ray direction / intersection normal.
58
65
TraceResult
(
const
OdGePoint3d
&origin,
const
OdGeVector3d
&direction)
66
:
m_origin
(origin),
m_direction
(direction) { }
67
74
const
OdGePoint3d
&
point
()
const
{
return
m_origin
; }
75
82
const
OdGeVector3d
&
normal
()
const
{
return
m_direction
; }
83
};
84
85
enum
86
{
87
kContinue
= 0,
// Continue ray tracing operation.
88
kBreak
= 1
// Break ray tracing operation.
89
};
90
102
virtual
OdUInt32
rayIntersection
(
const
OdGiPathNode
&pathNode,
const
TraceResult
&intResult,
103
const
TraceResult
&ray,
const
OdGiViewport
&viewInfo) = 0;
104
108
virtual
~OdGsRayTraceReactor
() {}
109
};
110
111
#include "
TD_PackPop.h
"
112
113
#endif
// __ODGSRAYTRACEREACTOR_H_INCLUDED_
OdUInt32
unsigned int OdUInt32
Definition
OdPlatformSettings.h:768
TD_PackPop.h
TD_PackPush.h
OdGePoint3d
Definition
GePoint3d.h:57
OdGeVector3d
Definition
GeVector3d.h:55
OdGiPathNode
Definition
GiPathNode.h:40
OdGiViewport
Definition
GiViewport.h:51
OdGsRayTraceReactor
Definition
GsRayTraceReactor.h:47
OdGsRayTraceReactor::~OdGsRayTraceReactor
virtual ~OdGsRayTraceReactor()
Definition
GsRayTraceReactor.h:108
OdGsRayTraceReactor::kBreak
@ kBreak
Definition
GsRayTraceReactor.h:88
OdGsRayTraceReactor::kContinue
@ kContinue
Definition
GsRayTraceReactor.h:87
OdGsRayTraceReactor::rayIntersection
virtual OdUInt32 rayIntersection(const OdGiPathNode &pathNode, const TraceResult &intResult, const TraceResult &ray, const OdGiViewport &viewInfo)=0
OdGsRayTraceReactor::TraceResult
Definition
GsRayTraceReactor.h:55
OdGsRayTraceReactor::TraceResult::m_origin
const OdGePoint3d & m_origin
Definition
GsRayTraceReactor.h:56
OdGsRayTraceReactor::TraceResult::TraceResult
TraceResult(const OdGePoint3d &origin, const OdGeVector3d &direction)
Definition
GsRayTraceReactor.h:65
OdGsRayTraceReactor::TraceResult::m_direction
const OdGeVector3d & m_direction
Definition
GsRayTraceReactor.h:57
OdGsRayTraceReactor::TraceResult::normal
const OdGeVector3d & normal() const
Definition
GsRayTraceReactor.h:82
OdGsRayTraceReactor::TraceResult::point
const OdGePoint3d & point() const
Definition
GsRayTraceReactor.h:74
Generated on Tue Apr 15 2025 11:30:03